:root{--crema: #faf5ec;--crema-2: #fffdf8;--cacao: #3b2f25;--cacao-soft: rgba(59, 47, 37, .72);--salvia: #a9b48f;--oliva: #6b7547;--durazno: #f4c7a8;--coral: #e7896a;--line: rgba(59, 47, 37, .14);--font-display: "Bricolage Grotesque", "Arial Narrow", sans-serif;--font-text: "Figtree", "Segoe UI", sans-serif;--radius: 28px;--space: 1.25rem;color:var(--cacao);background:var(--crema);font-family:var(--font-text);font-size:17px;line-height:1.5}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--crema);color:var(--cacao)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,.display{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:.96;margin:0}p{margin:0}.skip{position:absolute;left:1rem;top:-4rem;background:var(--cacao);color:var(--crema);padding:.6rem .9rem;border-radius:999px;z-index:5}.skip:focus{top:1rem}:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;padding:.7rem 1.2rem;border-radius:999px;border:1.5px solid transparent;background:var(--coral);color:var(--cacao);text-decoration:none;font-weight:650;cursor:pointer}.btn.ghost{background:transparent;border-color:var(--cacao)}.btn.cacao{background:var(--cacao);color:var(--crema)}.btn.oliva{background:var(--oliva);color:var(--crema)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.small{min-height:40px;padding:.4rem .9rem;font-size:.92rem}.field{display:grid;gap:.4rem}.field span,.field-label{font-weight:650;font-size:.92rem}.field small,.hint{color:var(--cacao-soft);font-size:.88rem}input[type=text],input[type=email],input[type=number],input[type=url],input[type=search],textarea,select{width:100%;border:1.5px solid var(--line);background:var(--crema-2);border-radius:16px;padding:.8rem .9rem;min-height:48px}textarea{min-height:120px;resize:vertical}.card{background:var(--crema-2);border:1px solid var(--line);border-radius:var(--radius)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .7rem;background:var(--durazno);color:var(--cacao);font-size:.82rem;font-weight:650}.pill.salvia{background:var(--salvia)}.pill.oliva{background:var(--oliva);color:var(--crema)}.brand-lockup{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none}.brand-lockup img{width:auto;height:42px}.brand-lockup strong{display:block;font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.03em}.brand-lockup small{display:block;color:var(--cacao-soft);font-size:.78rem}.speed{display:grid;gap:7px;justify-items:end}.speed i{display:block;height:10px;border-radius:999px;background:var(--coral)}.speed i:nth-child(1){width:34px}.speed i:nth-child(2){width:56px}.speed i:nth-child(3){width:26px}.error{color:#7a3418;background:#f8d7c8;border-radius:16px;padding:.75rem .9rem}.banner{background:var(--durazno);border-radius:16px;padding:.75rem .9rem}.stack{display:grid;gap:.9rem}.app-shell,.admin-shell,.auth-screen{min-height:100vh}.topbar,.tabbar,.admin-nav{display:flex;align-items:center}.topbar{justify-content:space-between;gap:1rem;padding:1rem 1.1rem .4rem}.topbar-side{display:flex;align-items:center;gap:.6rem;font-size:.92rem}.app-main{padding:.6rem 1.1rem 6.5rem;max-width:880px}.admin-main{padding-bottom:2rem}.tabbar{position:fixed;left:0;right:0;bottom:0;justify-content:space-around;background:var(--crema);border-top:1px solid var(--line);padding:.4rem .6rem calc(.4rem + env(safe-area-inset-bottom))}.tabbar a,.admin-nav a{text-decoration:none;font-weight:650;padding:.7rem .9rem;border-radius:999px}.tabbar a.active,.admin-nav a.active{background:var(--coral)}.page-head h1,.narrow h1,.auth-card h1,.empty-state h1{font-size:clamp(2.4rem,8vw,4.4rem);margin-top:.3rem}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--oliva)}.auth-screen{display:grid;align-content:start;gap:1.4rem;padding:1.4rem 1.1rem 3rem;max-width:560px;margin:0 auto}.auth-card,.exercise-card,.student-card,.builder-item,.stat{padding:1rem}.exercise-card,.stat{border-radius:32px 32px 32px 12px}.exercise-top,.row-between,.row-actions,.install,.install-actions,.inline-form{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.exercise-top h2{font-size:1.7rem}.meta,.hint,.credit,.admin-who{color:var(--cacao-soft);font-size:.92rem}.video-frame{position:relative;aspect-ratio:16 / 9;border-radius:22px;overflow:hidden;background:var(--cacao)}.video-frame iframe,.video-file{width:100%;height:100%;border:0;border-radius:22px;background:var(--cacao)}.video-empty{background:var(--durazno);border-radius:22px;padding:1.2rem}.prescription,.prescription-edit,.stat-grid,.answers,.student-list{display:grid;gap:.7rem}.prescription,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prescription div,.stat,.answers div{background:var(--crema);border-radius:18px;padding:.7rem .8rem}.stat{background:var(--coral);min-height:140px;display:grid;align-content:end}.stat.salvia{background:var(--salvia)}.stat strong{font-family:var(--font-display);font-size:4rem;letter-spacing:-.05em;line-height:.9}.day-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.day-chip{border:1px solid var(--line);background:transparent;border-radius:999px;min-height:42px;padding:.4rem .9rem;cursor:pointer}.day-chip.on{background:var(--cacao);color:var(--crema);border-color:var(--cacao)}.choice-set{border:1px solid var(--line);border-radius:22px;display:grid;gap:.45rem;padding:.8rem}.choice-set label,.picker-list button,.student-card{display:flex;gap:.55rem;align-items:center}.student-list{grid-template-columns:1fr}.student-card{flex-direction:column;align-items:flex-start;text-decoration:none;background:var(--crema-2);border:1px solid var(--line);border-radius:24px}.admin-shell{display:block}.admin-nav{background:var(--cacao);color:var(--crema);gap:.35rem;padding:1rem;flex-wrap:wrap}.admin-nav a{color:var(--crema)}.admin-nav .btn.ghost{border-color:var(--crema);color:var(--crema)}.builder-grid{display:grid;gap:1rem}.builder-item,.sort-chip{display:flex;gap:.7rem;align-items:flex-start;background:var(--crema-2);border:1px solid var(--line);border-radius:22px;padding:.8rem}.handle{border:0;background:var(--durazno);border-radius:12px;min-width:42px;min-height:42px;cursor:grab}.prescription-edit{grid-template-columns:repeat(2,minmax(0,1fr))}.prescription-edit input{min-height:42px}.library-picker{background:var(--salvia);border-radius:28px;padding:.9rem}.picker-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;max-height:420px;overflow:auto}.picker-list button{width:100%;text-align:left;border:0;background:var(--crema);border-radius:16px;padding:.7rem;flex-direction:column;align-items:flex-start;cursor:pointer}.install{position:fixed;left:.8rem;right:.8rem;bottom:4.8rem;background:var(--cacao);color:var(--crema);border-radius:22px;padding:.9rem;z-index:3}.install .btn.ghost{border-color:var(--crema);color:var(--crema)}.narrow{max-width:640px;margin:0 auto;padding:1.2rem 1.1rem 3rem}code{font-size:.92em}@media(min-width:900px){.app-main{padding:1.2rem 2rem 6rem;margin:0 auto}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-nav{flex-direction:column;align-items:stretch;position:sticky;top:0;height:100vh}.builder-grid,.student-list,.prescription{grid-template-columns:1.4fr .8fr}.prescription{grid-template-columns:repeat(4,minmax(0,1fr))}.student-list{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr;max-width:640px}}
