:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1020;--panel:#0f172acc;--text:#f1f5f9;--accent:#38bdf8;--good:#4ade80;--warn:#facc15;--bad:#f87171;background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button{font:inherit;min-height:56px;color:var(--text);background:#1e293b;border:2px solid #334155;border-radius:14px;padding:0 1.25rem;font-size:1.1rem}button.on{border-color:var(--accent);background:#0c4a6e}button.primary{background:var(--accent);color:#0b1020;border:none;font-weight:700}.menu{padding:2rem max(2rem, env(safe-area-inset-left));max-width:900px;height:100%;margin:0 auto;overflow-y:auto}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.row{flex-wrap:wrap;gap:.75rem;display:flex}.spike,.stage{position:fixed;inset:0}.stage video,.stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.mirror{transform:scaleX(-1)}.hud{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));background:var(--panel);border-radius:16px;flex-direction:column;gap:.75rem;width:min(320px,40vw);padding:1rem;display:flex;position:fixed}.hud p{margin:0}.hud dl{grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;display:grid}.hud dt{opacity:.7}.hud dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.big{font-size:2rem}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.back{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));z-index:25;position:fixed}.eye .preview{border-radius:12px;width:200px;height:150px;position:fixed;bottom:1rem;left:1rem;overflow:hidden}.eye .preview video{object-fit:cover;width:100%;height:100%}.dot{background:var(--accent);width:48px;height:48px;box-shadow:0 0 24px var(--accent);border-radius:50%;position:fixed;top:0;left:0}.dot.moved{background:var(--warn);box-shadow:0 0 24px var(--warn)}.log{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;max-width:min(640px,90vw);position:fixed}.log-toggle{min-height:44px;font-size:.95rem}.log-toggle.has-errors{border-color:var(--bad);color:var(--bad)}.log ol{background:var(--panel);-webkit-user-select:text;user-select:text;border-radius:12px;max-height:40vh;margin:.5rem 0 0;padding:.75rem 1rem .75rem 2rem;font-size:.85rem;overflow-y:auto}.eye .log{left:auto;right:max(1rem, env(safe-area-inset-right))}:root{--panel-solid:#111a33;--muted:#94a3b8;--radius:20px;--font-display:ui-rounded, "SF Pro Rounded", system-ui, sans-serif}h1,h2,h3,.score,.big-number,.ring span{font-family:var(--font-display);letter-spacing:-.01em}h1{margin:.25rem 0 .75rem;font-size:2.4rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0;font-size:.8rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.85rem}button:disabled{opacity:.45}button.big{min-height:68px;padding:0 2rem;font-size:1.3rem}.page{height:100%;padding:max(1.5rem, env(safe-area-inset-top)) max(2rem, env(safe-area-inset-right)) 3rem max(2rem, env(safe-area-inset-left));max-width:1100px;margin:0 auto;overflow-y:auto}.page>.back{margin-bottom:1rem;position:static}.home-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hero-card{border-radius:var(--radius);background:linear-gradient(135deg,#0c4a6e,#312e81);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin:1rem 0 2rem;padding:1.5rem 2rem;display:flex;box-shadow:0 10px 40px #38bdf826}.hero-card h2{margin:.25rem 0;font-size:1.8rem}.hero-card p{margin:0}.categories{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.category{flex-direction:column;gap:.75rem;display:flex}.category h3{color:var(--muted);margin:0;font-size:1.05rem}.exercise-card{text-align:left;background:var(--panel-solid);border-radius:16px;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:84px;padding:.9rem 1.2rem;display:flex}.exercise-card strong{font-size:1.2rem}.exercise-card span{color:var(--muted);font-size:.95rem}.cat-balance .exercise-card:not(:disabled){border-color:#22d3ee}.cat-crossMiddle .exercise-card:not(:disabled){border-color:#a78bfa}.cat-eyesHands .exercise-card:not(:disabled){border-color:#f472b6}.cat-memory .exercise-card:not(:disabled){border-color:#38bdf8}.cat-reflexes .exercise-card:not(:disabled){border-color:#fb7185}.cat-rhythm .exercise-card:not(:disabled){border-color:#facc15}.cat-stopThink .exercise-card:not(:disabled){border-color:#f87171}.cat-calm .exercise-card:not(:disabled){border-color:#4ade80}.first-run section{flex-direction:column;align-items:flex-start;gap:1rem;max-width:640px;font-size:1.15rem;display:flex}.steps{gap:.5rem;margin-bottom:1.5rem;display:flex}.steps i{background:#334155;border-radius:3px;width:48px;height:6px}.steps i.on{background:var(--accent)}.promise{background:#4ade801a;border:2px solid #4ade8066;border-radius:16px;padding:1rem 1.25rem}.promise p{margin:.25rem 0 0}.check{align-items:center;gap:.75rem;min-height:56px;font-size:1.2rem;display:flex}.check input{width:32px;height:32px}.setup-list li{margin-bottom:.5rem}input.text{font:inherit;min-height:56px;color:var(--text);background:#1e293b;border:2px solid #334155;border-radius:14px;width:min(100%,420px);padding:0 1rem;font-size:1.2rem}.settings section{max-width:640px;margin-bottom:2rem}.field{flex-direction:column;gap:.5rem;margin-bottom:1rem;font-weight:600;display:flex}.field.toggle{flex-direction:row;justify-content:space-between;align-items:center;min-height:56px}.field.toggle input{width:32px;height:32px}.field input[type=range]{width:100%;height:44px}.pose-camera{position:fixed;inset:0}.side-panel{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.9rem;width:min(380px,42vw);padding:1.5rem;display:flex;position:fixed;overflow-y:auto}.side-panel h1,.side-panel h2,.side-panel p{margin:0}.side-panel .cue{min-height:3.75em;font-size:1.5rem;line-height:1.25}.side-panel>button:last-child{margin-top:auto}.center-card{border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;flex-direction:column;align-items:center;gap:1rem;width:min(560px,90vw);padding:2rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.center-card h2{margin:0}.frame-guide{border:4px dashed var(--accent);opacity:.8;border-radius:45px 45px 12px 12px;width:90px;height:150px}.bar{background:#334155;border-radius:6px;width:100%;height:12px;overflow:hidden}.bar>div{background:var(--good);height:100%;transition:width .1s linear}.big-number{font-size:4rem;font-weight:800}.prompt{font-weight:700}.moves{color:var(--muted);margin:0;padding-left:1.25rem}.moves .current{color:var(--text);font-weight:700}.moves .done{text-decoration:line-through}.intro-demo{align-items:center;gap:1rem;display:flex}.intro-demo .cartoon-demo{flex-shrink:0;width:150px;height:240px}.cartoon-demo{display:block}.intro-demo ol{margin:0;padding-left:1.25rem}.level-picker{flex-direction:column;gap:.4rem;display:flex}.level-picker button{min-width:56px;padding:0}.level-picker small{color:var(--muted)}.beat-picker button{padding:0 1rem}.ring{--p:0;background:conic-gradient(var(--good) calc(var(--p) * 360deg), #334155 0);border-radius:50%;flex-direction:column;justify-content:center;align-self:center;align-items:center;width:180px;height:180px;display:flex;position:relative}.ring:before{content:"";background:var(--panel-solid);border-radius:50%;position:absolute;inset:14px}.ring span,.ring small{position:relative}.ring span{font-size:2.6rem;font-weight:800;line-height:1}.ring small{color:var(--muted)}.legs{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.leg-chip{background:#1e293b;border:2px solid #0000;border-radius:14px;flex-direction:column;padding:.6rem .9rem;display:flex}.leg-chip.active{border-color:var(--good)}.leg-chip.done{border-color:#334155}.leg-chip strong{font-size:1.3rem}.ghost-card{left:max(1rem, env(safe-area-inset-left));bottom:max(5rem, env(safe-area-inset-bottom));background:var(--panel);border-radius:16px;width:150px;padding:.5rem;position:fixed}.ghost-card .cartoon-demo{width:100%;height:220px}.result .score{font-size:5rem;font-weight:800;line-height:1}.breakdown{grid-template-columns:auto auto;gap:.25rem 1.5rem;margin:0;display:grid}.breakdown dt{color:var(--muted);text-align:right}.breakdown dd{text-align:left;margin:0;font-weight:700}.suggestion{background:#38bdf81f;border-radius:16px;width:100%;padding:1rem}.suggestion p{margin:0 0 .75rem;font-weight:600}.suggestion .row,.result>.row{justify-content:center}.confetti{pointer-events:none;position:fixed;inset:-20vh 0 0;overflow:hidden}.confetti i{border-radius:2px;width:10px;height:16px;animation:2.4s ease-in forwards confetti;position:absolute;top:0}@keyframes confetti{to{opacity:.6;transform:translateY(130vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.far{font-size:1.5rem}.far .eyebrow{font-size:1.1rem}.far h2,.far .cue{font-size:2.8rem;font-weight:800;line-height:1.1}.side-panel.far{gap:1.25rem;width:min(460px,44vw)}.side-panel.far .cue{min-height:2.3em}.far .ring{width:min(300px,32vw);height:min(300px,32vw)}.far .ring:before{inset:20px}.far .ring span{font-size:5.5rem}.far .ring small{font-size:1.3rem}.far .leg-chip{padding:.75rem 1rem;font-size:1.5rem;font-weight:700}.far .leg-chip strong{font-size:2.2rem}.far .leg-chip.active{background:#4ade8033;border-width:4px}.far .prompt{font-size:2rem}.far .big-number{font-size:8rem;line-height:1}.far .moves{font-size:1.5rem}.center-card.far{width:min(720px,92vw)}.center-card.far .frame-guide{width:120px;height:200px}.center-card.far .bar{border-radius:10px;height:20px}.result.far .score{font-size:9rem}.result.far .eyebrow{font-size:1.6rem}.result.far .breakdown{font-size:1.8rem}.result.far p{font-size:1.4rem}.voice-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.voice-list button{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;padding:.5rem 1rem;display:flex}.voice-list small{color:var(--muted);font-size:.85rem;font-weight:400}.breakdown-row{display:contents}.counter{flex-direction:column;align-items:center;line-height:1;display:flex}.counter span{font-family:var(--font-display);font-size:7rem;font-weight:800}.counter small{color:var(--muted);font-size:1.4rem}.time-bar{background:#334155;border-radius:22px;height:44px;position:relative;overflow:hidden}.time-bar>div{background:var(--accent);height:100%;transition:width .2s linear}.time-bar span{place-items:center;font-size:1.5rem;font-weight:800;display:grid;position:absolute;inset:0}.beat{align-items:center;gap:1rem;font-size:1.5rem;font-weight:700;display:flex}.beat i{background:#334155;border-radius:50%;flex-shrink:0;width:56px;height:56px;transition:background 50ms}.beat i.on{background:var(--warn);box-shadow:0 0 20px var(--warn)}.countdown{font-family:var(--font-display);color:#fff;text-shadow:0 0 40px #38bdf8cc;pointer-events:none;font-size:16rem;font-weight:900;animation:1s ease-out countdown-pop;position:fixed;top:50%;left:28%;transform:translate(-50%,-50%)}@keyframes countdown-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}30%{opacity:1}to{transform:translate(-50%,-50%)scale(1)}}.rep-flash{pointer-events:none;z-index:5;box-shadow:inset 0 0 0 28px var(--good), inset 0 0 120px 40px #4ade8080;animation:.6s ease-out forwards rep-flash;position:fixed;inset:0}@keyframes rep-flash{0%{opacity:1}to{opacity:0}}.rep-flash.warn{box-shadow:none;outline:26px dashed var(--warn);outline-offset:-26px;animation:.7s linear forwards rep-flash-warn}@keyframes rep-flash-warn{0%{opacity:1}20%{opacity:.1}40%{opacity:1}to{opacity:0}}.counts{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.counts li{text-align:center;color:var(--muted);background:#1e293b;border-radius:14px;flex:1;padding:.5rem .25rem;font-size:1.5rem;font-weight:800;transition:background 50ms}.counts li.on{background:var(--warn);color:#0b1020}.pose-camera .scene{position:fixed;inset:0}.pose-camera .scene svg{width:100%;height:100%;display:block}.pose-camera.cartoon .stage video{opacity:0}.partner,.wall-layer{pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.demo-badge{top:max(1rem, env(safe-area-inset-top));z-index:20;color:#0b1020;letter-spacing:.05em;background:#f472b6;border-radius:999px;padding:.4rem 1rem;font-weight:900;position:fixed;left:50%;transform:translate(-50%)}.cf-stars circle{animation:3s ease-in-out infinite cf-twinkle}.cf-flame{transform-box:fill-box;transform-origin:50% 100%;animation:.55s ease-in-out infinite alternate cf-flicker}.cf-f2{animation-duration:.42s;animation-delay:-.2s}.cf-f3{animation-duration:.33s;animation-delay:-.1s}.cf-glow{animation:1.2s ease-in-out infinite alternate soft-pulse}.cf-sparks circle,.lv-embers circle{opacity:0;animation:2.2s ease-out infinite rise}@keyframes cf-twinkle{0%,to{opacity:1}50%{opacity:.3}}@keyframes cf-flicker{0%{transform:scale(1)skew(-3deg)}to{transform:scale(.9,1.12)skew(3deg)}}@keyframes soft-pulse{0%{opacity:.8}to{opacity:1}}@keyframes rise{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(18px,-170px)}}.lv-pulse{animation:2.4s ease-in-out infinite alternate soft-pulse}.lv-bubbles circle{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite lv-bubble}.lv-embers circle{animation-duration:3s}.lv-smoke{animation:6s ease-in-out infinite alternate lv-smoke}@keyframes lv-bubble{0%{opacity:0;transform:scale(0)}40%{opacity:1}80%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1.4)}}@keyframes lv-smoke{0%{transform:translate(0)}to{transform:translate(-20px,-30px)}}@media (prefers-reduced-motion:reduce){.cf-stars circle,.cf-flame,.cf-glow,.cf-sparks circle,.lv-pulse,.lv-bubbles circle,.lv-embers circle,.lv-smoke{animation:none}.cf-sparks circle,.lv-embers circle{opacity:0}}.ff-neck{transform-box:fill-box;transform-origin:0 100%;animation:4.5s ease-in-out infinite ff-bob;animation-delay:var(--d,0s)}.ff-bird{transform-box:fill-box;transform-origin:50% 100%;animation:6s ease-in-out infinite ff-sway;animation-delay:var(--d,0s)}.ff-clouds{animation:24s ease-in-out infinite alternate ff-drift}@keyframes ff-bob{0%,60%,to{transform:rotate(0)}75%{transform:rotate(-14deg)}85%{transform:rotate(4deg)}}@keyframes ff-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes ff-drift{0%{transform:translate(-30px)}to{transform:translate(40px)}}@media (prefers-reduced-motion:reduce){.ff-neck,.ff-bird,.ff-clouds{animation:none}}@media (orientation:portrait){.pose-camera .stage,.pose-camera .scene{bottom:36vh}.partner,.wall-layer{height:64vh}.side-panel{width:auto;max-height:74vh;top:auto;left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right))}.side-panel.far{grid-template-columns:auto minmax(0,1fr);align-content:center;gap:0 1.75rem;width:auto;height:calc(36vh - 1.5rem);display:grid}.side-panel.far>*{grid-column:2;margin:.35rem 0}.side-panel.far>.counter,.side-panel.far>.ring,.side-panel.far>.big-number{grid-area:1/1/span 5;align-self:center}.side-panel.far .cue{min-height:0}.side-panel.far .counter span{font-size:12rem}.side-panel.far .big-number{font-size:10rem}.far .ring{width:min(260px,32vw);height:min(260px,32vw)}.center-card.ready-check{top:auto;bottom:max(1rem, env(safe-area-inset-bottom));transform:translate(-50%)}.countdown{top:32vh;left:50%}.ghost-card{bottom:auto;top:max(5rem, env(safe-area-inset-top))}}.no-camera,.no-camera .scene{position:fixed;inset:0}.touch-game{background:var(--bg);touch-action:none;flex-direction:column;display:flex;position:fixed;inset:0}.touch-hud{padding:max(1rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) .75rem 8rem;align-items:center;gap:1.25rem;display:flex}.touch-count{flex-direction:column;align-items:center;min-width:4.5rem;line-height:1;display:flex}.touch-count span{font-family:var(--font-display);font-size:3.5rem;font-weight:800}.touch-count small{color:var(--muted)}.touch-info{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.touch-info .eyebrow,.touch-info .cue{margin:0}.touch-info .cue{align-items:flex-end;height:2.4em;font-size:1.6rem;line-height:1.2;display:flex;overflow:hidden}.touch-info .time-bar{height:34px}.touch-info .time-bar span{font-size:1.1rem}.touch-area{flex:1;position:relative;overflow:hidden}.memory{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100%;padding:1rem;display:flex}.tray{background:linear-gradient(#a16207,#854d0e);border-radius:28px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.75rem;width:min(760px,94vw);padding:1.5rem;display:grid;position:relative;box-shadow:inset 0 0 0 10px #713f12,0 10px 30px #0006}.tray-spot{background:#ffffff1f;border-radius:18px;place-items:center;height:96px;font-size:3.6rem;display:grid}.tray-spot.gap{outline-offset:-8px;background:#00000040;outline:3px dashed #ffffff59}.tray-cloth{background:repeating-linear-gradient(45deg,#be123c 0 22px,#fda4af 22px 44px);border-radius:28px;animation:.5s ease-out cloth-in;position:absolute;inset:0}@keyframes cloth-in{0%{transform:translateY(-110%)}to{transform:none}}.memory-options{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.memory-option{border-width:4px;border-radius:22px;width:110px;height:110px;font-size:3.6rem}.memory-option.picked{border-color:var(--accent);background:#0c4a6e}.memory-option.right{border-color:var(--good);background:#4ade8040}.memory-option.wrong{border-color:var(--warn);border-style:dashed}.touch-demo{background:linear-gradient(#a16207,#854d0e);border-radius:20px;flex-shrink:0;grid-template-columns:1fr 1fr;place-items:center;width:150px;height:150px;font-size:2.6rem;display:grid}.trace-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.infinity-demo{background:#0f172a;padding:.5rem}.infinity-trail{stroke-dasharray:100;stroke-dashoffset:100px;animation:3s linear infinite trace-demo}@keyframes trace-demo{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.infinity-trail{stroke-dashoffset:0;animation:none}}.sort-area{touch-action:none;position:absolute;inset:0}.sweet{transform-origin:50%;border:4px solid #00000059;border-radius:50%;position:absolute;top:0;left:0;box-shadow:inset -6px -8px #0000002e,inset 6px 6px #ffffff73}.sweet.held{z-index:3;box-shadow:inset -6px -8px #0000002e,inset 6px 6px #ffffff73,0 10px 24px #00000080}.sweet-red{background:#ef4444}.sweet-blue{background:repeating-linear-gradient(90deg,#3b82f6 0 9px,#93c5fd 9px 13px)}.sweet-yellow{background:repeating-linear-gradient(45deg,#facc15 0 8px,#fef08a 8px 12px)}.sweet-green{background:radial-gradient(circle,#86efac 3px,#22c55e 4px) 0 0/12px 12px}.jar{background:#bae6fd2e;border:4px solid #bae6fd8c;border-radius:18px 18px 28px 28px;position:absolute;overflow:hidden}.jar:before{content:"";opacity:.9;height:22px;position:absolute;top:38%;left:0;right:0}.jar-red:before{background:#ef4444}.jar-blue:before{background:repeating-linear-gradient(90deg,#3b82f6 0 10px,#93c5fd 10px 14px)}.jar-yellow:before{background:repeating-linear-gradient(45deg,#facc15 0 8px,#fef08a 8px 12px)}.jar-green:before{background:radial-gradient(circle,#86efac 3px,#22c55e 4px) 0 0/12px 12px}.jar-neck{background:#bae6fd8c;border-radius:0 0 8px 8px;height:14px;position:absolute;top:0;left:50%;transform:translate(-50%)}.jar-fill{background:#ffffff2e;transition:height .2s;position:absolute;bottom:0;left:0;right:0}.sweets-demo{background:#0f172a;position:relative}.sweets-demo .sweet{width:34px;height:34px;position:absolute}.sweets-demo .sweet-red{top:18px;left:22px}.sweets-demo .sweet-blue{top:30px;left:86px}.sweets-demo .jar{width:52px;height:62px;top:78px}.sweets-demo .jar-red{left:14px}.sweets-demo .jar-blue{left:82px}.puzzle-area{touch-action:none;position:absolute;inset:0}.puzzle-board{position:absolute}.puzzle-cell{box-sizing:border-box;background:#1e293b;border:2px dashed #475569;position:absolute}.puzzle-piece{z-index:2;cursor:grab;position:absolute;top:0;left:0}.puzzle-piece.placed{z-index:1}.piece-cell{box-sizing:border-box;border:3px solid #00000059;border-radius:6px;position:absolute;box-shadow:inset 4px 4px #ffffff59}.puzzle-demo-piece{animation:2.4s ease-in-out infinite puzzle-demo}@keyframes puzzle-demo{0%,20%{transform:none}60%,to{transform:translateY(-34px)}}@media (prefers-reduced-motion:reduce){.puzzle-demo-piece{animation:none}}.eye-game{background:var(--bg);position:fixed;inset:0}.eye-preview{object-fit:cover;opacity:.6;border-radius:12px;width:160px;height:120px;position:fixed;bottom:1rem;left:1rem}.eye-cue{top:max(1rem, env(safe-area-inset-top));text-align:center;margin:0;font-size:1.8rem;position:fixed;left:8rem;right:1rem}.eye-dot.centre{transform:translate(50vw,50vh)translate(-50%,-50%)}.dot.moved{animation:.5s ease-in-out infinite alternate dot-pulse}@keyframes dot-pulse{to{transform-origin:50%;scale:1.4}}.eye-symbol{font-size:7rem;animation:.4s ease-out cloth-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.eye-choices{gap:1rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dot-demo{background:#0f172a;position:relative;overflow:hidden}.dot-demo-dot{background:var(--accent);width:22px;height:22px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:3s ease-in-out infinite alternate dot-demo;position:absolute;top:65px;left:10px}@keyframes dot-demo{to{transform:translate(110px)}}@media (prefers-reduced-motion:reduce){.dot-demo-dot,.dot.moved{animation:none}}.cat-bonus .exercise-card:not(:disabled){border-color:#fb923c}.guided-demo{background:#0f172a;place-items:center;font-size:5rem;display:grid}.guided{background:var(--bg);place-items:center;padding:5rem 1rem 1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.guided-card{flex-direction:column;align-items:stretch;gap:1.25rem;width:min(720px,94vw);display:flex}.guided-card .eyebrow,.guided-card h2{text-align:center;margin:0}.guided-card h2{font-size:2.4rem}.guided-emoji{text-align:center;font-size:6rem}.guided-steps{flex-direction:column;gap:.6rem;margin:0;padding-left:1.6rem;font-size:1.6rem;line-height:1.35;display:flex}.guided-card .row{justify-content:center}.guided-stars{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.guided-star{border-width:4px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:130px;font-size:2rem;display:flex}.guided-star small{font-size:1.2rem}.sp-stars circle{animation:2.6s ease-in-out infinite cf-twinkle}.sp-comet{animation:9s linear infinite sp-comet}@keyframes sp-comet{0%,70%{opacity:0;transform:translate(0)}72%{opacity:1}to{opacity:0;transform:translate(600px,-300px)}}@media (prefers-reduced-motion:reduce){.sp-stars circle,.sp-comet{animation:none}}.bubble-demo{background:#0f172a;position:relative;overflow:hidden}.bubble-demo-b{background:#a5f3fc33;border:4px solid #a5f3fc;border-radius:50%;width:36px;height:36px;animation:3s linear infinite bubble-up;position:absolute;bottom:-40px}.bubble-demo-b.b1{left:18px}.bubble-demo-b.b2{border-style:dotted;border-color:#38bdf8;animation-delay:-1s;left:62px}.bubble-demo-b.b3{border-color:#f472b6;animation-delay:-2s;left:100px}@keyframes bubble-up{to{transform:translateY(-200px)}}@media (prefers-reduced-motion:reduce){.bubble-demo-b{animation:none;bottom:40px}}.scene-svg{width:100%;height:100%;display:block}.sc-ripple,.sc-waves{animation:3s ease-in-out infinite alternate sc-sway}.sc-frog,.sc-crab,.sc-fish{transform-box:fill-box;transform-origin:bottom}.sc-frog{animation:2.4s ease-in-out infinite sc-hop}.sc-crab{animation:3s ease-in-out infinite alternate sc-scuttle}.sc-fish{animation:6s ease-in-out infinite alternate sc-swim}.sc-dragonfly{animation:7s ease-in-out infinite alternate sc-fly}.sc-seaweed{animation:4s ease-in-out infinite alternate sc-sway}.sc-bubbles circle{animation:3.5s ease-out infinite rise}.sc-flag{animation:1.5s ease-in-out infinite alternate soft-pulse}.sc-beam1{transform-origin:520px 90px;animation:5s ease-in-out infinite alternate sc-beam}.sc-beam2{transform-origin:1080px 90px;animation:6s ease-in-out infinite alternate-reverse sc-beam}.sc-bulbs circle{animation:1.2s ease-in-out infinite cf-twinkle}.sc-firefly{animation:2s ease-in-out infinite cf-twinkle}@keyframes sc-sway{0%{transform:translate(-12px)}to{transform:translate(12px)}}@keyframes sc-hop{0%,70%,to{transform:none}80%{transform:translateY(-30px)}}@keyframes sc-scuttle{0%{transform:translate(-40px)}to{transform:translate(40px)}}@keyframes sc-swim{0%{transform:translate(-60px)}to{transform:translate(60px)}}@keyframes sc-fly{0%{transform:translate(-80px,20px)}to{transform:translate(80px,-30px)}}@keyframes sc-beam{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){.sc-ripple,.sc-waves,.sc-frog,.sc-crab,.sc-fish,.sc-dragonfly,.sc-seaweed,.sc-bubbles circle,.sc-flag,.sc-beam1,.sc-beam2,.sc-bulbs circle,.sc-firefly{animation:none}}.pause-backdrop{z-index:30;background:#020617b3;position:fixed;inset:0}.pause-card{z-index:31}.pause-card .big{width:100%}.code{flex-direction:column;align-items:center;gap:1rem;height:100%;padding:1rem;display:flex;overflow-y:auto}.code-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.code-row{align-items:center;gap:.5rem;display:flex}.code-slot{background:#1e293b;border:2px solid #334155;border-radius:14px;place-items:center;width:64px;height:64px;padding:0;font-size:2.4rem;display:grid}.code-answer .code-slot{border-color:var(--good)}.code-clues{border-left:2px solid #334155;gap:.35rem;margin-left:.75rem;padding-left:.75rem;display:flex}.code-clue{background:#0f172a;border:2px solid;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:4.2rem;height:64px;line-height:1;display:flex}.code-clue-n{font-variant-numeric:tabular-nums;align-items:baseline;gap:.2rem;font-size:1.6rem;font-weight:700;display:flex}.code-clue-icon{font-size:1rem}.code-clue-label{color:var(--muted);white-space:nowrap;margin-top:.25rem;font-size:.7rem}.code-clue-exact{color:var(--good)}.code-clue-present{color:var(--warn)}.code-clue-miss{color:var(--muted)}.code-clue-zero{opacity:.35}.code-demo .code-clues{border-left:0;margin-left:0;padding-left:0}.code-current .code-slot{border-style:dashed;border-color:var(--accent)}.code-check{min-width:7rem;margin-left:.5rem}.code-fruits{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.code-key{margin:0}.code-demo{background:#0f172a;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:2rem;display:flex}.tilt-centre{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.tilt-arrow{color:var(--accent);font-size:6rem;line-height:1}.tilt-arrow.up{animation:1.2s ease-in-out infinite alternate tilt-bob-up}.tilt-arrow.down{animation:1.2s ease-in-out infinite alternate tilt-bob-down}@keyframes tilt-bob-up{to{transform:translateY(-16px)}}@keyframes tilt-bob-down{to{transform:translateY(16px)}}.tilt-ring{width:240px;height:240px}.tilt-ring span{font-size:4.5rem}.tilt-demo{background:#0f172a;place-items:center;font-size:4rem;display:grid}.tilt-demo-face{animation:3s ease-in-out infinite tilt-demo}@keyframes tilt-demo{0%,to{transform:none}25%{transform:rotateX(35deg)translateY(-10px)}75%{transform:rotateX(-35deg)translateY(10px)}}@media (prefers-reduced-motion:reduce){.tilt-arrow,.tilt-demo-face{animation:none}}.rule-sign{z-index:6;pointer-events:none;color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#f97316;border:4px solid #fff;border-radius:14px;padding:.4rem 1.4rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;position:fixed;top:11vh;left:3vw;box-shadow:0 8px 24px #0006}.traffic-light{z-index:6;pointer-events:none;background:#111827;border:5px solid #374151;border-radius:22px;flex-direction:column;align-items:center;gap:1.2vh;padding:1.6vh 1.2vh;display:flex;position:fixed;top:12vh;left:3vw;box-shadow:0 10px 30px #00000080}.traffic-light .lamp{opacity:.18;border-radius:50%;width:10vh;height:10vh;transition:opacity .15s}.traffic-light .lamp.red{background:#ef4444}.traffic-light .lamp.amber{background:#f59e0b}.traffic-light .lamp.green{background:#22c55e}.traffic-light .lamp.on{opacity:1;box-shadow:0 0 40px}.traffic-light .lamp.red.on{box-shadow:0 0 50px #ef4444}.traffic-light .lamp.amber.on{box-shadow:0 0 50px #f59e0b}.traffic-light .lamp.green.on{box-shadow:0 0 50px #22c55e}.traffic-light small{color:#fff;text-align:center;font-size:1.1rem;font-weight:800}.still-meter{background:#1e293b;border-radius:13px;height:26px;position:relative;overflow:hidden}.still-meter div{background:linear-gradient(90deg,#f87171,#4ade80);height:100%}.still-meter span{place-items:center;font-size:.9rem;font-weight:800;display:grid;position:absolute;inset:0}.traffic-demo{position:relative}.traffic-demo-light{background:#111827;border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:8px;left:8px}.traffic-demo-light .lamp{border-radius:50%;width:26px;height:26px}.traffic-demo-light .red{background:#ef4444;animation:4s step-end -1.8s infinite lamp-on}.traffic-demo-light .green{background:#22c55e;animation:4s step-end infinite lamp-on}@keyframes lamp-on{0%{opacity:1}55%{opacity:.15}}@keyframes sc-thump{0%,to{transform:scale(1)}10%{transform:scale(1.08)}}.sc-speaker{transform-box:fill-box;transform-origin:50%;animation:.75s infinite sc-thump}.beat-ring{z-index:6;pointer-events:none;color:#fff;text-align:center;background:#0f172a99;border:8px solid #facc15;border-radius:50%;place-items:center;width:22vh;height:22vh;font-size:9vh;font-weight:900;transition:background 50ms;display:grid;position:fixed;top:14vh;left:4vw}.beat-ring.silent{border-style:dashed;border-color:#a78bfa;font-size:2.6vh}.beat-ring.on{color:#111;background:#facc15d9}.timing-bar{background:linear-gradient(90deg,#f87171 0%,#facc15 30%,#4ade80 45% 55%,#facc15 70%,#f87171 100%);border-radius:17px;height:34px;position:relative}.timing-bar .mark{background:#fff;border-radius:4px;width:8px;height:46px;position:absolute;top:-6px;transform:translate(-50%);box-shadow:0 0 8px #000}.timing-bar small{color:#111;justify-content:space-between;align-items:center;padding:0 .8rem;font-weight:800;display:flex;position:absolute;inset:0}.rhythm-row{grid-template-columns:repeat(8,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.rhythm-row li{background:#1e293b;border:3px solid #0000;border-radius:12px;place-items:center;height:56px;font-size:1.8rem;display:grid}.rhythm-row li.half{align-self:end;height:40px}.rhythm-row li.clap{background:#facc15}.rhythm-row.echo li.todo{border:3px dashed #facc15}.rhythm-row li.now{border-color:#fff}@keyframes sc-fall{0%{transform:translateY(-60px)}to{transform:translate(-80px,900px)}}.sc-petals circle{animation:14s linear infinite sc-fall}.sc-petals circle:nth-child(2){animation-delay:-4s}.sc-petals circle:nth-child(3){animation-delay:-8s}.sc-petals circle:nth-child(4){animation-delay:-11s}.speed-meter{align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;display:flex}.speed-meter .track{background:linear-gradient(90deg,#4ade80 0% 55%,#f87171 100%);border-radius:11px;flex:1;height:22px;position:relative}.speed-meter .track i{background:#fff;border-radius:4px;width:8px;height:32px;position:absolute;top:-5px;transform:translate(-50%);box-shadow:0 0 6px #000}@keyframes sc-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-24px)}}.sc-hotair>*{animation:7s ease-in-out infinite sc-bob}.breath-balloon{z-index:6;pointer-events:none;width:34vh;height:60vh;position:fixed;top:10vh;left:3vw}.square-breath{touch-action:none;width:100%;height:100%}.sq-path{fill:#4ade800f;stroke:#334155;stroke-width:3px}.sq-side{stroke:#475569;stroke-width:2.5px;stroke-linecap:round;transition:stroke .4s}.sq-side.on{stroke:#4ade80;stroke-width:3.5px}.sq-label{fill:#94a3b8;text-anchor:middle;dominant-baseline:middle;font-size:4px;font-weight:700}.sq-dot{fill:#fde047;stroke:#fff;stroke-width:.8px}.sq-dot.near{fill:#4ade80}.sq-dot.start{animation:1.2s ease-in-out infinite sq-glow}@keyframes sq-glow{50%{opacity:.4}}.spot-grid{gap:12px;width:min(100%,900px);margin:0 auto;transition:opacity .2s;display:grid}.spot-grid.blink{opacity:.1}.spot-cell{aspect-ratio:1;background:#ffffff1a;border-width:4px;border-radius:18px;font-size:clamp(2.2rem,8vh,4.5rem)}.spot-cell:disabled{opacity:1;cursor:default}.spot-cell.right,.spot-cell.was{border-color:var(--good);background:#4ade8040}.spot-cell.wrong{border-color:var(--warn);border-style:dashed}.story{flex-direction:column;gap:1.5rem;width:min(100%,1000px);margin:0 auto;display:flex}.story-line{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;margin:0;padding:0;list-style:none;display:grid}.story-line li{text-align:center;border:3px dashed #475569;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:120px;padding:6px;display:flex;position:relative}.story-line li b{color:#94a3b8;position:absolute;top:4px;left:8px}.story-line li.filled{border-style:solid;border-color:var(--good);background:#4ade8026}.story-line li span,.story-card span{font-size:2.6rem}.story-line li small,.story-card small{font-size:.95rem;line-height:1.15}.story-cards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.story-card{border-width:4px;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:150px;min-height:130px;display:flex}.story-card:disabled{opacity:.15}.story-card.shake{border-color:var(--warn);animation-duration:.4s}@keyframes shake-a{25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes shake-b{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.spot-demo-swap:before{content:"🐶";animation:3s step-end infinite spot-demo}@keyframes spot-demo{50%{content:"🐱"}}@keyframes sc-shoot{0%{opacity:0;transform:translate(-200px,-120px)}10%{opacity:1}30%,to{opacity:0;transform:translate(200px,120px)}}.sc-meteors line{animation:6s linear infinite sc-shoot}.sc-meteors line:nth-child(2){animation-delay:-2s}.sc-meteors line:nth-child(3){animation-delay:-4s}@keyframes sc-flow{to{stroke-dashoffset:-60px}}.sc-water path{stroke-dasharray:30 30;animation:.8s linear infinite sc-flow}.hold-ring{--p:0;background:conic-gradient(#4ade80 calc(var(--p) * 360deg), #1e293b 0);border-radius:50%;place-items:center;width:120px;height:120px;margin:0 auto;font-size:1.8rem;font-weight:900;display:grid}.hold-ring span{background:#0f172a;border-radius:50%;place-items:center;width:92px;height:92px;display:grid}.face-game .face-mirror{object-fit:cover;border:6px solid #334155;border-radius:24px;width:46vw;height:76vh;position:fixed;top:12vh;left:2vw}.face-card{text-align:center;background:#111827;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:46vw;height:76vh;padding:1rem;display:flex;position:fixed;top:12vh;right:2vw}.face-big{font-size:min(22vh,18vw);line-height:1}.face-story{max-width:32ch;margin:0;font-size:1.6rem;font-weight:700}.face-answer{color:var(--good);margin:0;font-size:1.4rem}@media (orientation:portrait){.face-game .face-mirror{width:auto;height:40vh;top:10vh;left:4vw;right:4vw}.face-card{width:auto;height:44vh;top:52vh;left:4vw;right:4vw}}.face-demo-cycle:before{content:"😄";font-size:5rem;animation:6s step-end infinite face-demo}@keyframes face-demo{25%{content:"😮"}50%{content:"🐡"}75%{content:"😉"}}.plan-board{z-index:20;background:#020617eb;flex-direction:column;align-items:center;gap:1rem;padding:5rem 1rem 2rem;display:flex;position:fixed;inset:0;overflow:auto}.plan-slots{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-slots li{border:3px dashed #475569;border-radius:18px;place-items:center;width:130px;height:130px;display:grid}.plan-slots li b{color:#64748b;font-size:2rem}.plan-cards{flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;display:flex}.plan-card{border-width:4px;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:130px;height:120px;display:flex}.plan-card span{font-size:2.6rem}.plan-card small{font-size:.9rem;line-height:1.1}.plan-card.in-plan{border-color:var(--good);width:100%;height:100%}.plan-strip{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.plan-strip li{background:#1e293b;border:3px solid #0000;border-radius:14px;place-items:center;width:64px;height:64px;font-size:2rem;display:grid}.plan-strip li.ok{border-color:var(--good)}.plan-strip li.miss{border-color:var(--warn);opacity:.6}.plan-strip li.now{border-color:#fff}.brain-card{z-index:7;pointer-events:none;background:#7c3aedeb;border:4px solid #fff;border-radius:18px;flex-direction:column;gap:.2rem;max-width:46vw;padding:.8rem 1.2rem;display:flex;position:fixed;bottom:4vh;left:3vw}.brain-card small{letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;font-weight:800}.brain-card strong{font-size:clamp(1.4rem,3.4vw,2.4rem);line-height:1.15}.light-wrap{width:100%;height:100%;position:relative}.light-canvas{touch-action:none;width:100%;height:100%}.pressure-meter{background:#1e293b;border-radius:17px;width:34px;position:absolute;top:10%;bottom:10%;right:8px;overflow:hidden}.pressure-meter .band{background:#4ade8073;position:absolute;left:0;right:0}.pressure-meter i{background:#fff;height:6px;position:absolute;left:-2px;right:-2px;transform:translateY(50%)}.two-hands{touch-action:none;width:100%;height:100%}.drum-skin{fill:#fde68a;stroke:#92400e;stroke-width:1.5px}.drum.beat .drum-skin{fill:#facc15}.drum{transform-origin:50px 48px;animation:.15s ease-out drum-hit}@keyframes drum-hit{0%{transform:scale(.94)}to{transform:scale(1)}}.ring-track{fill:none;stroke:#334155;transition:stroke .2s}.ring-track.on{stroke:#4ade80}.category-why{margin:-.4rem 0 .6rem}.level-progress p{margin:.2rem 0}.level-news{font-weight:800}.level-news.good{color:var(--good)}.level-meter{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.level-meter span{border:3px solid #475569;border-radius:50%;width:22px;height:22px}.level-meter small{color:#94a3b8;margin-left:.4rem}.feel{flex-direction:column;align-items:center;gap:.4rem;display:flex}.feel p{margin:0;font-weight:700}.auto-start{margin:.2rem 0 0}.routines{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.routine{background:var(--card,#111827);border-radius:20px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.routine h3{margin:0}.routine-homework{border:3px solid #38bdf8}.routine-bedtime{background:linear-gradient(160deg,#1e1b4b,#111827);border:3px solid #a78bfa}.routine-steps{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.routine-steps button{text-align:left;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:.6rem;width:100%;padding:.5rem .7rem;display:grid}.routine-steps .today-tick{border:2px solid #475569;border-radius:50%;grid-row:span 2;align-self:center;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:900;display:grid}.routine-steps li.done .today-tick{background:var(--good);border-color:var(--good);color:#052e16}.routine-steps small{color:#94a3b8;font-size:.8rem}.hold-wrap{flex-direction:column;align-items:flex-end;gap:.3rem;display:inline-flex}.hold-button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:hidden}.hold-button:after{content:"";background:var(--accent);width:0;height:4px;position:absolute;bottom:0;left:0}.hold-button.holding:after{width:100%;transition:width var(--hold-ms) linear}.hold-hint{color:#94a3b8}.brain-note{color:#c4b5fd;margin:0;font-weight:700}.chain-steps p{margin:0 0 .4rem;font-size:1.3rem;font-weight:800}.chain-steps ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chain-steps li{background:#1e293b;border:4px solid #334155;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.5rem;font-weight:900;display:grid}.chain-steps.lady li.now{color:#fff;background:#f97316;border-color:#fff}.chain-steps.you li.now{color:#0f172a;background:#38bdf8;border-color:#fff}.chain-steps li.done{background:var(--good);border-color:var(--good);color:#052e16}.partner-step{z-index:6;pointer-events:none;color:#fff;background:#f97316;border:6px solid #fff;border-radius:50%;place-items:center;width:14vh;height:14vh;font-size:9vh;font-weight:900;display:grid;position:fixed;top:11vh;left:3vw;box-shadow:0 8px 24px #0006}.who{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;display:flex}.who-list{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.who-player{border-width:4px;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;width:200px;height:220px;font-size:1.6rem;display:flex}.who-emoji{font-size:5rem;line-height:1}.player-switch{align-items:center;gap:.4rem;display:inline-flex}.players-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.players-list li{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.players-list .emoji-btn{padding:.2rem .6rem;font-size:1.8rem}button.danger{border-color:var(--warn);color:var(--warn)}.backup-due{margin:.5rem 0 0}.install-hint{background:#1e3a8a;border:2px solid #60a5fa;border-radius:16px;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.install-hint p{flex:1;margin:0}@font-face{font-family:Nunito;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/nunito-latin.woff2)format("woff2")}:root{--font:"Nunito", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-display:var(--font);--bg:#0b1020;--surface:#131c33;--surface-2:#1a2543;--line:#94a3b829;--shadow:0 10px 30px #00000047;--radius:22px;font-family:var(--font);background:radial-gradient(1200px 600px at 20% -10%, #1e1b4b 0%, transparent 60%), var(--bg)}body{background:0 0}h1,h2,h3{letter-spacing:-.01em;font-weight:800}button{font-family:var(--font);border:1px solid var(--line);background:var(--surface-2);border-radius:16px;font-weight:700;transition:transform 80ms,background .15s}button:active:not(:disabled){transform:scale(.97)}button.primary{color:#06121f;background:linear-gradient(#5ccbfa,#2ba8e8);font-weight:800;box-shadow:0 6px 18px #38bdf859}button.quiet{background:0 0}.eyebrow{letter-spacing:.1em;font-weight:800}.home-header{align-items:center;margin-bottom:.5rem}.hello{align-items:center;gap:.9rem;display:flex}.hello h1{margin:0;font-size:2.2rem}.avatar{background:var(--surface-2);border:1px solid var(--line);width:64px;height:64px;box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:2.2rem;display:grid}.header-actions{align-items:center;gap:.6rem;display:flex}.header-actions .hold-button{width:56px;padding:0;font-size:1.5rem}.hero-card.today{box-shadow:var(--shadow);background:linear-gradient(135deg,#0f3a5f 0%,#2a2470 100%);border:1px solid #ffffff14;flex-flow:column;align-items:stretch;gap:1rem;padding:1.5rem;display:flex}.today-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.today-top h2{margin:.2rem 0 0}.today-progress{background:#ffffff1f;border-radius:6px;flex:0 260px;height:12px;overflow:hidden}.today-progress div{background:var(--good);border-radius:6px;height:100%;transition:width .4s}.today-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.today-list li{display:flex}.today-list button{text-align:center;background:#0b102073;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;padding:1rem .6rem;display:flex}.today-list strong{font-size:1.05rem;line-height:1.15}.today-list small{color:var(--g);font-size:.75rem;font-weight:700}.today-list li.next button{border:2px solid var(--accent);background:#0b1020a6}.today-list li.done button{opacity:1}.today-list li.done strong,.today-list li.done small{opacity:.6}.start-next{align-self:flex-start}.start-next span{opacity:.85;font-weight:700}.tile-icon,.step-icon{background:color-mix(in srgb, var(--g,var(--accent)) 22%, transparent);border-radius:16px;flex-shrink:0;place-items:center;display:grid;position:relative}.tile-icon{width:60px;height:60px;font-size:2rem}.step-icon{border-radius:12px;width:44px;height:44px;font-size:1.5rem}.tile-tick{background:var(--good);color:#052e16;border:2px solid var(--bg);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.85rem;display:grid;position:absolute;bottom:-6px;right:-6px}.section-title{margin:2rem 0 .8rem;font-size:1.5rem}.routine{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);gap:.8rem}.routine-homework{border:1px solid var(--line);border-top:4px solid #38bdf8}.routine-bedtime{border:1px solid var(--line);background:linear-gradient(170deg, #1b1846, var(--surface) 60%);border-top:4px solid #a78bfa}.routine-head{align-items:center;gap:.8rem;display:flex}.routine-head p{margin:.1rem 0 0}.routine-emoji{font-size:2.2rem}.routine-steps button{background:var(--surface-2);border:1px solid #0000;grid-template-columns:auto 1fr;column-gap:.75rem;padding:.45rem .7rem}.routine-steps .step-icon{grid-row:span 2}.routine-steps li.next button{border-color:var(--accent)}.routine-steps li.done button{opacity:.7}.categories{grid-template-columns:1fr;gap:1.6rem}.category{gap:.7rem}.category-head{align-items:center;gap:.7rem;display:flex}.category-head h3{color:var(--text);margin:0;font-size:1.15rem}.category-head .category-why{margin:.1rem 0 0}.category-icon{background:color-mix(in srgb, var(--g) 22%, transparent);border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid}.game-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.exercise-card{text-align:left;background:var(--surface);border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:.8rem;min-height:84px;padding:.7rem;display:grid;border:1px solid var(--line)!important}.exercise-card .tile-icon{grid-row:span 2;width:54px;height:54px;font-size:1.8rem}.exercise-card strong{align-self:end;font-size:1.05rem;line-height:1.15}.exercise-card .tagline{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:start;font-size:.8rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.side-panel.intro{border:1px solid var(--line);box-shadow:var(--shadow);border-top:5px solid var(--g)}.side-panel.intro.centered{width:min(560px,92vw);left:50%;right:auto;transform:translate(-50%)}.intro-chips{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.group-chip{color:var(--g);background:color-mix(in srgb, var(--g) 16%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .7rem;font-size:.8rem;font-weight:800;display:inline-flex}.side-panel.intro h1{align-items:center;gap:.5rem;font-size:2rem;line-height:1.1;display:flex}.intro-icon{font-size:2.2rem}.intro-tagline{color:var(--muted);font-weight:700}.intro-demo ol li{margin-bottom:.25rem}.intro-demo ol li::marker{color:var(--g);font-weight:800}.level-meter span.on{background:var(--g);border-color:var(--g)}.side-panel.far{border:1px solid var(--line);box-shadow:var(--shadow)}.touch-hud{font-family:var(--font)}.result{border:1px solid var(--line);box-shadow:var(--shadow)}.welcome-logo{width:140px;height:140px;box-shadow:var(--shadow);border-radius:32px}.pose-camera.framed .stage video{-webkit-mask-image:radial-gradient(70% 72%,#000 62%,#0000 92%);mask-image:radial-gradient(70% 72%,#000 62%,#0000 92%)}.cutout-spike-scene{position:fixed;inset:0}.cutout-spike-scene svg{width:100%;height:100%;display:block}.side-panel.far.compact{gap:.5rem;width:min(340px,32vw);padding:1rem 1.2rem;top:auto}.side-panel.far.compact .cue{min-height:0;font-size:1.2rem}.side-panel.far.compact .counter span{font-size:3rem}@media (orientation:portrait){.side-panel.far.compact{left:auto;right:max(1rem, env(safe-area-inset-right));width:min(360px,60vw)}}.brand{align-items:center;gap:.75rem;display:flex}.brand-logo{width:56px;height:56px;box-shadow:var(--shadow);border-radius:14px}.brand-name{flex-direction:column;line-height:1;display:flex}.brand-top{letter-spacing:-.01em;background:linear-gradient(90deg,#38bdf8 0%,#4ade80 55%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:900}.brand-bottom{letter-spacing:.28em;text-transform:uppercase;background:linear-gradient(90deg,#fb923c,#facc15);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:.15rem;font-size:.8rem;font-weight:900}.home .hello{margin:1rem 0 .25rem}.modes{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 .5rem;display:grid}.mode-card{border-radius:var(--radius);text-align:center;min-height:170px;box-shadow:var(--shadow);border:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.1rem .8rem;display:flex}.mode-card strong{font-size:1.35rem;line-height:1.1}.mode-icon{font-size:2.6rem;line-height:1}.mode-progress{gap:6px;display:flex}.mode-progress i{background:#ffffff40;border-radius:50%;width:10px;height:10px}.mode-progress i.on{background:var(--good)}.mode-status{color:#ffffffbf;font-weight:700}.mode-today{background:linear-gradient(135deg,#0f6aa8,#2a2470)}.mode-card.routine-homework{background:linear-gradient(135deg,#0e7490,#134e4a)}.mode-card.routine-bedtime{background:linear-gradient(135deg,#4c1d95,#1e1b4b)}.mode-card:disabled{opacity:1}.mode-card.all-done{filter:saturate(.6)}@media (width<=640px){.modes{grid-template-columns:1fr}.mode-card{text-align:left;flex-direction:row;justify-content:flex-start;gap:.8rem;min-height:0}.mode-card strong{flex:1}.mode-progress{display:none}}
