:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6fa;--bg-glow:transparent;--card:#fff;--card-inset:#eef2f7;--text:#1a2332;--muted:#5b6b7c;--accent:#3b82f6;--accent-2:#6366f1;--accent-text:#fff;--danger:#dc2626;--ok:#16a34a;--border:#d0d7e2;--stat-bg:#eef2f7;--stage-bg:#e8eef6;--shadow:0 8px 24px #1a233214;--radius:14px;--tap-min:48px;--space:14px;--type-scale:1;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--motion:.28s;--hero-pattern:none;font-family:var(--font);font-weight:400;line-height:1.45;font-size:calc(16px * var(--type-scale));color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#app{height:100%;min-height:100%;margin:0}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:var(--bg)}#app{max-width:520px;min-height:100svh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--hero-pattern), radial-gradient(120% 80% at 50% -10%, var(--bg-glow), transparent 55%), var(--bg);color:var(--text);transition:background-color var(--motion) ease, color var(--motion) ease;flex-direction:column;margin:0 auto;display:flex}@media (width>=768px){#app{max-width:min(560px,100%)}}@media (width>=1024px){#app{max-width:min(640px,100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 70%, transparent)}}#app[data-skin=adults]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--bg-glow:#38bdf82e;--card:#141c2e;--card-inset:#0f172a;--text:#e8eefc;--muted:#94a3b8;--accent:#38bdf8;--accent-2:#a78bfa;--accent-text:#0b1220;--danger:#f87171;--ok:#4ade80;--border:#243049;--stat-bg:#0f172a;--stage-bg:#0f172a;--shadow:0 10px 28px #00000059;--radius:12px;--tap-min:48px;--space:14px;--type-scale:1;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--hero-pattern:linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, transparent) 0%, transparent 40%, color-mix(in srgb, var(--accent-2) 8%, transparent) 100%)}#app[data-skin=kids]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff7ed;--bg-glow:#fbbf2459;--card:#fff;--card-inset:#fff1d6;--text:#3b2f1e;--muted:#7a6548;--accent:#f59e0b;--accent-2:#34d399;--accent-text:#3b2f1e;--danger:#e11d48;--ok:#059669;--border:#fcd34d;--stat-bg:#fffbeb;--stage-bg:#ffedd5;--shadow:0 10px 28px #f59e0b2e;--radius:20px;--tap-min:52px;--space:16px;--type-scale:1.05;--font:"Trebuchet MS", "Segoe UI Rounded", ui-rounded, system-ui, sans-serif;--hero-pattern:radial-gradient(circle at 12% 18%, #fdba74 0 10px, transparent 11px), radial-gradient(circle at 88% 12%, #6ee7b7 0 8px, transparent 9px), radial-gradient(circle at 78% 78%, #fcd34d 0 12px, transparent 13px)}#app[data-skin=seniors]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8fafc;--bg-glow:#0e74901f;--card:#fff;--card-inset:#e2e8f0;--text:#0f172a;--muted:#334155;--accent:#0e7490;--accent-2:#0369a1;--accent-text:#fff;--danger:#b91c1c;--ok:#166534;--border:#334155;--stat-bg:#f1f5f9;--stage-bg:#e2e8f0;--shadow:0 4px 16px #0f172a1a;--radius:16px;--tap-min:56px;--space:18px;--type-scale:1.125;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--hero-pattern:none}button,input{font:inherit}.topbar,.play-hud{padding:12px var(--space);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:minmax(64px,auto) 1fr minmax(64px,auto);align-items:center;gap:8px;display:grid}.topbar h1,.play-hud .hud-mid{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.hud-mid{flex-direction:column;gap:2px;min-width:0;display:flex}.hud-mid span{color:var(--muted);font-size:.9rem}.lag-probe{font-variant-numeric:tabular-nums;color:var(--ok)!important}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 10px;display:grid}.stat{background:var(--stat-bg);border:1px solid var(--border);text-align:center;border-radius:12px;min-width:0;padding:10px 8px}.stat span{color:var(--muted);font-size:.75rem;display:block}.stat strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;display:block;overflow:hidden}.stat strong.cap{text-transform:capitalize}.progress-track{background:var(--stat-bg);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));min-width:0;height:100%;transition:width var(--motion) ease;border-radius:999px}.learn-steps{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.learn-step{border:1px solid var(--border);background:var(--card-inset);min-height:var(--tap-min);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.learn-step.done{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.learn-step.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.learn-step .step-num{background:var(--card);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.learn-step.done .step-num{background:color-mix(in srgb, var(--ok) 25%, transparent);color:var(--ok)}.learn-step div{gap:2px;min-width:0;display:grid}.learn-step strong{text-overflow:ellipsis;overflow:hidden}.learn-step span{color:var(--muted);font-size:.9rem}.coach h3{margin:16px 0 8px;font-size:1rem}.how-list{color:var(--text);margin:0 0 12px;padding-left:18px}.try-this{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:12px;margin:12px 0;padding:12px}.focus-cue{border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:12px;margin:12px 0;padding:12px;line-height:1.45}.focus-cue .eyebrow{margin-bottom:4px;display:block}.skill-label{letter-spacing:.02em}.soft-timer-note,.coach-practice-note{margin:0 0 8px}.debrief{margin:12px 0}.debrief.band-high{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.debrief.band-mid{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.debrief.band-low,.debrief.band-zero{border-color:var(--border)}.choice-btn.wrong{outline:2px solid var(--danger)}.card-inset{background:var(--card-inset);border:1px solid var(--border);border-radius:12px;margin:12px 0;padding:12px}.quiz-feedback.ok{color:var(--ok)}.quiz-feedback.bad{color:var(--danger)}.choice-btn.correct{outline:2px solid var(--ok)}.choice-btn:disabled{opacity:.75}.code,pre.code{background:var(--card-inset);border:1px solid var(--border);white-space:pre-wrap;border-radius:10px;margin:8px 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:block;overflow-x:auto}.how-card h3{margin-top:20px;margin-bottom:8px}.how-card code{font-size:.85em}#coach-go:disabled{opacity:.45;cursor:not-allowed}.main{padding:var(--space);flex:1;overflow:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.hero h2{text-overflow:ellipsis;word-break:break-word;margin:4px 0 8px;overflow:hidden}.brand-lockup{align-items:center;gap:12px;margin:0 0 14px;display:flex}.brand-lockup--hero{margin-bottom:16px}.brand-mark{border-radius:14px;flex-shrink:0;box-shadow:0 4px 14px #0b3d3f40}.brand-text{min-width:0}.brand-name{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.65rem;font-weight:800;line-height:1.1}.brand-lockup--sm .brand-name{font-size:1.15rem}.brand-tag{color:var(--muted);margin:2px 0 0;font-size:.9rem}.auth-card .brand-lockup,.auth-gate .brand-lockup{margin-bottom:12px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.75rem;font-weight:700}.badge{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent);text-transform:capitalize;border-radius:999px;padding:4px 10px;display:inline-block}.next-hint{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--card));color:var(--text);border-radius:12px;margin:0 0 12px;padding:12px 14px;font-size:.95rem;font-weight:600}.home-nav{gap:10px;margin-bottom:12px;display:grid}.primary,.secondary,.choice-btn,.oe-btn,.letter-btn,.num-cell,.xw-cell,.animal-cell,.link-btn,.game-card{border:1px solid var(--border);min-height:var(--tap-min);background:var(--card-inset);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;padding:12px 14px}.primary,.secondary{text-align:center;justify-content:center;align-items:center;width:100%;font-weight:600;display:inline-flex}.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.primary:active,.secondary:active,.game-card:active,.choice-btn:active{transform:translateY(1px)}.secondary{background:0 0}.link-btn{color:var(--accent);min-height:var(--tap-min);background:0 0;border:none;padding:10px 6px;font-size:.95rem;font-weight:600}.fine{color:var(--muted);font-size:.92rem}.age-gate label{min-height:var(--tap-min);margin:10px 0;padding:8px 4px;display:block}.age-gate input[type=radio]{vertical-align:middle;width:1.15rem;height:1.15rem;margin-right:8px}.age-gate input[type=text],.age-gate input:not([type]){width:100%;min-height:var(--tap-min);border:1px solid var(--border);background:var(--card-inset);color:var(--text);border-radius:10px;margin-top:6px;padding:12px 14px}.age-gate fieldset{border:1px solid var(--border);border-radius:12px;margin:12px 0}.preview-chip{border:1px solid var(--border);background:var(--card-inset);color:var(--muted);border-radius:999px;align-items:center;gap:8px;margin:8px 0 0;padding:8px 12px;font-size:.85rem;display:inline-flex}.preview-chip strong{color:var(--accent);text-transform:capitalize}.game-list{gap:10px;display:grid}.game-card{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);gap:4px;padding:14px;display:grid}.game-card .tag{color:var(--accent);text-transform:uppercase;font-size:.75rem;font-weight:700}.game-card span:last-child{color:var(--muted);font-size:.9rem}.game-stage{background:var(--stage-bg);flex:1;min-height:360px;position:relative;overflow:hidden}@media (orientation:landscape) and (height<=520px){.game-stage{min-height:180px}.play-hud,.play-foot{padding-top:8px;padding-bottom:8px}}.install-status{border:1px solid var(--border);background:var(--card-inset);border-radius:12px;margin:0 0 14px;padding:12px 14px}.install-status.ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));background:color-mix(in srgb, var(--ok) 12%, var(--card))}.how-card .brand-lockup{margin-bottom:10px}.play-foot{padding:10px var(--space) 18px;border-top:1px solid var(--border);background:color-mix(in srgb, var(--card) 88%, transparent)}.big-score{color:var(--accent);margin:8px 0;font-size:3rem;font-weight:700}.board{margin:0;padding:0;list-style:none}.board li{border-bottom:1px solid var(--border);min-height:var(--tap-min);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.board li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-panel{height:100%;padding:12px}.hint{color:var(--muted);margin:0 0 12px}.big-number{text-align:center;margin:18px 0;font-size:2.4rem;font-weight:700}.animal-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.animal-cell{aspect-ratio:1;padding:0;font-size:1.6rem}.animal-cell.wrong{outline:2px solid var(--danger)}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.oe-zones{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.oe-btn{min-height:88px;font-size:1.2rem;font-weight:700}.shape-match{min-height:360px;position:relative}.slots{justify-content:space-around;display:flex;position:absolute;bottom:24px;left:0;right:0}.slot{border:2px dashed var(--muted);border-radius:12px;width:72px;height:72px}.slot[data-shape=circle]{border-radius:50%}.slot[data-shape=triangle]{clip-path:polygon(50% 8%,8% 92%,92% 92%);border-radius:0}.shape-piece{background:var(--accent);touch-action:none;z-index:2;width:64px;height:64px;position:absolute}.shape-circle{border-radius:50%}.shape-square{border-radius:8px}.shape-triangle{border-left:32px solid #0000;border-right:32px solid #0000;border-bottom:56px solid var(--accent-2);background:0 0;width:0;height:0}.letter-row{flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0;display:flex}.letter-btn{min-width:42px;font-weight:700}.letter-btn.tiny{min-width:30px;padding:8px 6px;font-size:.85rem}.built{text-align:center;letter-spacing:.2em;min-height:2rem;font-size:1.6rem}.row-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.num-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.num-cell{min-height:64px;font-size:1.4rem;font-weight:700}.num-cell.selected{outline:2px solid var(--accent)}.num-cell.gone{visibility:hidden;pointer-events:none}.xw-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-width:220px;margin:12px auto;display:grid}.xw-cell{aspect-ratio:1;font-size:1.4rem;font-weight:700}.xw-cell.active{outline:2px solid var(--accent)}.clues{color:var(--muted);padding-left:18px}.senior .hint,.senior .choice-btn,.senior .num-cell{font-size:1.05em}.policy ul{padding-left:18px}.policy li,.how-card p,.how-card li{line-height:1.55}#app[data-skin=kids] .primary{box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 55%, #b45309);border-radius:999px}#app[data-skin=kids] .primary:active{box-shadow:0 2px 0 color-mix(in srgb, var(--accent) 55%, #b45309);transform:translateY(4px)}#app[data-skin=kids] .learn-step.current{animation:2.4s ease-in-out infinite kids-pulse}#app[data-skin=kids] .next-hint{animation:2.8s ease-in-out infinite kids-nudge}#app[data-skin=kids] .hero{border-width:2px}#app[data-skin=kids] .eyebrow{text-transform:none;letter-spacing:.02em;font-size:.95rem}#app[data-skin=kids] .home-nav .secondary{border-radius:16px}#app[data-skin=adults] .card{border-radius:12px}#app[data-skin=adults] .stat strong{font-variant-numeric:tabular-nums}#app[data-skin=adults] .eyebrow{letter-spacing:.1em}#app[data-skin=adults] .play-hud{background:color-mix(in srgb, #020617 70%, var(--card))}#app[data-skin=adults] .big-score{letter-spacing:-.03em}#app[data-skin=seniors] .primary,#app[data-skin=seniors] .secondary,#app[data-skin=seniors] .game-card,#app[data-skin=seniors] .choice-btn,#app[data-skin=seniors] .link-btn{border-width:2px;font-size:1.05rem}#app[data-skin=seniors] .home-nav{gap:14px}#app[data-skin=seniors] .home-nav .secondary:nth-child(n+3){opacity:.98}#app[data-skin=seniors] .stat{padding:14px 10px}#app[data-skin=seniors] .stat span{color:#1e293b;font-size:.85rem}#app[data-skin=seniors] .stat strong{font-size:1.35rem}#app[data-skin=seniors] .fine{color:#1e293b;font-size:1rem}#app[data-skin=seniors] .play-hud .hud-mid span,#app[data-skin=seniors] #hud-score{font-size:1.05rem;font-weight:700}#app[data-skin=seniors] .topbar h1{font-size:1.1rem}#app[data-skin=seniors] .next-hint{border-style:solid;font-size:1.05rem}@keyframes kids-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes kids-nudge{0%,to{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}50%{border-color:var(--accent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}#app[data-skin=kids] .primary{box-shadow:none}.primary:active,.secondary:active,.game-card:active,.choice-btn:active{transform:none}.focus-cue,.debrief,.quiz.card-inset,.choice-btn.correct,.choice-btn.wrong{box-shadow:none;animation:none!important}}@media (hover:hover) and (pointer:fine){.primary:hover,.secondary:hover,.game-card:hover,.choice-btn:hover{filter:brightness(1.04)}}@media (width>=600px){#app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.auth-badge{border:1px dashed var(--border);background:var(--card-inset);color:var(--muted);text-align:center;border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:.82rem}.auth-badge.demo{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.auth-badge.cloud{color:var(--ok);border-style:solid}.auth-gate .check-row{min-height:var(--tap-min);align-items:center;gap:10px;display:flex}.auth-gate input[type=password],.auth-gate input[type=email],.auth-gate input[type=text],.auth-gate input:not([type]){width:100%;min-height:var(--tap-min);border:1px solid var(--border);background:var(--card-inset);color:var(--text);border-radius:10px;margin-top:6px;padding:12px 14px;font-size:1rem}.auth-error{color:var(--danger);margin:8px 0;font-size:.95rem}.auth-link{text-align:center;width:100%;margin-top:8px;display:block}.chain-receipt{text-align:left;margin:12px 0}.chain-receipt .mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.chain-receipt .break{word-break:break-all}#app[data-skin=seniors] .auth-gate input{min-height:56px;padding:14px 16px;font-size:1.1rem}#app[data-skin=kids] .auth-badge{border-radius:999px}
