@font-face{font-family:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/titan-one-latin-400-normal-DwVbh4mi.woff2)format("woff2"),url(/assets/titan-one-latin-400-normal-VZVzRR2h.woff)format("woff")}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--font-display:"Fredoka", "Nunito", "Segoe UI", system-ui, sans-serif;color:#0f172a;background:var(--bg);--bg:#f6f7fb;--surface:#fff;--border:#e3e6ee;--text:#0f172a;--muted:#637085;--accent:#15803d;--accent-soft:#dcfce7;--brand:#16a34a;--brand-strong:#15803d;--brand-light:#22c55e;--brand-ink:#14203a;--brand-soft:#dcfce7;--brand-border:#86efac;--brand-warm:#fbbf24;--brand-warm-strong:#f4a91b;--brand-warm-soft:#fef3c7;--success:#16a34a;--warning:#f4b740;--danger:#e25555;--surface-subtle:#fbfcff;--surface-raised:#f3f5fb;--shop-art-plate:#edf5f0;--success-soft:#e9f7ef;--success-border:#cde8d8;--success-ink:#1f7a45;--danger-soft:#ffe9ea;--danger-border:#f3c5c8;--danger-ink:#b71c1c;--warning-soft:#fff6df;--warning-border:#fde68a;--warning-ink:#8a5a10;--heat-0:#eef1f6;--heat-1:#c7ecd4;--heat-2:#86d9a5;--heat-3:#34b368;--heat-4:#15803d;--shadow:0 14px 32px #0f172a14;--shadow-sm:0 4px 12px #0f172a0f;--shadow-pop:0 18px 40px #16a34a2e;--radius:18px;--radius-sm:12px;--radius-lg:24px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--text-xs:.78rem;--text-sm:.88rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.4rem;--text-2xl:1.8rem;--text-3xl:2.4rem;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-quick:cubic-bezier(.65, 0, .35, 1);--ease-slide:cubic-bezier(.87, 0, .13, 1);--dur-instant:90ms;--dur-quick:.16s;--dur-base:.26s;--dur-slow:.52s;--ai-accent:#7c3aed;--ai-surface:#faf5ff;--ai-chip-bg:#f3e8ff;font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--accent:#22c55e;--accent-soft:#22c55e29;--brand:#22c55e;--brand-strong:#16a34a;--brand-light:#4ade80;--brand-ink:#052e16;--brand-soft:#22c55e29;--brand-border:#22c55e6b;--brand-warm:#fbbf24;--brand-warm-strong:#f4a91b;--brand-warm-soft:#fbbf2424;--shadow-sm:0 4px 12px #0000004d;--shadow-pop:0 18px 40px #22c55e47;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--surface-subtle:#182235;--surface-raised:#223049;--shop-art-plate:#52627a;--success-soft:#4ade8029;--success-border:#4ade8061;--success-ink:#6ee7a0;--danger-soft:#f8717129;--danger-border:#f8717161;--danger-ink:#fca5a5;--warning-soft:#fbbf2429;--warning-border:#fbbf2461;--warning-ink:#fcd34d;--heat-0:#223049;--heat-1:#14532d;--heat-2:#15803d;--heat-3:#22c55e;--heat-4:#86efac;--shadow:0 14px 32px #0006;--ai-accent:#a78bfa;--ai-surface:#7c3aed1f;--ai-chip-bg:#7c3aed40;color:#f1f5f9;background:#0f172a}.heatmap-grid{gap:.1875rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.heatmap-col{flex-direction:column;flex:none;gap:.1875rem;display:flex}.heatmap-cell{cursor:pointer;border:none;border-radius:.1875rem;width:.75rem;height:.75rem;padding:0}.heatmap-cell.is-future{visibility:hidden}.heatmap-cell.is-selected{outline:2px solid var(--brand);outline-offset:1px}.mini-heatmap{gap:.125rem;display:flex}.mini-heatmap-col{flex-direction:column;gap:.125rem;display:flex}.mini-heatmap-cell{border-radius:.125rem;width:.375rem;height:.375rem;display:block}.mini-heatmap.is-large,.mini-heatmap.is-large .mini-heatmap-col{gap:.1875rem}.mini-heatmap.is-large .mini-heatmap-cell{border-radius:.1875rem;width:.75rem;height:.75rem}.dark .sidebar,.dark .topbar{background:#1e293b}.dark .sidebar-link:hover{background:#334155}.dark .card,.dark .section,.dark .surface{background:#1e293b;border-color:#334155}.dark input,.dark textarea,.dark select,.dark .input{color:#f1f5f9;border-color:var(--muted);background:#0f172a}.dark .chip{color:#e2e8f0;background:#334155}.dark .button.ghost{color:#94a3b8}.dark .button.ghost:hover{color:#e2e8f0;background:#334155}.dark a{color:#60a5fa}.dark table{color:#e2e8f0}.dark .sidebar-link.active{background:var(--brand-soft);color:var(--brand)}.dark .topbar-tab:hover{background:#334155}.dark .topbar-tab.active{background:var(--brand-soft);color:var(--brand)}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 8px;font-weight:600}h4{letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:280px;height:100vh;padding:28px 20px;transition:transform .25s ease-out;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.open{transform:translate(0)}.sidebar-brand{font-family:var(--font-display);letter-spacing:.4px;cursor:pointer;margin-bottom:28px;font-size:1.375rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.sidebar-link{color:var(--muted);border-radius:12px;padding:10px 14px;font-weight:600;display:block}.sidebar-link:hover{background:var(--surface-raised);color:var(--text)}.sidebar-link.active{background:var(--brand-soft);color:var(--brand-strong)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:20px}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 36px;display:flex}.topbar-title{color:var(--muted);font-weight:600}.topbar-brand{font-family:var(--font-display);letter-spacing:.4px;cursor:pointer;white-space:nowrap;font-size:1.25rem;font-weight:600}.topbar-tabs{align-items:center;gap:4px;display:flex}.topbar-tab{color:var(--muted);white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:.875rem;font-weight:600}.topbar-tab:hover{background:var(--surface-raised);color:var(--text)}.topbar-tab.active{background:var(--brand-soft);color:var(--brand-strong)}@media (width<=760px){.topbar-tabs{display:none}}.content{width:100%;max-width:1120px;margin:0 auto;padding:36px 36px 84px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-title{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.01em;margin:0 0 var(--space-2);line-height:1.15}.page-subtitle{color:var(--muted);font-size:var(--text-base);margin:0;line-height:1.5}.hub-header-meta{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.hub-actions{align-items:flex-start;gap:16px;display:grid}.hub-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:12px;padding:16px;display:grid}.hub-hero-primary{justify-self:start;padding:12px 22px;font-size:1.05rem;font-weight:700}.hub-reco{flex-wrap:wrap;gap:8px;display:flex}.hub-reco-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);width:100%;font-size:.75rem}.hub-tier{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 16px}.hub-tier>summary{cursor:pointer;align-items:center;gap:8px;padding:10px 0;font-weight:600;list-style:none;display:flex}.hub-tier>summary::-webkit-details-marker{display:none}.hub-tier>summary:before{content:"";background:url(/brock-icons/ui-glyphs/006-black-right-pointing-small-triangle-25b8.svg) 50%/contain no-repeat;flex-shrink:0;width:.75rem;height:.75rem}.hub-tier[open]>summary:before{background-image:url(/brock-icons/ui-glyphs/007-black-down-pointing-small-triangle-25be.svg)}.hub-tier>summary .hub-tier-sub{color:var(--muted);font-size:.8125rem;font-weight:400}.hub-tier .row{flex-wrap:wrap;padding:4px 0 12px}.hub-action-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:10px;padding:14px 16px;display:grid}.hub-action-group .row{flex-wrap:wrap}.hub-action-group .muted{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.compact-grid{gap:14px}.dashboard-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.stat-grid.compact .stat{padding:14px}.card-grid>.surface{cursor:default}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:box-shadow .12s,transform .12s}.featured-drops{margin:16px 0}.featured-drops-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.featured-drops-title{margin:0;font-size:1.1rem}.featured-drops-reset{color:var(--muted);font-size:.8125rem}.featured-drops-sub{color:var(--muted);margin:4px 0 12px;font-size:.875rem}.featured-drops-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.featured-drop{text-align:center;border:1px solid var(--border);border-radius:var(--radius);justify-items:center;gap:6px;padding:12px 8px;transition:border-color .2s;display:grid}.featured-drop.is-owned{border-color:var(--brand,#16a34a)}.featured-drop-state{color:var(--muted);font-size:.6875rem}.featured-drop.is-owned .featured-drop-state{color:var(--brand,#16a34a);font-weight:700}.featured-drop-name{font-size:.8125rem;font-weight:700}.featured-drop-rarity{text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-block}.featured-drops-link{font-size:.875rem}.host-allowance{color:var(--muted);margin:8px 0 0;font-size:.875rem}.host-allowance.is-out{color:var(--warning,#b45309)}.host-allowance a{color:inherit;text-decoration:underline}.daily-reward-card{margin:16px 0}.daily-reward-title{margin:0 0 6px;font-size:1.1rem}.daily-reward-sub{color:var(--muted);margin:0 0 10px}.daily-reward-payout{margin:0 0 4px;font-size:1.15rem;font-weight:700}.daily-reward-result{gap:2px;display:grid}.surface:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0f172a1f}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.button{background:var(--brand-strong);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);cursor:pointer;border:none;font-weight:600;transition:transform 80ms,box-shadow 80ms,background 80ms;display:inline-block}.button:hover{background:var(--brand);box-shadow:var(--shadow-pop);transform:translateY(-1px)}.button.secondary{background:var(--brand-soft);color:var(--brand-ink)}.button.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.button.danger{background:var(--danger-soft);color:var(--danger-ink);border:1px solid var(--danger-border)}.input,.textarea,select.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-subtle);width:100%;padding:12px 14px;font-size:.875rem}.input:focus,.textarea:focus,select.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2754ff1f}.textarea{resize:vertical;min-height:80px}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.muted{color:var(--muted);font-size:.875rem}.set-card{flex-direction:column;gap:12px;display:flex}.set-card-info{gap:12px;display:grid}.set-card-meta{color:var(--muted);gap:12px;font-size:.8125rem;display:flex}.set-card-actions{flex-wrap:nowrap;gap:8px;margin-top:auto}.set-card-actions .button{white-space:nowrap;flex:1 1 0;justify-content:center;min-height:44px;padding:6px 10px;font-size:.8125rem}.set-card-actions .button.ghost{padding:6px 10px}.set-create-header{justify-content:space-between;margin-bottom:16px;display:flex}.set-form{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px}.set-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.set-form-actions{justify-content:flex-end;margin-top:12px;display:flex}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:10px;padding:8px;display:flex}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 16px;font-weight:600}.tab-button.active{background:var(--accent-soft);color:var(--accent)}.hub-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.hub-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.hub-mode-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px;display:grid}.hub-mode-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:18px;display:flex}.hub-mode-card .button{align-self:flex-start}.hub-preview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.hub-preview-card{background:var(--surface-subtle)}.hub-preview-text{color:var(--text);font-weight:600}.jp-helper{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:10px;margin-bottom:12px;padding:14px;display:grid}.jp-helper.compact{gap:8px;padding:12px}.jp-helper-notes{flex-wrap:wrap;gap:12px;display:flex}.jp-warning{color:var(--warning-ink);font-size:.8125rem}.jp-helper-hint{font-size:.75rem}.jp-guide{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);margin-bottom:12px;padding:10px 12px}.jp-guide.compact{padding:8px 10px}.jp-guide summary{cursor:pointer;color:var(--text);font-weight:600}.jp-guide-body{gap:12px;margin-top:10px;display:grid}.jp-guide-block h4{margin-bottom:6px}.jp-guide-examples{gap:6px;font-size:.75rem;display:grid}.jp-guide-examples code{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-family:JetBrains Mono,Consolas,monospace}.jp-guide-button{align-self:flex-start;padding:6px 12px;font-size:.75rem}.compact-card{padding:16px}.insight-list{color:var(--muted);gap:8px;margin:12px 0 0;padding:0;font-size:.875rem;list-style:none;display:grid}.insight-list strong{color:var(--text);font-weight:600}.quiz-shell{justify-content:center;display:flex}.quiz-card{gap:16px;width:min(760px,100%);display:grid}.quiz-front{font-size:1.625rem;font-weight:700}.quiz-answer{gap:12px;display:grid}.quiz-reveal{gap:8px;display:grid}.quiz-text{font-weight:600}.quiz-actions{gap:12px;margin-top:12px;display:flex}.mc-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.option-button{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#fff;width:100%;padding:14px 16px;font-weight:600;transition:transform 80ms,box-shadow 80ms}.option-button:hover:enabled{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.option-button.correct{background:var(--success-soft);border-color:var(--success-border);color:var(--success-ink)}.option-button.incorrect{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-ink)}.mc-feedback{gap:6px;margin-top:16px;display:grid}.feedback-pill{border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.feedback-pill.correct{background:var(--success-soft);color:var(--success-ink)}.feedback-pill.incorrect{background:var(--danger-soft);color:var(--danger-ink)}.explanation-text{color:var(--muted);font-size:.8125rem;line-height:1.4}.explain-trigger{justify-items:center;display:grid}.explain-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(760px,100%);padding:12px 16px}.answer-feedback{gap:6px;width:min(760px,100%);display:grid}.ordering-shell{gap:12px;width:min(760px,100%);display:grid}.ordering-chosen,.ordering-available{flex-wrap:wrap;gap:8px;display:flex}.ordering-chip{cursor:pointer}.ordering-chip.selected{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.particle-options{flex-wrap:wrap;gap:8px;display:flex}.particle-option.selected{background:var(--success-soft);border-color:var(--success-border);color:var(--success-ink)}.conjugation-clue{text-align:left;gap:10px;width:100%;font-size:1.125rem;display:grid}.conjugation-row{justify-content:space-between;gap:12px;display:flex}.conjugation-value{color:var(--text);font-weight:600}ruby{ruby-position:over}rt{color:var(--muted);font-size:.55em}.mc-note{margin-top:6px;font-size:.75rem}.chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--border);font-size:var(--text-sm);align-items:center;gap:8px;display:inline-flex}.dictation-prompt{gap:12px;width:100%;display:grid}.dictation-audio{justify-content:center;display:flex}.dictation-toggle{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.dictation-toggle .chip.active{background:var(--success-soft);border-color:var(--success-border);color:var(--success-ink)}.dictation-text{font-size:1.75rem;font-weight:600}.chip-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.75rem}.mode-toggle{background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.mode-button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:600}.mode-button.active{color:var(--text);background:#fff;box-shadow:0 4px 10px #0f172a14}.study-shell{justify-items:center;gap:24px;display:grid}.study-card{text-align:center;justify-content:center;align-items:center;width:min(760px,100%);min-height:360px;padding:32px;font-size:1.75rem;font-weight:600;display:flex}.study-card.revealed{background:var(--surface-subtle);border-color:var(--border)}.rating-buttons{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;width:min(760px,100%);display:grid}.rating-buttons .button{border-radius:var(--radius-sm);padding:12px 16px}.rating-buttons .again{background:var(--danger-soft);color:var(--danger-ink)}.rating-buttons .hard{background:var(--warning-soft);color:var(--warning-ink)}.rating-buttons .good{background:var(--success-soft);color:var(--success-ink)}.rating-buttons .easy{background:var(--accent-soft);color:var(--accent)}.learn-buttons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:min(760px,100%);display:grid}.learn-buttons .button{border-radius:var(--radius-sm);padding:14px 18px;font-size:1rem}.learn-incorrect{background:var(--danger-soft);color:var(--danger-ink)}.learn-correct{background:var(--success-soft);color:var(--success-ink)}.answer-area{gap:12px;width:min(760px,100%);display:grid}.answer-input{height:56px;font-size:1rem}.answer-compare{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;width:min(760px,100%);padding:16px;display:grid}.answer-text{color:var(--text);word-break:break-word;margin-top:6px;font-weight:600}.audio-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-weight:600}.audio-controls{gap:10px;display:grid}.audio-controls.compact{gap:6px}.audio-buttons{flex-wrap:wrap;gap:8px;display:flex}.audio-button.active{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.audio-toggle{color:var(--muted);align-items:center;gap:8px;font-size:.8125rem;display:inline-flex}.audio-toggle input{accent-color:var(--accent)}.audio-error{color:var(--muted);font-size:.8125rem}.audio-status{color:var(--muted);font-size:.75rem}.audio-status.on{color:var(--success-ink)}.audio-status.off{color:var(--muted)}.audio-button:hover{box-shadow:0 6px 16px #0f172a14}.assignment-card{border:1px solid var(--border);background:var(--surface-subtle);gap:8px;display:grid}.assignment-card.completed{opacity:.7;background:var(--surface-subtle)}.assignment-card:hover{box-shadow:0 18px 40px #0f172a1f}.assignment-card .chip{margin-right:6px}.assignment-card .row{margin-top:4px}.status-chip.completed{background:var(--success-soft);color:var(--success-ink);border-color:var(--success-border)}.status-chip.in_progress{background:var(--warning-soft);color:var(--warning-ink);border-color:var(--warning-border)}.status-chip.not_started{background:var(--surface-raised);color:var(--muted)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{border-radius:var(--radius-sm);background:var(--surface-subtle);border:1px solid var(--border);padding:18px}.dashboard-page .page-title{font-size:1.125rem}.dashboard-page .page-subtitle{font-size:.6875rem}.dashboard-page .section{padding:10px}.dashboard-page .stat{padding:8px;font-size:.6875rem}.dashboard-page .stat div:last-child{font-size:.8125rem;font-weight:700}.dashboard-page .surface{padding:10px}.dashboard-page .button{padding:5px 8px;font-size:.6875rem}.dashboard-page .chip{padding:3px 7px;font-size:.625rem}.dashboard-page .row{gap:6px}.dashboard-page .card-grid{gap:10px}.dashboard-page .assignment-card{gap:6px}.dashboard-page .assignment-card .button{align-self:flex-start;width:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px;font-size:.875rem}.card-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.card-row td{vertical-align:middle}.card-row-actions{text-align:right;width:120px}.card-row-actions .button{padding:8px 12px}.row-helper{justify-items:end;gap:6px;display:grid}.row-helper .input{min-width:140px}.row-helper .muted{font-size:.6875rem}.row-helper.compact{gap:4px}.row-helper-text{text-align:right;max-width:180px}.row-warning{color:var(--warning-ink);font-size:.6875rem}.row-choice{justify-items:end;gap:6px;display:grid}.row-choice-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.row-choice .chip{padding:4px 8px;font-size:.6875rem}.textarea{font-family:inherit}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface-subtle);padding:48px}.empty-compact{padding:28px}.assignment-groups{gap:20px;display:grid}.assignment-group{gap:12px;display:grid}.assignment-group-header{justify-content:space-between;align-items:center;display:flex}.assignment-create-header{justify-content:space-between;margin-bottom:16px;display:flex}.assignment-form{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px}.assignment-form-grid{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr);gap:14px;display:grid}.field{gap:6px;display:grid}.assignment-create-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.field span,.field label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.field.span-2{grid-column:span 2}.continue-grid{gap:20px;display:grid}.continue-section{gap:12px;display:grid}.entry-shell{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:40px 20px;display:flex}.entry-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);text-align:center;padding:36px}.entry-brand{margin-bottom:16px;font-size:1.375rem;font-weight:800}.entry-subtitle{color:var(--muted);margin-bottom:24px;font-size:.9375rem}.entry-actions{gap:12px;margin-bottom:16px;display:grid}.entry-footnote{font-size:.8125rem}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:4px;padding:8px;font-size:1.375rem;line-height:1;display:inline-flex}.hamburger:hover{background:#0000000d}.sidebar-backdrop{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}.sidebar-backdrop.open{display:block}@media (width<=900px){.hamburger{justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:100;width:280px;height:100vh;transition:transform .25s ease-out;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.open{transform:translate(0)}.topbar{padding:12px 16px}.topbar-title{font-size:.875rem}.content{padding:16px}.card-grid{grid-template-columns:1fr!important}}@media (width<=480px){.topbar>div:last-child{gap:4px!important}.topbar .button{padding:6px 10px!important;font-size:.75rem!important}.page-title{font-size:1.375rem!important}.page-subtitle{font-size:.8125rem!important}.stat-grid{grid-template-columns:repeat(2,1fr)!important}.section,.card{padding:14px!important}table{font-size:.75rem!important}}@media (width<=700px){.content{padding:16px}.topbar{padding:12px 16px}.page-header{flex-direction:column;align-items:flex-start}.hub-actions{width:100%}.assignment-form-grid,.set-form-grid{grid-template-columns:1fr}.assignment-create-actions{flex-direction:column;align-items:flex-start}.field.span-2{grid-column:span 1}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:32px;display:flex}.auth-card{border:1px solid var(--border);width:100%;max-width:480px;box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:28px}.auth-header h1{margin:0 0 6px}.auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;display:grid}.tab-button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:.9rem}.tab-button.active{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.auth-form{gap:12px;display:grid}.field{gap:6px;font-size:.9rem;display:grid}.error-text{color:var(--danger);font-size:.85rem}.auth-demo{gap:8px;margin-top:20px;display:grid}.auth-signed-in{border:1px solid var(--border);background:var(--surface-subtle);border-radius:14px;margin-bottom:16px;padding:16px}.auth-user{font-weight:600}.class-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-card-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.class-progress-list{flex-direction:column;gap:16px;display:flex}.class-progress-table{gap:8px;margin-top:12px;display:grid}.class-progress-row{background:#f8fafce6;border:1px solid #0f172a14;border-radius:12px;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:10px 12px;font-size:.92rem;display:grid}.class-progress-row.class-progress-head{color:var(--muted);background:0 0;border:none;padding:0 4px;font-weight:600}.class-progress-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0;display:flex}.class-progress-summary{flex-direction:column;align-items:flex-end;gap:6px;font-size:.9rem;display:flex}.chip.subtle{color:var(--muted);background:#e2e8f0b3}.roster-table{gap:10px;padding:16px;display:grid}.roster-row{background:#f8fafce6;border:1px solid #0f172a14;border-radius:12px;grid-template-columns:2fr 1fr;gap:12px;padding:10px 12px;font-size:.92rem;display:grid}.roster-row.roster-head{color:var(--muted);background:0 0;border:none;padding:0 4px;font-weight:600}.class-code{background:var(--bg);border:1px dashed var(--border);border-radius:999px;padding:6px 12px;font-size:.9rem}.xp-bar-container{align-items:center;gap:8px;padding:4px 12px;font-size:.8125rem;display:flex}.xp-level-badge{background:var(--accent);color:#fff;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.xp-bar-track{background:var(--border);border-radius:999px;flex:1;min-width:80px;height:8px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg,var(--accent),#6c63ff);border-radius:999px;height:100%;transition:width .5s}.xp-bar-text{color:var(--muted);white-space:nowrap;font-weight:600}.xp-streak{font-weight:600}.xp-toast{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.xp-toast-item{background:var(--accent);color:#fff;border-radius:var(--radius);padding:12px 20px;font-size:1rem;font-weight:700;animation:.3s xp-slide-in;box-shadow:0 8px 24px #00000026}.xp-toast-item.level-up{background:linear-gradient(135deg,#f59e0b,#ef4444);padding:16px 24px;font-size:1.25rem}.xp-toast-item.achievement{background:#6c63ff}@keyframes xp-slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.notif-bell{cursor:pointer;padding:4px;font-size:1.25rem;position:relative}.notif-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-6px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:100;width:320px;max-height:400px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.notif-item{border-bottom:1px solid var(--border);padding:10px 14px}.notif-item.unread{background:var(--accent-soft)}.tab-bar{border-bottom:2px solid var(--border);gap:0;margin-bottom:20px;display:flex}.tab-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.875rem;font-weight:600}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.join-code{letter-spacing:12px;text-align:center;color:var(--accent);padding:24px 0;font-family:monospace;font-size:4rem;font-weight:800}.live-question{text-align:center;padding:32px 16px;font-size:1.6rem;font-weight:700}.live-answer-grid{grid-template-columns:1fr 1fr;gap:12px;max-width:600px;margin:0 auto;padding:16px;display:grid}.live-answer-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:center;padding:20px;font-size:1.1rem;font-weight:600}.live-answer-btn:hover{border-color:var(--accent)}.live-answer-btn.correct{border-color:var(--success);background:var(--success-soft)}.live-answer-btn.wrong{border-color:var(--danger);background:var(--danger-soft)}.read-aloud-active{outline:3px solid var(--accent);outline-offset:2px;background:var(--accent-soft,#e4f3ff);border-radius:8px}.live-answer-btn.read-aloud-active{border-color:var(--accent)}.live-waiting{text-align:center;color:var(--muted);padding:48px;font-size:1.2rem}.live-score{text-align:center;padding:16px;font-size:2rem;font-weight:800}.live-participants{flex-wrap:wrap;gap:8px;padding:16px;display:flex}.live-participant-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px;font-size:.8125rem;font-weight:600}.live-lobby-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-size:.8125rem;font-weight:600;animation:.35s cubic-bezier(.34,1.56,.64,1) both lobby-pop;display:flex}@keyframes lobby-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.live-timer-chip{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.live-timer-chip.low{color:var(--danger);animation:1s steps(2,end) infinite timer-blink}@keyframes timer-blink{50%{opacity:.45}}.live-podium{justify-content:center;align-items:flex-end;gap:16px;margin:8px 0 4px;display:flex}.live-podium .podium-step{flex-direction:column;align-items:center;gap:6px;display:flex}.live-podium .podium-block{background:var(--accent-soft);border-radius:10px 10px 0 0;justify-content:center;align-items:flex-start;width:96px;padding-top:6px;font-size:1.375rem;font-weight:800;display:flex}.live-podium .p1 .podium-block{background:linear-gradient(#fde68a,#f59e0b);height:96px}.live-podium .p2 .podium-block{background:linear-gradient(#e5e7eb,#9ca3af);height:68px}.live-podium .p3 .podium-block{background:linear-gradient(#fdba74,#ea580c);height:48px}.live-podium .podium-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-weight:700;overflow:hidden}.live-podium .podium-score{color:var(--muted);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.live-lobby-chip,.live-timer-chip.low{animation:none}}.live-lobby-chip{position:relative}.live-lobby-remove{width:32px;height:32px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;font-size:1.125rem;line-height:1;transition:opacity .12s,background .12s,color .12s;display:grid;position:absolute;top:2px;right:2px}.live-lobby-chip:hover .live-lobby-remove,.live-lobby-remove:focus-visible{opacity:1}.live-lobby-remove:hover,.live-lobby-remove:focus-visible{background:var(--danger-soft);color:var(--danger-ink)}@media (hover:none){.live-lobby-remove{opacity:1}}.live-roster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.live-roster-name{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.live-roster-remove{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.live-roster-remove:hover,.live-roster-remove:focus-visible{background:var(--danger-soft);color:var(--danger-ink)}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.achievement-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:16px}.achievement-card.earned{border-color:var(--success);background:var(--success-soft)}.achievement-card.unearned{opacity:.6}.ach-progress{background:var(--border);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.ach-progress-fill{background:var(--accent);border-radius:999px;height:100%}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.skill-node{border-radius:var(--radius-sm);border:2px solid var(--border);text-align:center;padding:16px}.skill-node.locked{opacity:.4;background:var(--surface-raised)}.skill-node.available{border-color:var(--accent);background:var(--accent-soft)}.skill-node.completed{border-color:var(--success);background:var(--success-soft)}.skill-node.mastered{border-color:var(--brand-warm);background:var(--warning-soft)}.lb-table{border-collapse:collapse;width:100%}.lb-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--muted);padding:10px 14px;font-size:.8125rem}.lb-table td{border-bottom:1px solid var(--border);padding:10px 14px}.admin-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:16px;display:flex}.admin-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.colour-dot{border-radius:999px;width:16px;height:16px;margin-right:8px;display:inline-block}.phase-indicator{text-align:center;color:var(--accent);text-transform:uppercase;letter-spacing:1px;padding:8px;font-size:.875rem;font-weight:700}.activity-progress{background:var(--border);border-radius:999px;height:6px;margin-bottom:16px;overflow:hidden}.activity-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.mc-options{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.mc-option{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:center;padding:14px;font-size:.9375rem;font-weight:600}.mc-option:hover{border-color:var(--accent)}.mc-option.correct{border-color:var(--success);background:var(--success-soft)}.mc-option.wrong{border-color:var(--danger);background:var(--danger-soft)}.daily-challenge{border-radius:var(--radius-sm);border:2px solid var(--warning);background:var(--warning-soft);padding:16px}.parent-view{max-width:800px;margin:40px auto;padding:0 20px}.parent-stat{text-align:center;color:var(--accent);font-size:2rem;font-weight:800}.parent-label{text-align:center;color:var(--muted);font-size:.8125rem}.chunk-table{border-collapse:collapse;width:100%;margin:12px 0}.chunk-table th,.chunk-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 12px;font-size:.875rem}.chunk-table th{color:var(--muted);font-weight:600}.lesson-stage{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;padding:14px}.frame-item{background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}@media (width<=640px){.live-answer-grid,.mc-options{grid-template-columns:1fr}.join-code{letter-spacing:6px;font-size:2.5rem}.achievement-grid{grid-template-columns:1fr}}.mentor-messages{flex-direction:column;gap:12px;padding:8px 0;display:flex}.mentor-bubble{border-radius:var(--radius-sm);max-width:80%;padding:12px 16px;font-size:.875rem;line-height:1.5}.mentor-bubble.student{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.mentor-bubble.mentor{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-role{opacity:.7;margin-bottom:4px;font-size:.6875rem;font-weight:700}.bubble-thinking{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent);margin-top:8px;padding:8px 12px;font-size:.8125rem;font-style:italic}.high-contrast{--bg:#000;--surface:#111;--text:#fff;--muted:#ff0;--accent:#0ff;--accent-soft:#033;--border:#fff;--success:#0f0;--danger:red;--warning:#ff0;--shop-art-plate:#fff}.high-contrast .sidebar{background:#111;border-color:#fff}.high-contrast .topbar{background:#000;border-color:#fff}.high-contrast .surface{background:#111;border-color:#555}.high-contrast .button{border-color:#fff}.high-contrast input,.high-contrast textarea,.high-contrast select{color:#fff;background:#222;border-color:#555}.skip-to-content{background:var(--accent);color:#fff;z-index:1000;border-radius:0 0 8px 8px;padding:12px 20px;font-weight:700;transition:top .2s;position:absolute;top:-100px;left:8px}.skip-to-content:focus{top:0}:focus-visible{outline:3px solid var(--accent,#3b82f6);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.muted{color:var(--muted,#637085)}.dark .muted{color:#9ca3af}button,.button,.sidebar-link,[role=button]{min-height:36px}@media (pointer:coarse){button,.button,.sidebar-link{min-height:44px}}input:focus-visible,textarea:focus-visible,select:focus-visible,.input:focus-visible{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 3px #3b82f633}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.xp-bar-fill{transition:none!important}.xp-toast-item{animation:none!important}.theme-play .gj-confetti,.theme-play .gj-level-up,.theme-play .anim-wiggle,.theme-play .xp-bar-fill,.theme-play .gos-xpbar-fill{transition:none!important;animation:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-link{align-items:center;gap:8px;display:flex}.sidebar-link-icon{text-align:center;flex-shrink:0;width:18px}.sidebar-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--danger,#ef4444);color:#fff;border-radius:999px;padding:1px 7px;font-size:.625rem;font-weight:700;line-height:1.5}.nav-new{background:var(--accent,#6366f1);color:#fff;text-transform:uppercase;border-radius:6px;padding:1px 5px;font-size:.5625rem;font-weight:800}.sidebar-continue{background:var(--surface,#f1f5f9);border-radius:8px;margin:4px 8px 8px;font-weight:700}.role-chip{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border,#e2e8f0);border-radius:999px;padding:2px 8px;font-size:.625rem;font-weight:800}.preview-banner{background:var(--warning-soft);color:var(--warning-ink);border-bottom:1px solid var(--warning-border);padding:6px 16px;font-size:.8125rem;font-weight:600}.preview-banner a{color:var(--warning-ink);font-weight:700}.breadcrumbs{color:var(--muted);margin-bottom:8px;font-size:.75rem}.breadcrumbs a{color:var(--muted);text-decoration:underline}.breadcrumbs [aria-current=page]{font-weight:700}.dev-quick-login{z-index:900;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed;bottom:12px;left:12px}.dev-quick-login-pill{background:var(--surface,#f1f5f9);border:1px solid var(--border,#e2e8f0);cursor:pointer;color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.6875rem;font-weight:700}.dev-quick-login-menu{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:4px;padding:6px;display:flex;box-shadow:0 8px 24px #0000001f}.dev-quick-login-menu .button{padding:4px 10px;font-size:.6875rem}.cmdk-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.cmdk{background:var(--surface,#fff);border-radius:12px;width:min(560px,92vw);overflow:hidden;box-shadow:0 20px 60px #0000004d}.cmdk-input{border:none;border-bottom:1px solid var(--border,#e2e8f0);border-radius:0;width:100%;padding:14px 16px;font-size:.9375rem}.cmdk-results{max-height:320px;padding:6px;overflow-y:auto}.cmdk-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.cmdk-item.active{background:var(--surface,#f1f5f9)}.cmdk-kind{font-size:.6875rem}.cmdk-empty{padding:14px}.cmdk-hint{border-top:1px solid var(--border,#e2e8f0);padding:8px 14px;font-size:.6875rem}.mobile-tabbar{display:none}@media (width<=768px){.mobile-tabbar{z-index:800;background:var(--surface,#fff);border-top:1px solid var(--border,#e2e8f0);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tab{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 10px;font-size:.6875rem;font-weight:600;text-decoration:none;display:flex}.mobile-tab.active{color:var(--accent,#6366f1)}.app-shell.has-tabbar .content{padding-bottom:84px}}@media (pointer:coarse){.sidebar-link{min-height:44px;padding-top:12px;padding-bottom:12px}.sidebar-section-header{min-height:44px}}.dev-quick-login-error{max-width:240px;color:var(--danger,#b91c1c);padding:4px 6px;font-size:.6875rem}.view-as-select{max-width:170px;padding:4px 8px;font-size:.75rem}.preview-banner-reset{color:var(--warning-ink);cursor:pointer;background:0 0;border:none;margin-left:10px;font-size:.8125rem;font-weight:700;text-decoration:underline}button.sidebar-link{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.arcade-platform-toggle{z-index:2;cursor:pointer;border:none;border-radius:999px;padding:3px 8px;font-size:.625rem;font-weight:800;position:absolute;top:8px;left:8px}.arcade-platform-toggle.on{background:var(--success-soft);color:var(--success-ink)}.arcade-platform-toggle.off{background:var(--danger-soft);color:var(--danger-ink)}.arcade-tile-platform-off{opacity:.45;filter:grayscale(.6)}.live-conn-banner{background:var(--warning-soft);color:var(--warning-ink);border:1px solid var(--warning-border);text-align:center;border-radius:8px;margin-bottom:12px;padding:8px 14px;font-size:.8125rem;font-weight:600;animation:1.6s ease-in-out infinite live-conn-pulse}@keyframes live-conn-pulse{50%{opacity:.65}}.live-conn-pill{z-index:2000;background:var(--warning-soft);color:var(--warning-ink);border:1px solid var(--warning-border);pointer-events:none;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:600;animation:1.6s ease-in-out infinite live-conn-pulse;display:inline-flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.math-block{margin:8px 0;overflow-x:auto}.math-inline{white-space:nowrap}.verify-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--warning-soft);color:var(--warning-ink);border-bottom:1px solid var(--warning-border);flex-wrap:wrap;font-size:.875rem;display:flex}.verify-banner-actions{gap:var(--space-2);flex-shrink:0;display:flex}.verify-banner-error{flex-basis:100%}.set-card-head{align-items:flex-start;gap:8px;display:flex}.set-card.selected{outline:2px solid var(--accent,#3b82f6);outline-offset:2px}.set-card-select{width:20px;height:20px;accent-color:var(--brand-strong,#15803d);flex:none;margin-top:4px}.set-card-snippet{background:var(--surface-subtle,var(--bg));color:var(--muted);border-radius:8px;margin:6px 0 0;padding:4px 8px;font-size:.75rem}.set-menu{flex:none;position:relative}.set-menu-trigger{cursor:pointer;border:1px solid var(--border);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--muted);border-radius:8px;place-items:center;font-size:1.1rem;font-weight:700;line-height:1;list-style:none;display:grid}.set-menu>summary::-webkit-details-marker{display:none}.set-menu-trigger[aria-expanded=true]{color:var(--text);background:var(--brand-soft)}.set-menu-trigger:focus-visible,.set-menu-item:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.set-card-head h3 a{color:inherit;text-decoration:none}.set-card-head h3 a:hover{text-decoration:underline}.set-menu-items{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:140px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0f172a24}.set-menu-item{width:100%;min-height:2.75rem;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;display:block}.set-menu-item:hover{background:var(--bg)}.set-menu-item.danger{color:var(--danger,#b91c1c)}.subject-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.9375rem;font-weight:600;transition:transform .1s,box-shadow .1s;display:inline-flex}.subject-chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.subject-chip .dot{border-radius:50%;flex:none;width:10px;height:10px}.subject-chip .count{color:var(--muted);font-size:.75rem;font-weight:400}.undo-toast{z-index:60;background:var(--text,#0f172a);max-width:min(560px,100vw - 32px);color:var(--bg,#fff);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:.9375rem;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0f172a47}.undo-toast .button{padding:6px 12px}.sets-pager{justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.set-picker{position:relative}.set-picker-chosen{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.set-picker-chosen .set-picker-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.set-picker-chosen .set-picker-meta{white-space:nowrap;font-size:.75rem}.set-picker-change{color:var(--brand-strong,#15803d);margin-left:auto;font-size:.75rem;font-weight:700}.set-picker-input{width:100%}.set-picker-list{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:10px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0f172a29}.set-picker-option{cursor:pointer;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.set-picker-option.active{background:var(--bg)}.set-picker-option .set-picker-title{font-weight:600}.set-picker-option .set-picker-meta,.set-picker-option .set-picker-snippet{font-size:.75rem}.set-picker-empty{padding:10px;font-size:.875rem}@keyframes tp-pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes tp-bounce-in{0%{opacity:0;transform:translateY(24px)scale(.9)}60%{opacity:1;transform:translateY(-6px)scale(1.05)}to{transform:translateY(0)scale(1)}}@keyframes tp-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes tp-press{0%{transform:translateY(0)}50%{transform:translateY(4px)scale(.98)}to{transform:translateY(0)}}@keyframes tp-flip-reveal{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(90deg)scale(1.08)}to{transform:rotateY(0)scale(1)}}.theme-play .anim-pop-in{animation:tp-pop-in .45s var(--ease-pop) both}.theme-play .anim-bounce-in{animation:tp-bounce-in .55s var(--ease-pop) both}.theme-play .anim-wiggle{animation:.6s ease-in-out tp-wiggle}@media (prefers-reduced-motion:reduce){.theme-play .anim-pop-in,.theme-play .anim-bounce-in,.theme-play .anim-wiggle{animation:none!important}}.theme-play{--c-red:#f26a6a;--c-red-base:#bd4a4a;--c-yellow:#f5cf57;--c-yellow-base:#c5a032;--c-green:#5fc78a;--c-green-base:#2f9456;--c-blue:#63b8e8;--c-blue-base:#3a86bb;--c-purple:#a892ee;--c-purple-base:#7660c4;--c-pink:#f088b6;--c-pink-base:#bd5b8a;--bg:#faf4e6;--bg-sky:#e4f3ff;--bg-mint:#e6f9ec;--bg-peach:#ffe8d6;--surface:#fff;--outline-dark:#14122824;--outline-width:1.5px;--border:#0000001a;--radius-xs:12px;--radius-sm:14px;--radius:18px;--radius-lg:26px;--radius-pill:9999px;--shadow-candy:0 3px 10px #1412281a;--shadow-candy-sm:0 2px 7px #14122817;--shadow-float:0 10px 26px #1412281f;--shadow:0 3px 10px #14122817;--accent:var(--c-blue);--accent-soft:#e4f3ff;--success:var(--c-green);--warning:var(--c-yellow);--danger:var(--c-red);--brand:var(--c-blue);--brand-strong:var(--c-blue-deep,#2b7fd4);--brand-ink:#fff;--brand-soft:#e4f3ff;--font-display:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-ui:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;background:var(--bg);font-family:var(--font-body);color:#2a2330;letter-spacing:.005em}.theme-play h1,.theme-play h2,.theme-play h3{font-family:var(--font-display);letter-spacing:.01em;color:#1d1630;font-weight:400}.theme-play h1{font-size:clamp(28px,4vw,48px)}.theme-play h2{font-size:clamp(22px,3vw,34px)}.theme-play h3{font-size:clamp(18px,2.2vw,24px)}.theme-play h4,.theme-play h5,.theme-play h6,.theme-play strong{font-family:var(--font-ui);letter-spacing:0;font-weight:800}.theme-play .page-title,.theme-play .page-subtitle{font-family:var(--font-ui);font-weight:800}.theme-play .btn-candy{background:var(--c-blue);color:#fff;border-radius:var(--radius);font:700 17px/1 var(--font-ui);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:48px;transition:transform 90ms var(--ease-quick), box-shadow .12s var(--ease-quick), filter .12s var(--ease-quick);border:1px solid #0f0c1e14;justify-content:center;align-items:center;gap:8px;padding:13px 22px;display:inline-flex;box-shadow:0 2px 6px #14122829}.theme-play .btn-candy:hover{filter:brightness(1.03);box-shadow:0 4px 12px #1412282e}.theme-play .btn-candy:active{transform:translateY(1px);box-shadow:0 1px 3px #14122838}.theme-play .btn-candy:focus-visible{outline-offset:3px;outline:3px solid #1d1630}.theme-play .btn-candy:disabled{filter:grayscale(.4)brightness(.95);cursor:not-allowed;opacity:.7}.theme-play .btn-candy.red{background:var(--c-red)}.theme-play .btn-candy.green{background:var(--c-green);color:#0c3a1c}.theme-play .btn-candy.yellow{background:var(--c-yellow);color:#3a2a00}.theme-play .btn-candy.purple{background:var(--c-purple)}.theme-play .btn-candy.pink{background:var(--c-pink)}.theme-play .btn-candy.sm{min-height:38px;padding:8px 14px;font-size:.875rem}.theme-play .btn-candy.lg{min-height:60px;padding:18px 28px;font-size:1.375rem}.theme-play .btn-candy.pill{border-radius:var(--radius-pill)}.theme-play .card-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-candy);padding:20px}.theme-play .card-candy.tint-sky{background:var(--bg-sky)}.theme-play .card-candy.tint-mint{background:var(--bg-mint)}.theme-play .card-candy.tint-peach{background:var(--bg-peach)}.theme-play .card-candy.tint-yellow{background:#fff4cc}.theme-play .pill-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius-pill);font:800 14px/1 var(--font-ui);box-shadow:var(--shadow-candy-sm);color:#1d1630;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.theme-play .badge-candy{background:var(--c-yellow);color:#3a2a00;border:2px solid var(--outline-dark);border-radius:var(--radius-pill);font:800 12px/1 var(--font-ui);box-shadow:0 3px 0 var(--c-yellow-base);align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.theme-play .tile-candy{background:var(--surface);border:var(--outline-width) solid var(--outline-dark);border-radius:var(--radius);box-shadow:var(--shadow-candy);font:700 16px/1.3 var(--font-ui);color:#1d1630;cursor:pointer;transition:transform 90ms var(--ease-quick), box-shadow 90ms var(--ease-quick), filter .12s;text-align:left;padding:16px 20px}.theme-play .tile-candy:hover{filter:brightness(1.03);transform:translateY(-2px)}.theme-play .tile-candy:active{box-shadow:var(--shadow-candy-sm);transform:translateY(4px)}.theme-play .section,.theme-play .card,.theme-play .surface{border-radius:var(--radius-lg);border:var(--outline-width) solid var(--outline-dark);box-shadow:var(--shadow-candy)}.theme-play .button{font-family:var(--font-ui);border-radius:var(--radius);letter-spacing:.01em;font-weight:800}.theme-play input,.theme-play textarea,.theme-play select,.theme-play .input{border-radius:var(--radius-sm);border:2px solid var(--outline-dark);font-family:var(--font-body)}.theme-play .gh-container{background:var(--game-surface,var(--surface));border-bottom:var(--outline-width) solid var(--game-outline,var(--outline-dark));min-height:64px;padding:10px 18px;box-shadow:0 4px #00000014}.theme-play .gh-timer{font-family:var(--font-display);color:var(--game-text,#1d1630);font-size:1.75rem}.theme-play .gh-timer-warning,.theme-play .gj-timer-warning{color:var(--game-danger,var(--c-red-base))}.theme-play .gh-progress-track{border-radius:var(--radius-pill);border:2px solid var(--game-outline,var(--outline-dark));background:var(--game-surface-2,#fff4cc);height:12px}.theme-play .gh-progress-fill{background:var(--game-success,var(--c-green));border-right:2px solid var(--c-green-base)}.theme-play .gh-progress-label{font-family:var(--font-ui);color:var(--game-text,#1d1630);font-weight:800}.theme-play .gh-combo{font-family:var(--font-ui);border-width:3px;padding:4px 14px;font-weight:800;box-shadow:0 3px #0000001f}.theme-play .gh-score{font-family:var(--font-display);color:var(--game-text,#1d1630);font-size:1.875rem}.theme-play .gh-mute{border-radius:var(--radius-pill);border:2px solid var(--game-outline,var(--outline-dark));background:var(--game-surface,var(--surface));opacity:1;padding:6px 10px;box-shadow:0 3px #00000026}.theme-play .gc-overlay{background:var(--game-overlay,#1d1630d9)}.theme-play .gc-title{font-family:var(--font-ui);font-weight:800}.theme-play .gc-num{font-family:var(--font-display);-webkit-text-stroke:4px var(--game-outline,var(--outline-dark));text-shadow:0 8px #0006;font-size:11.25rem}.theme-play .gc-num-1{color:var(--game-danger,var(--c-red))}.theme-play .gc-num-2{color:var(--game-warn,var(--c-yellow))}.theme-play .gc-num-3{color:var(--game-accent,var(--c-blue))}.theme-play .gc-go{font-family:var(--font-display);color:var(--game-success,var(--c-green));-webkit-text-stroke:4px var(--game-outline,var(--outline-dark));text-shadow:0 10px 0 var(--c-green-base);font-size:7.5rem}.theme-play .gls-container{background:var(--game-board,var(--bg-sky));border-radius:var(--radius-lg)}.theme-play .gls-title{font-family:var(--font-display);color:var(--game-text,#1d1630);font-size:2.5rem}.theme-play .gls-sub{font-family:var(--font-ui);color:var(--game-text-muted,#5a4a70);font-size:1rem;font-weight:700}.theme-play .gos-container{background:var(--game-board,var(--bg-sky));border-radius:var(--radius-lg);border:var(--outline-width) solid var(--game-outline,var(--outline-dark));box-shadow:var(--shadow-candy);margin-top:24px;padding-top:60px}.theme-play .gos-title{font-family:var(--font-display);color:var(--game-text,#1d1630);font-size:2.25rem}.theme-play .gos-score{font-family:var(--font-display);color:var(--game-accent,var(--c-blue));-webkit-text-stroke:3px var(--game-outline,var(--outline-dark));text-shadow:0 8px 0 var(--c-blue-base);background:0 0;-webkit-background-clip:initial;-webkit-text-fill-color:var(--game-accent,var(--c-blue));background-clip:initial;font-size:5rem}.theme-play .gos-score-label{font-family:var(--font-ui);color:var(--game-text-muted,#5a4a70);letter-spacing:.1em;text-transform:uppercase;font-size:.875rem;font-weight:800}.theme-play .gos-pb{background:var(--game-warn,var(--c-yellow));color:#3a2a00;border:3px solid var(--game-outline,var(--outline-dark));box-shadow:0 4px 0 var(--c-yellow-base);font-family:var(--font-ui);padding:10px 24px;font-weight:800}.theme-play .gos-xp{background:var(--game-surface,var(--surface));border:3px solid var(--game-outline,var(--outline-dark));border-radius:var(--radius);box-shadow:var(--shadow-candy-sm)}.theme-play .gos-xp-amount{font-family:var(--font-display);color:var(--game-accent,var(--c-blue))}.theme-play .gos-xp-level{font-family:var(--font-ui);color:var(--game-text,#1d1630);font-weight:800}.theme-play .gos-xpbar-track{border-radius:var(--radius-pill);border:2px solid var(--game-outline,var(--outline-dark));background:var(--game-surface-2,#fff4cc);height:14px}.theme-play .gos-xpbar-fill{background:var(--game-success,var(--c-green));border-right:2px solid var(--c-green-base)}.theme-play .gos-xpbar-label{font-family:var(--font-ui);color:var(--game-text,#1d1630);font-weight:800}.theme-play .gos-levelup{background:var(--game-accent,var(--c-pink));color:var(--game-text-inverse,#fff);border:3px solid var(--game-outline,var(--outline-dark));box-shadow:0 6px 0 var(--c-pink-base);font-family:var(--font-display);letter-spacing:.02em;padding:16px 38px;font-weight:400}.theme-play .gos-stat-value{font-family:var(--font-display);color:var(--game-text,#1d1630);font-size:2rem}.theme-play .gos-stat-combo{color:var(--game-warn,var(--c-yellow-base))}.theme-play .gos-stat-label{font-family:var(--font-ui);color:var(--game-text-muted,#5a4a70);letter-spacing:.05em;font-weight:800}.theme-play .gos-drop{background:var(--game-surface,var(--surface));border:3px solid var(--game-warn,var(--c-yellow));box-shadow:0 6px 0 var(--c-yellow-base);border-radius:var(--radius-lg)}.theme-play .gos-drop-label{font-family:var(--font-ui);color:var(--game-warn,var(--c-yellow-base));font-weight:800}.theme-play .gos-drop-name{font-family:var(--font-ui);color:var(--game-text,#1d1630);font-weight:800}.theme-play .qp-timer-track{border-radius:var(--radius-pill);border:2px solid var(--game-outline,var(--outline-dark));background:var(--game-surface-2,#fff4cc);height:14px}.theme-play .qp-timer-fill{background:var(--game-success,var(--c-green));border-right:2px solid var(--c-green-base)}.theme-play .qp-prompt{font-family:var(--font-display);color:var(--game-text,#1d1630);background:var(--game-surface,var(--surface));border:3px solid var(--game-outline,var(--outline-dark));border-radius:var(--radius-lg);box-shadow:var(--shadow-candy);margin-bottom:24px;padding:16px 24px;font-size:2rem}.theme-play .qp-option{min-height:80px;padding:22px 20px;font-size:1.25rem}.theme-play .qp-num{font-family:var(--font-ui);color:inherit;border-radius:var(--radius-pill);background:#fff6;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.875rem;font-weight:800;display:inline-flex}.theme-play .arcade-page{max-width:1400px;margin:0 auto;padding:20px 24px 48px}.theme-play .arcade-hero{margin-bottom:20px}.theme-play .arcade-title{font-family:var(--font-display);color:#1d1630;margin:0 0 4px;font-size:clamp(32px,5vw,52px)}.theme-play .arcade-sub{font-family:var(--font-ui);color:#5a4a70;margin:0;font-size:1rem;font-weight:700}.theme-play .arcade-setbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.theme-play .arcade-setbar-label{font-family:var(--font-ui);color:#1d1630;font-size:.875rem;font-weight:800}.theme-play .arcade-error{color:var(--c-red-base);font-family:var(--font-ui);margin-bottom:12px;font-weight:800}.theme-play .arcade-tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.theme-play .arcade-tabs .btn-candy{flex:1;min-width:180px}.theme-play .arcade-tab-off{color:#1d1630!important;text-shadow:none!important;background:#fff!important;box-shadow:0 6px #0000001f!important}.theme-play .arcade-cats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.theme-play .arcade-cat{cursor:pointer;transition:transform .1s var(--ease-quick), filter .12s}.theme-play .arcade-cat:hover{transform:translateY(-2px)}.theme-play .arcade-cat.active{background:var(--c-pink);color:#fff;box-shadow:0 3px 0 var(--c-pink-base)}.theme-play .arcade-cat-count{opacity:.7;margin-left:2px}.theme-play .arcade-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.theme-play .arcade-tile{cursor:pointer;min-height:200px;transition:transform .12s var(--ease-pop), filter .12s;flex-direction:column;padding:18px;display:flex;position:relative}.theme-play .arcade-tile:hover{transform:translateY(-4px)}.theme-play .arcade-tile:active{transform:translateY(2px)}.theme-play .arcade-tile-disabled{opacity:.55;filter:grayscale(.5);cursor:not-allowed}.theme-play .arcade-tile-disabled:hover{transform:none}.theme-play .arcade-fav{cursor:pointer;opacity:.3;transition:transform .12s var(--ease-pop);z-index:2;background:0 0;border:none;font-size:1.375rem;position:absolute;top:10px;right:12px}.theme-play .arcade-fav.on{opacity:1}.theme-play .arcade-fav:hover{transform:scale(1.2)rotate(10deg)}.theme-play .arcade-tile-head{align-items:center;gap:12px;margin-bottom:10px;padding-right:30px;display:flex}.theme-play .arcade-tile-icon{background:var(--surface);border:3px solid var(--outline-dark);border-radius:var(--radius);width:56px;height:56px;box-shadow:var(--shadow-candy-sm);justify-content:center;align-items:center;font-size:2.625rem;display:inline-flex}.theme-play .arcade-tile-meta{flex:1;min-width:0}.theme-play .arcade-tile-name{font-family:var(--font-ui);color:#1d1630;white-space:nowrap;text-overflow:ellipsis;font-size:1.125rem;font-weight:800;overflow:hidden}.theme-play .arcade-tile-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.theme-play .arcade-tile-desc{font-family:var(--font-body);color:#3a2f4d;flex:1;margin-bottom:10px;font-size:.875rem;font-weight:400;line-height:1.45}.theme-play .arcade-tile-warn{font-family:var(--font-ui);color:var(--c-yellow-base);align-items:center;gap:4px;margin:6px 0;font-size:.75rem;font-weight:700;display:flex}.theme-play .arcade-tile-play{width:100%;margin-top:auto}.theme-play .xp-bar-container{background:var(--surface);border:2px solid var(--outline-dark);border-radius:var(--radius-pill);box-shadow:var(--shadow-candy-sm);gap:10px;padding:6px 14px}.theme-play .xp-level-badge{background:var(--c-yellow);color:#3a2a00;border:2px solid var(--outline-dark);font-family:var(--font-ui);box-shadow:0 2px 0 var(--c-yellow-base);padding:3px 12px;font-size:.8125rem;font-weight:800}.theme-play .xp-bar-track{border:2px solid var(--outline-dark);background:#fff4cc;min-width:100px;height:10px}.theme-play .xp-bar-fill{background:var(--c-green)}.theme-play .xp-bar-text{font-family:var(--font-ui);color:#1d1630;font-weight:800}.theme-play .xp-streak{font-family:var(--font-ui);color:var(--c-red-base);font-weight:800}.theme-play .achievement-toast{border:3px solid var(--outline-dark)!important;border-radius:var(--radius-lg)!important;font-family:var(--font-ui)!important;box-shadow:0 8px #0000002e!important}.theme-play .page-title{font-family:var(--font-display);color:#1d1630;font-size:clamp(28px,4vw,42px)}.theme-play .page-subtitle,.theme-play .muted{font-family:var(--font-ui);color:#5a4a70;font-weight:700}.theme-play .chip{background:var(--surface);border:2px solid var(--outline-dark);border-radius:var(--radius-pill);font-family:var(--font-ui);color:#1d1630;padding:3px 10px;font-weight:800;box-shadow:0 2px #0000001f}.theme-play .button.primary{background:var(--c-blue);color:#fff;border:3px solid var(--outline-dark);box-shadow:0 6px 0 var(--c-blue-base);font-family:var(--font-ui);border-radius:var(--radius);font-weight:800}.theme-play .button.primary:active{box-shadow:0 2px 0 var(--c-blue-base);transform:translateY(4px)}.dark .theme-play{--c-red:#ef7a7a;--c-red-base:#b34444;--c-yellow:#f2d870;--c-yellow-base:#b08a2a;--c-green:#6fd09c;--c-green-base:#318a52;--c-blue:#76bce6;--c-blue-base:#357fb0;--c-purple:#b29ee6;--c-purple-base:#6f56be;--c-pink:#ee9bc0;--c-pink-base:#b65a87;--bg:#181024;--bg-sky:#18223a;--bg-mint:#14281e;--bg-peach:#2e1c14;--surface:#251838;--outline-dark:#ffffff1f;--border:#ffffff1f;--shadow-candy:0 3px 12px #00000073;--shadow-candy-sm:0 2px 8px #0006;--shadow-float:0 10px 28px #00000073;--accent:var(--c-blue);--accent-soft:#6cceff26;--success:var(--c-green);--warning:var(--c-yellow);--danger:var(--c-red);background:var(--bg);color:#f4ead6}.dark .theme-play h1,.dark .theme-play h2,.dark .theme-play h3,.dark .theme-play .arcade-title{color:#f4ead6}.dark .theme-play .arcade-sub{color:#bfa98a}.dark .theme-play .arcade-setbar-label{color:#f4ead6}.dark .theme-play .arcade-error{color:var(--c-red)}.dark .theme-play .arcade-tile-icon{background:var(--surface)}.dark .theme-play .arcade-tile-name{color:#f4ead6}.dark .theme-play .arcade-tile-desc{color:#d0b9a0}.dark .theme-play .arcade-tile-warn{color:var(--c-yellow)}.dark .theme-play .arcade-tab-off{background:var(--surface)!important;color:#f4ead6!important;box-shadow:0 6px #00000080!important}.dark .theme-play .arcade-cat.active{background:var(--c-pink);color:#1e0c14;box-shadow:0 3px 0 var(--c-pink-base)}.dark .theme-play .card-candy,.dark .theme-play .tile-candy,.dark .theme-play .pill-candy{background:var(--surface);color:#f4ead6}.dark .theme-play .card-candy.tint-sky{background:var(--bg-sky);color:#e4f3ff}.dark .theme-play .card-candy.tint-mint{background:var(--bg-mint);color:#d3ffe3}.dark .theme-play .card-candy.tint-peach{background:var(--bg-peach);color:#ffe3d0}.dark .theme-play .card-candy.tint-yellow{color:#fff4cc;background:#3a2e10}.dark .theme-play .btn-candy.green{color:#0a2a14}.dark .theme-play .btn-candy.yellow{color:#2a1e00}.dark .theme-play .section,.dark .theme-play .card,.dark .theme-play .surface,.dark .theme-play .chip{background:var(--surface);color:#f4ead6}.dark .theme-play .muted,.dark .theme-play .page-subtitle{color:#bfa98a}.dark .theme-play .page-title{color:#f4ead6}.dark .theme-play .gh-container{background:var(--game-surface,var(--surface))}.dark .theme-play .gh-timer,.dark .theme-play .gh-score{color:var(--game-text,#f4ead6)}.dark .theme-play .gh-progress-track{background:var(--game-surface-2,#3a2e10)}.dark .theme-play .gh-progress-label{color:var(--game-text,#f4ead6)}.dark .theme-play .gh-mute{background:var(--game-surface,var(--surface))}.dark .theme-play .gc-overlay{background:var(--game-overlay,#000000eb)}.dark .theme-play .gls-container{background:var(--game-board,var(--bg-sky))}.dark .theme-play .gls-title{color:var(--game-text,#f4ead6)}.dark .theme-play .gls-sub{color:var(--game-text-muted,#bfa98a)}.dark .theme-play .gos-container{background:var(--game-board,var(--bg-sky))}.dark .theme-play .gos-title{color:var(--game-text,#f4ead6)}.dark .theme-play .gos-score{color:var(--game-accent,var(--c-blue));-webkit-text-fill-color:var(--game-accent,var(--c-blue))}.dark .theme-play .gos-score-label{color:var(--game-text-muted,#bfa98a)}.dark .theme-play .gos-xp{background:var(--game-surface,var(--surface))}.dark .theme-play .gos-xp-level{color:var(--game-text,#f4ead6)}.dark .theme-play .gos-xpbar-track{background:var(--game-surface-2,#3a2e10)}.dark .theme-play .gos-xpbar-label,.dark .theme-play .gos-stat-value{color:var(--game-text,#f4ead6)}.dark .theme-play .gos-stat-label{color:var(--game-text-muted,#bfa98a)}.dark .theme-play .gos-drop{background:var(--game-surface,var(--surface))}.dark .theme-play .gos-drop-name{color:var(--game-text,#f4ead6)}.dark .theme-play .qp-timer-track{background:var(--game-surface-2,#3a2e10)}.dark .theme-play .qp-prompt{background:var(--game-surface,var(--surface));color:var(--game-text,#f4ead6)}.dark .theme-play .xp-bar-container{background:var(--surface)}.dark .theme-play .xp-bar-track{background:#3a2e10}.dark .theme-play .xp-bar-text{color:#f4ead6}.dark .theme-play .xp-streak{color:var(--c-red)}.dark .theme-play input,.dark .theme-play textarea,.dark .theme-play select,.dark .theme-play .input{background:var(--surface);color:#f4ead6}.dark .theme-play .rd-front{background:var(--surface)}.dark .theme-play .rd-name{color:#f4ead6}.dark .theme-play .rd-hint{color:#bfa98a}:root[data-text-scale]{zoom:var(--a11y-zoom,1)}:root[data-contrast=high]{--bg:#fff;--surface:#fff;--border:#000;--text:#000;--muted:#1c1c1c;--accent:#0032c8;--accent-soft:#dfe6ff;--brand:#a86800;--brand-strong:#7a4b00;--brand-ink:#000;--brand-soft:#fff2d6;--success:#006b2f;--warning:#7a4b00;--danger:#b3001b;--ai-accent:#4c1d95;--ai-surface:#f4efff;--ai-chip-bg:#e9dcff;--shadow:none}:root[data-contrast=high] .card,:root[data-contrast=high] .surface,:root[data-contrast=high] .button,:root[data-contrast=high] input,:root[data-contrast=high] select,:root[data-contrast=high] textarea{border-width:2px}:root[data-contrast=high] :focus-visible{outline-offset:2px;outline:3px solid #0032c8}:root[data-contrast=high] ::placeholder{color:#3a3a3a;opacity:1}:root[data-contrast=high] :disabled{opacity:1;color:#3a3a3a}@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}html[data-font=dyslexic] body,html[data-font=dyslexic] button,html[data-font=dyslexic] input,html[data-font=dyslexic] textarea,html[data-font=dyslexic] select{font-family:OpenDyslexic,Nunito,Segoe UI,system-ui,sans-serif}html[data-font=dyslexic] body{line-height:1.55}.app-nav{background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e8f0);z-index:50;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.skip-link{z-index:1000;color:#fff;background:var(--brand-strong,#15803d);border-radius:.65rem;padding:.7rem 1rem;font-weight:800;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{outline:3px solid var(--brand-warm,#fbbf24);outline-offset:2px;transform:translateY(0)}.app-brand{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.app-brand:hover{filter:brightness(1.08)}.app-nav-links{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow:visible}.app-nav-links::-webkit-scrollbar{display:none}.nav-link{min-height:2.75rem;color:var(--text-muted,#475569);white-space:nowrap;border-radius:8px;align-items:center;padding:7px 12px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.nav-link:hover{background:var(--surface-alt,#f1f5f9);color:var(--text,#0f172a)}.nav-link.is-active{background:var(--brand-soft);color:var(--brand-strong);box-shadow:inset 0 -2px var(--brand-strong)}.nav-link:focus-visible,.app-brand:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.app-nav-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.app-nav-actions .btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:8px 16px;font-size:.92rem;font-weight:700;text-decoration:none}.app-nav-actions .btn-primary{background:var(--brand-strong);color:#fff}.app-nav-actions .btn-primary:hover{filter:brightness(1.05)}.app-nav-actions .btn-ghost{color:var(--text-muted,#475569);border-color:var(--border,#e2e8f0);background:0 0}.app-nav-actions .btn-ghost:hover{background:var(--surface-alt,#f1f5f9);color:var(--text,#0f172a)}.page-loading{text-align:center;color:var(--text-muted,#475569);padding:48px 20px;font-weight:600}.app-bare .content-bare{max-width:none;margin:0;padding:0}@media (width<=640px){.app-nav{gap:10px;padding:8px 12px}.app-brand{font-size:1.15rem}.nav-link{padding:6px 9px;font-size:.88rem}}@media (width<=480px){.app-nav{gap:4px;padding-inline:8px}.nav-link{padding-inline:6px;font-size:.86rem}.app-nav--rows{flex-wrap:wrap;gap:2px 8px;padding-bottom:4px}.app-nav--rows .app-nav-links{flex-basis:100%;order:3;justify-content:space-between;gap:0}.app-nav--rows .app-nav-actions{margin-left:auto}}@media (prefers-color-scheme:dark){.app-nav{background:var(--surface,#0f172a);border-bottom-color:var(--border,#1e293b)}.nav-link{color:var(--text-muted,#94a3b8)}.nav-link:hover,.nav-link.is-active{background:var(--surface-alt,#1e293b);color:var(--text,#f1f5f9)}}.join-code-input{text-align:center;letter-spacing:.22em;text-transform:uppercase;text-indent:.22em;width:100%;padding:14px 12px;font-size:clamp(1.8rem,9vw,2.6rem);font-weight:800}.join-code-help{text-align:center;margin:-4px 0 0;font-size:.85rem}.hub-host{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.hub-host-btn{border-radius:999px;padding:14px 24px;font-size:1.05rem;font-weight:800}.hub-host-hint{color:var(--text-muted,#64748b);font-size:.85rem}.app-brand{align-items:center;gap:8px;display:inline-flex}.app-brand-mark{flex-shrink:0;width:26px;height:26px}@media (width<=420px){.logo-word{display:none}}.logo{align-items:center;gap:calc(var(--logo-size,28px) * .28);line-height:1;display:inline-flex}.logo-word{font-family:Titan One,Fredoka Variable,system-ui,sans-serif;font-size:calc(var(--logo-size,28px) * 1.05);letter-spacing:-.015em;white-space:nowrap}.logo-word-brock{color:var(--brand)}.logo-word-ily{color:var(--text)}.logo-mark{flex-shrink:0;display:block}.page-loading{min-height:40vh;color:var(--text-muted,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.page-loading-brock{animation:1.4s ease-in-out infinite brock-pulse}@keyframes brock-pulse{0%,to{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.page-loading-brock{opacity:.8;animation:none}}.nav-more{cursor:pointer;font-size:var(--text-xl);padding:var(--space-1) var(--space-2);color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}.nav-more:hover{background:var(--surface-raised)}.nav-more:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.acct{position:relative}.acct-trigger{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);min-width:2.75rem;min-height:2.75rem;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);cursor:pointer;color:var(--text);font-weight:700;font-size:var(--text-sm);background:0 0;display:inline-flex}.acct-trigger:hover{background:var(--surface-raised)}.acct-trigger:focus-visible{outline:3px solid var(--brand);outline-offset:2px}@media (width<=720px){.acct-name{display:none}}.acct-menu{right:0;top:calc(100% + var(--space-2));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:12rem;max-width:calc(100vw - 1rem);max-height:calc(100dvh - 7rem);box-shadow:var(--shadow);padding:var(--space-2);z-index:200;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.acct-item{text-align:left;cursor:pointer;width:100%;min-height:2.75rem;font:inherit;color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:600;display:block}.acct-item:hover{background:var(--surface-raised)}.acct-item:focus-visible{outline:3px solid var(--brand);outline-offset:-2px}.acct-signout{color:var(--danger-ink);border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:var(--space-1);padding-top:var(--space-3)}.shortcuts{position:relative}.shortcuts-trigger{border:1px solid var(--border);border-radius:var(--radius-pill);min-height:2.75rem;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.875rem;font-weight:700;display:inline-flex}.shortcuts-trigger:hover,.shortcuts-trigger[aria-expanded=true]{background:var(--brand-soft);color:var(--brand-strong)}.shortcuts-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:29rem;max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 7rem);box-shadow:var(--shadow);z-index:200;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto}.shortcuts-panel h2{color:var(--muted);margin:0 0 .4rem;font-size:.75rem}.shortcuts-panel a{min-height:2.75rem;color:var(--text);border-radius:var(--radius-sm);align-items:center;padding:.5rem;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.shortcuts-panel a:hover{color:var(--brand-strong);background:var(--brand-soft)}.shortcuts-trigger:focus-visible,.shortcuts-panel a:focus-visible{outline:3px solid var(--brand-strong);outline-offset:1px}@media (width<=60rem){.app-nav--rows .app-nav-links{flex-basis:100%;order:3;justify-content:space-between;gap:0}.app-nav--rows .app-nav-actions{margin-left:auto}}@media (width<=40rem){.shortcuts-panel{gap:.5rem;width:auto;max-width:none;padding:.75rem;position:fixed;top:4rem;left:.5rem;right:.5rem}.app-nav--rows .logo-word{display:inline}.app-nav--rows .nav-link{flex:1;justify-content:center;padding-inline:.3rem}}@media (width<=22rem){.app-nav--rows .logo-word{display:none}.shortcuts-panel{grid-template-columns:1fr}}.drawer-scrim{z-index:99;background:#0f172a73;position:fixed;inset:0}.sidebar-group{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:var(--space-4) var(--space-3) var(--space-1);font-weight:800}.hub-tabs{gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);scrollbar-width:none;display:flex;overflow-x:auto}.hub-tabs::-webkit-scrollbar{display:none}.hub-tab{align-items:center;gap:var(--space-2);padding:.6rem var(--space-3);font-weight:700;font-size:var(--text-sm);color:var(--muted);white-space:nowrap;border-radius:var(--radius-sm);border:1px solid #0000;display:inline-flex}.hub-tab:hover{color:var(--brand-strong);background:var(--brand-soft)}.hub-tab.is-active{color:var(--brand-strong);border-color:var(--brand-border);background:var(--brand-soft)}.hub-tab:focus-visible{outline:3px solid var(--brand);outline-offset:1px}.hub-tab-icon{width:1.35rem;height:1.35rem;color:var(--brand-strong);font-size:var(--text-xs);background:color-mix(in srgb, var(--brand) 13%, var(--surface));border-radius:.4rem;place-items:center;display:grid}.hub-subtabs{gap:var(--space-1);margin:0 0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);padding:.25rem;display:inline-flex}.hub-subtabs a{color:var(--muted);font-size:var(--text-sm);border-radius:var(--radius-pill);padding:.45rem .9rem;font-weight:800;text-decoration:none}.hub-subtabs a:hover{color:var(--brand-strong)}.hub-subtabs a.is-active{color:#fff;background:var(--brand-strong)}.board-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));display:grid}.board-card{gap:var(--space-1);padding:var(--space-2);text-align:left;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius,12px);cursor:pointer;font:inherit;color:inherit;flex-direction:column;display:flex;position:relative}.board-card:hover:not(:disabled),.board-card.is-active{border-color:var(--brand-strong)}.board-card.is-locked{cursor:pointer;opacity:.78;text-decoration:none}.board-card.is-locked:hover{opacity:1;border-color:var(--brand-border)}.board-swatch{border-radius:8px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:6px;height:4.5rem;padding:9px;display:grid;position:relative;overflow:hidden}.board-swatch-pad{background:#fff;border:1.5px solid;border-radius:5px}.board-card-name{font-weight:700;font-size:var(--text-sm)}.board-card-blurb{font-size:var(--text-xs);color:var(--text-muted,#637085)}.board-card-flag{top:var(--space-2);right:var(--space-2);background:var(--brand-strong);color:#fff;font-size:var(--text-xs);border-radius:999px;padding:2px 7px;font-weight:700;position:absolute}.board-card-lock{top:var(--space-2);right:var(--space-2);position:absolute}.board-empty{margin-top:var(--space-4)}.content-landing{max-width:none;padding:0}.landing{--landing-green:#15803d;--landing-green-dark:#106b35;--landing-green-soft:#ecf8df;--landing-mint:#dff5be;--landing-lilac:#efe4ff;--landing-blue:#dff3ff;--landing-cream:#fffdf5;--landing-ink:var(--text);--landing-body:var(--muted);--landing-surface:var(--surface);--landing-raised:var(--surface-raised);--landing-line:var(--border);color:var(--landing-ink);background:var(--bg);overflow:clip}.dark .landing{--landing-green-soft:#22c55e1f;--landing-mint:#84cc161f;--landing-lilac:#a855f71f;--landing-blue:#38bdf81f;--landing-cream:var(--surface-subtle)}.landing-wrap{width:min(100% - 2.5rem,74rem);margin-inline:auto}.landing h1,.landing h2,.landing h3{color:var(--landing-ink);font-family:"Fredoka Variable", "Fredoka", var(--font-display)}.landing h2{letter-spacing:-.035em;font-size:clamp(2rem,4.4vw,3.65rem);font-weight:760;line-height:1.04}.landing-section{padding:clamp(4rem,8vw,6.5rem) 0}.landing-kicker{color:var(--landing-green);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:950}.dark .landing-kicker{color:var(--brand-light)}.landing-section-head{margin-bottom:2rem}.landing-section-head>p,.landing-section-head-split>p,.landing-section-intro{color:var(--landing-body);font-size:1.02rem;line-height:1.7}.landing-section-head-split{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:end;gap:clamp(2rem,6vw,6rem);display:grid}.landing-section-head-split>p{margin:0 0 .25rem}.landing-section-head.is-centered{text-align:center;max-width:52rem;margin-inline:auto}.landing-section-head.is-centered>p:last-child{max-width:42rem;margin:1rem auto 0}.landing-hero{background:radial-gradient(circle at 12% 28%, var(--landing-mint), transparent 26rem), radial-gradient(circle at 100% 22%, var(--landing-lilac), transparent 24rem), linear-gradient(145deg, var(--landing-cream), var(--bg));padding:clamp(3.5rem,8vw,7rem) 0 clamp(4rem,8vw,6.5rem);position:relative}.landing-hero:before,.landing-hero:after{content:"";pointer-events:none;border-radius:40%;position:absolute}.landing-hero:before{background:var(--landing-lilac);width:12rem;height:22rem;top:7%;right:-5rem;transform:rotate(11deg)}.landing-hero:after{background:var(--landing-mint);opacity:.7;width:15rem;height:15rem;bottom:6%;left:-6rem}.landing-hero-grid{z-index:1;grid-template-columns:minmax(19rem,.82fr) minmax(29rem,1.18fr);align-items:center;gap:clamp(2.5rem,6vw,5.5rem);display:grid;position:relative}.landing-hero-copy{min-width:0}.landing-eyebrow{border:1px solid var(--brand-border);border-radius:var(--radius-pill);min-height:2.75rem;color:var(--landing-green-dark);background:color-mix(in srgb, var(--landing-surface) 78%, transparent);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.65rem;margin:0 0 1.25rem;padding:.55rem 1rem;font-size:.76rem;font-weight:950;line-height:1.35;display:inline-flex}.dark .landing-eyebrow{color:var(--brand-light)}.landing-eyebrow i{background:var(--brand);width:.66rem;height:.66rem;box-shadow:0 0 0 .38rem var(--brand-soft);border-radius:50%}.landing-hero h1{letter-spacing:-.055em;max-width:11ch;margin:0;font-size:clamp(3.2rem,6.1vw,6.2rem);font-weight:780;line-height:.95}.landing-hero h1 span{color:var(--landing-green)}.dark .landing-hero h1 span{color:var(--brand-light)}.landing-hero-lede{max-width:41rem;color:var(--landing-body);margin:1.4rem 0 0;font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.68}.landing-cta-row{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.landing-btn{border-radius:var(--radius-pill);text-align:center;min-height:2.9rem;transition:transform var(--dur-quick) var(--ease-quick), box-shadow var(--dur-quick) var(--ease-quick), background var(--dur-quick) var(--ease-quick);border:2px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.78rem 1.35rem;font-size:.94rem;font-weight:900;line-height:1.2;text-decoration:none;display:inline-flex}.landing-btn:hover{transform:translateY(-2px)}.landing-btn:focus-visible{outline:3px solid var(--brand-warm);outline-offset:3px}.landing-btn-primary{color:#fff;background:var(--landing-green-dark);box-shadow:0 .7rem 1.6rem #106b352e}.landing-btn-primary:hover{background:#0b5a2c}.landing-btn-secondary{color:var(--landing-ink);border-color:var(--landing-line);background:var(--landing-surface)}.landing-btn-secondary:hover{border-color:var(--brand-border);background:var(--landing-green-soft)}.landing-offer-note{color:var(--landing-body);flex-wrap:wrap;gap:.55rem 1.35rem;margin-top:1.35rem;font-size:.79rem;font-weight:750;display:flex}.landing-offer-note span{padding-left:.9rem;position:relative}.landing-offer-note span:before{background:var(--brand);content:"";border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:.5em;left:0}.landing-product{border:1px solid color-mix(in srgb, var(--landing-line) 78%, transparent);background:var(--landing-surface);border-radius:1.5rem;min-width:0;overflow:hidden;transform:rotate(.4deg);box-shadow:0 2rem 5rem #0f172a29}.dark .landing-product{box-shadow:0 2rem 5rem #00000057}.landing-window-bar{border-bottom:1px solid var(--landing-line);background:var(--landing-raised);align-items:center;gap:.45rem;min-height:2.55rem;padding:.7rem 1rem;display:flex}.landing-window-bar>span{background:var(--brand-border);border-radius:50%;width:.65rem;height:.65rem}.landing-window-bar>span:nth-child(2){background:var(--brand-warm)}.landing-window-bar>span:nth-child(3){background:var(--brand)}.landing-window-bar b{color:var(--landing-body);margin-left:.35rem;font-size:.69rem;font-weight:800}.landing-product-shell{padding:clamp(.85rem,2vw,1.2rem)}.landing-product-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.landing-product-top strong,.landing-product-top span{display:block}.landing-product-top strong{font-size:.9rem}.landing-product-top span{color:var(--landing-body);margin-top:.15rem;font-size:.7rem;line-height:1.4}.landing-product-top em{border-radius:var(--radius-pill);color:#fff;background:var(--landing-green-dark);flex:none;padding:.35rem .65rem;font-size:.67rem;font-style:normal;font-weight:900}.landing-preview-tabs{background:var(--landing-raised);border-radius:.85rem;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;display:grid}.landing-preview-tabs button{min-height:2.75rem;color:var(--landing-body);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:.65rem;font-size:.78rem;font-weight:850}.landing-preview-tabs button[aria-selected=true]{color:var(--landing-green-dark);background:var(--landing-surface);box-shadow:var(--shadow-sm)}.dark .landing-preview-tabs button[aria-selected=true]{color:var(--brand-light)}.landing-preview-tabs button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.landing-preview-panel{padding-top:.85rem}.landing-preview-panel[hidden]{display:none}.landing-capture{border:1px solid var(--landing-line);background:var(--landing-raised);border-radius:1rem;margin:0;overflow:hidden}.landing-capture video,.landing-capture img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.landing-capture figcaption{min-height:2.65rem;color:var(--landing-body);justify-content:space-between;align-items:center;gap:.7rem;padding:.55rem .7rem;font-size:.65rem;line-height:1.35;display:flex}.landing-capture figcaption strong{color:var(--landing-green-dark);flex:none;font-weight:900}.dark .landing-capture figcaption strong{color:var(--brand-light)}.landing-mode-explorer{padding:.8rem .15rem 0}.landing-mode-explorer>p{color:var(--landing-body);font-size:.7rem;line-height:1.5}.landing-mode-explorer>div{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.landing-mode-explorer button{border:1px solid var(--landing-line);border-radius:var(--radius-pill);min-height:2.4rem;color:var(--landing-ink);background:var(--landing-surface);cursor:pointer;font:inherit;padding:.45rem .65rem;font-size:.67rem;font-weight:850}.landing-mode-explorer button[aria-pressed=true]{border-color:var(--brand-border);color:var(--landing-green-dark);background:var(--landing-green-soft)}.dark .landing-mode-explorer button[aria-pressed=true]{color:var(--brand-light)}.landing-mode-detail{min-height:2.2rem;margin-top:.55rem}.landing-report-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.landing-report-trigger>span{border-radius:var(--radius-pill);color:#fff;background:#0f172ad1;padding:.4rem .65rem;font-size:.66rem;font-weight:900;position:absolute;bottom:.75rem;right:.75rem}.landing-report-trigger:focus-visible{outline:4px solid var(--brand-warm);outline-offset:-4px}.landing-proof-strip{border-block:1px solid var(--landing-line);background:var(--landing-surface)}.landing-proof-strip ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;padding:1.15rem 0;list-style:none;display:grid}.landing-proof-strip li{color:var(--landing-body);align-items:center;gap:.6rem;font-size:.78rem;font-weight:800;line-height:1.4;display:flex}.landing-proof-strip i{width:1.6rem;height:1.6rem;color:var(--landing-green-dark);background:var(--landing-green-soft);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.dark .landing-proof-strip i{color:var(--brand-light)}.landing-plans{background:radial-gradient(circle at 4% 12%, var(--landing-blue), transparent 24rem), var(--bg)}.landing-plan-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.landing-plan-card{border:1px solid var(--landing-line);background:var(--landing-surface);box-shadow:var(--shadow-sm);border-radius:1.5rem;flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,3vw,2.25rem);display:flex;position:relative}.landing-plan-card.is-featured{border:2px solid var(--brand);box-shadow:var(--shadow-pop)}.landing-plan-label{border-radius:var(--radius-pill);color:var(--landing-green-dark);background:var(--landing-green-soft);letter-spacing:.05em;text-transform:uppercase;padding:.38rem .75rem;font-size:.72rem;font-weight:950}.landing-plan-card.is-featured .landing-plan-label{color:#fff;background:var(--landing-green-dark)}.landing-plan-card h3{margin:1rem 0 0;font-size:1.65rem;font-weight:750}.landing-plan-price{color:var(--landing-green-dark);margin-top:.5rem;font-size:1.3rem;font-weight:950}.dark .landing-plan-price{color:var(--brand-light)}.landing-plan-price span{color:var(--landing-body);font-size:.82rem;font-weight:750}.landing-plan-card ul{gap:.7rem;margin:1.25rem 0 1.5rem;padding:0;list-style:none;display:grid}.landing-plan-card li{color:var(--landing-body);padding-left:1.5rem;line-height:1.5;position:relative}.landing-plan-card li:before{color:var(--brand);content:"✓";font-weight:1000;position:absolute;left:0}.landing-plan-card .landing-btn{margin-top:auto}.landing-plan-note{color:var(--landing-body);margin-top:.85rem;font-size:.78rem}.landing-retention{background:var(--landing-surface)}.landing-report-grid{grid-template-columns:minmax(18rem,.86fr) minmax(28rem,1.14fr);align-items:center;gap:clamp(2.5rem,7vw,6rem);display:grid}.landing-report-copy .landing-section-intro{margin-top:1.2rem}.landing-winning{border:1px solid var(--brand-border);background:var(--landing-green-soft);border-radius:1rem;gap:.9rem;margin-top:1.35rem;padding:1rem;display:flex}.landing-winning>span{color:var(--landing-green);font-size:1.35rem;line-height:1}.landing-winning strong{color:var(--landing-ink)}.landing-winning p{color:var(--landing-body);margin-top:.25rem;font-size:.86rem;line-height:1.5}.landing-report-points{gap:1rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.landing-report-points li{gap:.85rem;display:flex}.landing-report-points li>span{color:#fff;background:var(--landing-green-dark);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:950;display:grid}.landing-report-points strong{display:block}.landing-report-points p{color:var(--landing-body);margin-top:.2rem;font-size:.84rem;line-height:1.5}.landing-report-card{border:1px solid var(--landing-line);background:var(--landing-surface);box-shadow:var(--shadow);border-radius:1.5rem;margin:0;padding:clamp(1rem,2.8vw,1.6rem)}.landing-report-head{justify-content:space-between;gap:1rem;display:flex}.landing-report-head h3{margin:0;font-size:1rem}.landing-report-head p{color:var(--landing-body);margin-top:.2rem;font-size:.75rem}.landing-report-head>span{border-radius:var(--radius-pill);color:var(--landing-green-dark);background:var(--landing-green-soft);align-self:flex-start;padding:.38rem .62rem;font-size:.66rem;font-weight:900}.dark .landing-report-head>span{color:var(--brand-light)}.landing-report-card svg{width:100%;height:auto;margin-top:.7rem;display:block;overflow:visible}.landing-chart-grid{stroke:var(--landing-line);stroke-width:1px}.landing-chart-labels{fill:var(--landing-body);font-family:Nunito,sans-serif;font-size:.8rem}.landing-chart-without{fill:none;stroke:var(--landing-body);stroke-width:4px;stroke-dasharray:9 8;stroke-linecap:round}.landing-chart-with{fill:none;stroke:var(--landing-green);stroke-width:6px;stroke-linecap:round}.landing-chart-exam{stroke:var(--danger);stroke-width:2px;stroke-dasharray:5 5}.landing-chart-with-dot{fill:var(--landing-green)}.landing-chart-without-dot{fill:var(--landing-body)}.landing-chart-with-value,.landing-chart-without-value{font-family:Nunito,sans-serif;font-size:.85rem;font-weight:900}.landing-chart-with-value{fill:var(--landing-green)}.landing-chart-without-value{fill:var(--landing-body)}.landing-chart-legend{color:var(--landing-body);flex-wrap:wrap;gap:.7rem 1.2rem;font-size:.72rem;display:flex}.landing-chart-legend span{align-items:center;gap:.4rem;display:flex}.landing-chart-legend i{border-top:3px solid var(--landing-green);width:1.6rem}.landing-chart-legend i.is-without{border-color:var(--landing-body);border-top-style:dashed}.landing-report-card figcaption{color:var(--landing-body);margin-top:.8rem;font-size:.76rem;line-height:1.5}.landing-catalog{background:var(--surface-subtle)}.landing-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.landing-catalog-card{border:1px solid var(--landing-line);border-top:4px solid var(--brand);background:var(--landing-surface);border-radius:1.15rem;padding:1.15rem}.landing-catalog-card[data-category=Party]{border-top-color:#9333ea}.landing-catalog-card[data-category=Royale]{border-top-color:#d79a00}.landing-catalog-card[data-category=Arena]{border-top-color:#0284c7}.landing-catalog-card>div{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.landing-catalog-card h3{margin:0;font-size:1rem}.landing-catalog-card>div>span{color:var(--landing-body);font-size:.66rem;font-weight:900}.landing-catalog-card ul{flex-wrap:wrap;gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.landing-catalog-card li,.landing-map-strip span{border:1px solid var(--landing-line);border-radius:var(--radius-pill);color:var(--landing-body);background:var(--landing-raised);padding:.42rem .58rem;font-size:.68rem;font-weight:800;line-height:1.35}.landing-map-strip{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1.3rem;display:flex}.landing-map-strip span{color:var(--landing-ink);background:var(--landing-surface)}.landing-tools-note{max-width:56rem;color:var(--landing-body);text-align:center;margin:1.4rem auto 0;font-size:.82rem;line-height:1.6}.landing-school{background:var(--landing-surface)}.landing-school-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.landing-school-grid article{border:1px solid var(--landing-line);background:var(--landing-raised);border-radius:1.15rem;padding:1.2rem}.landing-school-grid strong{display:block}.landing-school-grid p{color:var(--landing-body);margin-top:.4rem;font-size:.82rem;line-height:1.55}.landing-school-grid a{color:var(--landing-green-dark);font-weight:800}.dark .landing-school-grid a{color:var(--brand-light)}.landing-final{text-align:center;background:radial-gradient(circle at 18% 100%, var(--landing-mint), transparent 25rem), radial-gradient(circle at 88% 0%, var(--landing-lilac), transparent 25rem), var(--landing-cream)}.landing-final h2{max-width:15ch;margin-inline:auto}.landing-final>div>p:not(.landing-kicker){max-width:40rem;color:var(--landing-body);margin:1.1rem auto 0;font-size:1.02rem;line-height:1.65}.landing-final .landing-cta-row{justify-content:center}.landing-footer{border-top:1px solid var(--landing-line);background:var(--landing-surface);padding:clamp(3rem,6vw,4.5rem) 0 1.6rem}.landing-footer-grid{grid-template-columns:minmax(16rem,1.4fr) repeat(3,minmax(8rem,.65fr));gap:2rem;display:grid}.landing-footer-brand>a{text-decoration:none;display:inline-flex}.landing-footer-brand>p{max-width:22rem;color:var(--landing-body);margin-top:1rem;font-size:.88rem;line-height:1.6}.landing-footer-brand>span{border:1px solid var(--brand-border);border-radius:var(--radius-pill);color:var(--landing-green-dark);background:var(--landing-green-soft);margin-top:1rem;padding:.45rem .7rem;font-size:.72rem;font-weight:850;display:inline-flex}.dark .landing-footer-brand>span{color:var(--brand-light)}.landing-footer-grid>div:not(.landing-footer-brand){flex-direction:column;align-items:flex-start;display:flex}.landing-footer-grid h2{color:var(--landing-green-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .65rem;font-size:.75rem}.dark .landing-footer-grid h2{color:var(--brand-light)}.landing-footer-grid>div:not(.landing-footer-brand) a{min-height:2.75rem;color:var(--landing-body);align-items:center;font-size:.85rem;text-decoration:none;display:inline-flex}.landing-footer-grid a:hover{color:var(--landing-green);text-decoration:underline}.landing-footer-bottom{border-top:1px solid var(--landing-line);color:var(--landing-body);justify-content:space-between;gap:1rem;margin-top:2.4rem;padding-top:1.2rem;font-size:.78rem;display:flex}.landing-retention-dialog{border:1px solid var(--landing-line);width:min(94vw,70rem);max-width:none;max-height:92vh;color:var(--landing-ink);background:var(--landing-surface);border-radius:1.35rem;padding:0;box-shadow:0 2rem 6rem #0000005c}.landing-retention-dialog::backdrop{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#0f172ab8}.landing-retention-dialog>div{padding:1.2rem}.landing-retention-dialog header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.landing-retention-dialog header p{color:var(--landing-green);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem;font-weight:950}.landing-retention-dialog h2{margin-top:.2rem;font-size:clamp(1.25rem,2.4vw,1.85rem)}.landing-retention-dialog button{border:1px solid var(--landing-line);width:2.75rem;height:2.75rem;color:var(--landing-ink);background:var(--landing-raised);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.4rem;display:grid}.landing-retention-dialog button:focus-visible{outline:3px solid var(--brand-warm);outline-offset:2px}.landing-retention-dialog img{border:1px solid var(--landing-line);border-radius:.9rem;width:100%;height:auto;display:block}.landing-retention-dialog>div>p{color:var(--landing-body);margin-top:.7rem;font-size:.76rem}@media (width<=62rem){.landing-hero-grid,.landing-report-grid{grid-template-columns:1fr}.landing-hero-copy{max-width:44rem}.landing-product{width:min(100%,47rem);margin-inline:auto;transform:none}.landing-proof-strip ul,.landing-catalog-grid,.landing-school-grid{grid-template-columns:1fr 1fr}.landing-footer-grid{grid-template-columns:1.35fr repeat(3,1fr)}}@media (width<=46rem){.landing-wrap{width:min(100% - 1.5rem,74rem)}.landing-section{padding:3.8rem 0}.landing-hero{padding:3rem 0 4rem}.landing-hero-grid{gap:2.5rem}.landing-hero h1{font-size:clamp(3rem,15vw,4.8rem)}.landing-section-head-split{grid-template-columns:1fr;gap:1rem}.landing-plan-grid{grid-template-columns:1fr}.landing-footer-grid{grid-template-columns:1fr 1fr}.landing-footer-brand{grid-column:1/-1}}@media (width<=32.5rem){.landing-eyebrow{text-align:center;justify-content:center;width:100%}.landing-cta-row{grid-template-columns:1fr;display:grid}.landing-btn{width:100%}.landing-offer-note{gap:.55rem;display:grid}.landing-window-bar b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.landing-product-top{align-items:flex-start}.landing-product-top em{display:none}.landing-capture figcaption{flex-direction:column;align-items:flex-start}.landing-capture figcaption strong{flex:auto}.landing-mode-explorer>div{grid-template-columns:1fr;display:grid}.landing-mode-explorer button{min-height:2.75rem}.landing-proof-strip ul,.landing-catalog-grid,.landing-school-grid{grid-template-columns:1fr}.landing-proof-strip li{min-height:2.75rem}.landing-report-head{flex-direction:column;align-items:flex-start}.landing-chart-labels{font-size:.72rem}.landing-footer-grid{grid-template-columns:1fr}.landing-footer-brand{grid-column:auto}.landing-footer-bottom{display:block}.landing-footer-bottom span{margin-top:.35rem;display:block}.landing-retention-dialog>div{padding:.75rem}}@media (prefers-reduced-motion:reduce){.landing-btn{transition:none}.landing-btn:hover,.landing-product{transform:none}}.notfound{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:1.5rem;display:flex}.notfound-brock{animation:3.6s ease-in-out infinite brock-bob}@keyframes brock-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.4rem)}}.notfound-code{color:var(--text);margin:.25rem 0 .5rem;font-family:Titan One,Fredoka Variable,system-ui,sans-serif;font-size:clamp(2.6rem,9vw,4rem)}.notfound-lede{max-width:30ch;color:var(--muted);margin:0 0 1.6rem;font-size:1.05rem}.notfound-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.notfound{--landing-green:#15803d;--landing-green-dark:#106b35;--landing-ink:var(--text);--landing-line:var(--border);--landing-surface:var(--surface)}.landing-btn-ghost{color:var(--landing-ink);border-color:var(--landing-line);background:0 0}.landing-btn-ghost:hover{background:var(--landing-surface)}@media (prefers-reduced-motion:reduce){.notfound-brock{animation:none}}.host-setup{max-width:60rem;margin:0 auto;padding:1.5rem 1rem 4rem}.host-setup-head h1{margin:0 0 .25rem;font-size:1.75rem}.host-setup-head p{color:var(--muted);margin:0 0 1.25rem}.host-panel{background:var(--surface);border:1px solid var(--border);border-radius:1rem;margin-bottom:1rem;padding:1rem 1.15rem 1.25rem}.host-panel h2{margin:0 0 .75rem;font-size:1.05rem}.host-panel select,.host-panel .host-set-search{width:100%;font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--border);border-radius:.7rem;padding:.7rem .8rem;font-weight:700}.host-mode-cat h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.85rem 0 .4rem;font-size:.72rem}.host-mode-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;display:grid}.host-mode,.host-game{text-align:left;font:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:.7rem;flex-direction:column;gap:.15rem;padding:.6rem .7rem;display:flex}.host-mode:hover,.host-game:hover{border-color:var(--brand)}.host-mode.is-on,.host-game.is-on{border-color:var(--brand);background:var(--brand-soft)}.host-mode-name{font-size:.9rem;font-weight:800}.host-mode-desc{color:var(--muted);font-size:.72rem;line-height:1.3}.host-map-row{flex-wrap:wrap;gap:.5rem;display:flex}.host-map{font:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:999px;padding:.55rem .85rem;font-weight:800}.host-map.is-on{border-color:var(--brand);background:var(--brand-soft)}.host-cta{text-align:center;margin-top:1.5rem}.host-start{font:inherit;cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:999px;padding:.85rem 2.5rem;font-size:1.15rem;font-weight:900}.host-start:disabled{opacity:.5;cursor:not-allowed}.host-hint{color:var(--muted);margin:.6rem 0 0;font-size:.8rem}.host-error{background:var(--danger-soft);color:var(--danger-ink);border:1px solid var(--danger-border);border-radius:.7rem;padding:.7rem .9rem;font-weight:700}.host-empty{color:var(--muted);margin:0}.host-retry{font:inherit;cursor:pointer;color:var(--danger-ink);background:0 0;border:2px solid;border-radius:999px;margin-left:.5rem;padding:.2rem .7rem;font-weight:800}.host-lobby{flex-direction:column;min-height:70vh;display:flex}.host-code-bar{text-align:center;background:var(--brand);color:#fff;flex-direction:column;align-items:center;gap:.6rem;padding:1.1rem 1rem 1.4rem;display:flex}.host-code-label{font-weight:700;line-height:1.2}.host-code-label p{opacity:.9;margin:0;font-size:clamp(1rem,1.7vw,1.4rem)}.host-code-label .host-url{letter-spacing:.01em;font-size:clamp(1.6rem,3.6vw,2.9rem);font-weight:900;opacity:1!important}.host-code{letter-spacing:.12em;font-size:clamp(3rem,11vw,7rem);font-weight:900;line-height:1}.host-copy{font:inherit;cursor:pointer;color:#fff;background:#ffffff2e;border:2px solid #ffffff80;border-radius:999px;padding:.45rem 1rem;font-weight:800}.host-copy.is-copied{color:var(--brand);background:#fff;border-color:#fff}body.host-projecting .app-nav,body.host-projecting .skip-link,body.host-projecting .verify-banner{display:none}body.host-projecting .content{padding-top:0}.host-lobby-body{text-align:center;flex:1;padding:1.5rem 1rem 3rem}.host-lobby-head h1{margin:0;font-size:1.6rem}.host-lobby-head p{color:var(--muted);margin:.2rem 0 0;font-weight:700}.host-count{margin:1.25rem 0 .75rem;font-size:1.1rem}.host-players{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:55rem;margin:0 auto;padding:0;list-style:none;display:flex}.host-players li{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .8rem .3rem .35rem;font-weight:800;display:flex}.host-lobby-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.host-back{font:inherit;cursor:pointer;color:var(--text);border:2px solid var(--border);background:0 0;border-radius:999px;padding:.8rem 1.4rem;font-weight:800}.board-page{max-width:62rem;margin:0 auto;padding:1rem 1rem 3rem}.board-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.board-head h1{margin:0 0 .15rem;font-size:1.4rem}.board-tabs{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;margin:1rem 0;display:grid}.board-tab{text-align:left;font:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:.7rem;flex-direction:column;gap:.1rem;padding:.55rem .7rem;display:flex}.board-tab:hover{border-color:var(--brand)}.board-tab.is-on{border-color:var(--brand);background:var(--brand-soft)}.board-tab-label{font-size:.9rem;font-weight:800}.board-tab-blurb{color:var(--muted);font-size:.7rem}.hub-board{flex-direction:column;gap:.5rem;display:flex}.hub-board-row{flex-wrap:wrap;gap:.4rem;display:flex}.host-panel .host-set-search{margin-bottom:.5rem}.host-race-board{gap:.4rem;max-width:42rem;margin:.75rem auto;padding:0;list-style:none;display:grid}.host-race-board li{background:var(--surface);border:1px solid var(--border);border-radius:.9rem;grid-template-columns:2.5rem 1fr auto auto;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:1.15rem;display:grid}.host-race-board li.is-finished{border-color:var(--brand);background:var(--brand-soft)}.host-race-rank{text-align:center;font-size:1.4rem;font-weight:900}.host-race-board li:first-child.is-finished .host-race-rank:after{content:" 🥇"}.host-race-board li:nth-child(2).is-finished .host-race-rank:after{content:" 🥈"}.host-race-board li:nth-child(3).is-finished .host-race-rank:after{content:" 🥉"}.host-race-name{font-weight:800}.host-race-stage,.host-race-oofs{color:var(--muted);white-space:nowrap;font-size:.95rem}.host-settings{flex-wrap:wrap;gap:1rem;display:flex}.host-field{flex-direction:column;flex:14rem;gap:.3rem;min-width:14rem;display:flex}.host-field>span{font-size:.9rem;font-weight:700}.host-field select,.host-field input[type=number]{border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;border-radius:.7rem;padding:.55rem .7rem}.billing-page{max-width:44rem;margin:0 auto;padding:1rem 1rem 3rem}.billing-page h1{margin:0 0 1rem;font-size:1.6rem}.billing-page h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.78rem}.billing-status{border:2px solid var(--border);background:var(--surface);border-radius:.9rem;margin-bottom:1rem;padding:1rem 1.15rem}.billing-status strong{font-size:1.1rem;display:block}.billing-status p{color:var(--muted);margin:.3rem 0 0}.billing-status.is-pro{border-color:var(--brand);background:var(--brand-soft)}.billing-status.is-free{border-color:var(--warning-border);background:var(--warning-soft)}.billing-status.is-free strong{color:var(--warning-ink)}.billing-what ul{gap:.3rem;margin:0;padding-left:1.1rem;display:grid}.billing-what li{line-height:1.45}.billing-actions{justify-items:start;gap:.75rem;margin-top:1.5rem;display:grid}.billing-cta{font:inherit;cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:999px;padding:.75rem 1.6rem;font-size:1.02rem;font-weight:800}.billing-cta:disabled{opacity:.55;cursor:not-allowed}.billing-secondary{font:inherit;cursor:pointer;color:var(--text);border:2px solid var(--border);background:0 0;border-radius:999px;padding:.6rem 1.1rem;font-weight:700}.billing-notlive{border:1px dashed var(--border);border-radius:.8rem;justify-items:start;gap:.6rem;padding:.85rem 1rem;display:grid}.billing-notlive p{color:var(--muted);margin:0;font-size:.9rem}.billing-error{color:var(--danger-ink);font-weight:700}.report-exports{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;display:flex}
