:root,[data-theme=light]{--bg:#f4f7fb;--surface:#fff;--surface-2:#eaf0f7;--soft:#eaf0f7;--lift:#dbe4ef;--ink:#17233a;--muted:#5b6b82;--line:#dde5ef;--line-strong:#c3cfdd;--fill:#17233a;--fill-ink:#fff;--header:#fff;--dock:#fff;--accent:#2f6fe4;--accent-deep:#1f55b8;--accent-ink:#fff;--accent-soft:#e4edfd;--green:#14a44d;--green-deep:#0e7f3b;--yellow:#ffc72c;--yellow-deep:#d9a100;--red:#e8344a;--red-deep:#b9223a;--saffron:#ffc72c;--saffron-soft:#fff4d1;--saffron-ink:#8a6200;--clay:#e8344a;--sky:#2f6fe4;--plum:#7c4ddc;--good:#14a44d;--good-soft:#def5e6;--bad:#e8344a;--bad-soft:#fde3e6;--shadow-sm:0 1px 2px #17233a0f;--shadow:0 2px 6px #17233a14;--shadow-lift:0 10px 28px -10px #17233a40;--inner-highlight:inset 0 0 0 0 transparent;--scrim:#17233a80;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#000;--surface:#0a0a0a;--surface-2:#121212;--soft:#141414;--lift:#1f1f1f;--ink:#fafafa;--muted:#8b8b8b;--line:#1c1c1c;--line-strong:#2b2b2b;--fill:#fafafa;--fill-ink:#000;--header:#000000d1;--dock:#000000e6;--accent:#fafafa;--accent-deep:#fafafa;--accent-ink:#000;--accent-soft:#161616;--green:#3ddc84;--green-deep:#3ddc84;--yellow:#ffd23f;--yellow-deep:#ffd23f;--red:#ff5c5c;--red-deep:#ff5c5c;--saffron:#ffd23f;--saffron-soft:#1a1608;--saffron-ink:#ffd23f;--clay:#ff5c5c;--sky:#fafafa;--plum:#b69cff;--good:#3ddc84;--good-soft:#0c1f14;--bad:#ff5c5c;--bad-soft:#210c0c;--shadow-sm:none;--shadow:none;--shadow-lift:0 24px 60px -24px #000000e6;--inner-highlight:inset 0 0 0 0 transparent;--scrim:#000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--display:Nunito, "Noto Sans Ethiopic", system-ui, sans-serif;--glyph:"Noto Sans Ethiopic", Nunito, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Nunito,Noto Sans Ethiopic,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--ink);transition:background-color .25s var(--ease), color .25s var(--ease);margin:0}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent)}h1,h2,h3,h4,p{margin:0}img{max-width:100%;display:block}.site-frame{min-height:100vh}.overline{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600;display:block}.today-page,.content-page{width:min(1120px,100%);animation:page-in .5s var(--ease) both;margin:0 auto;padding:40px 32px 120px}.lessons-heading{margin-bottom:36px}.lessons-heading h1{font:700 clamp(38px, 6vw, 64px)/1.05 var(--display);letter-spacing:-.035em;margin:10px 0 12px}.lessons-heading p{color:var(--muted);font-size:18px;line-height:1.5}.studio-cta,.ink-button,.lesson-next,.game-feedback button,.game-result button:first-child,.planned-lessons button,.today-plan-bottom button,.empty-day-panel button,.plan-editor footer button[type=submit]{background:var(--fill);height:44px;color:var(--fill-ink);white-space:nowrap;box-shadow:var(--shadow-sm);transition:transform .25s var(--spring), opacity .2s, box-shadow .25s, background-color .2s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14.5px;font-weight:600;display:inline-flex}.studio-cta:hover,.ink-button:hover,.lesson-next:not(:disabled):hover,.game-feedback button:hover,.game-result button:first-child:hover,.planned-lessons button:hover,.today-plan-bottom button:hover,.empty-day-panel button:hover,.plan-editor footer button[type=submit]:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.studio-cta:active,.ink-button:active,.lesson-next:active,.game-feedback button:active,.game-result button:active,.planned-lessons button:active{transform:scale(.97)}.week-strip{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);border-radius:20px;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:24px;padding:6px;display:grid}.week-strip button{transition:transform .25s var(--spring), background-color .2s, border-color .2s;background:0 0;border:1px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 0 10px;display:flex}.week-strip button:hover{transform:translateY(-1px)}.week-strip button:not(.is-today):hover{background:var(--soft)}.week-strip small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.week-strip strong{font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.week-strip i,.week-strip em{background:var(--accent);border-radius:50%;width:5px;height:5px}.week-strip em{background:0 0}.week-strip .is-today{background:var(--fill);color:var(--fill-ink);box-shadow:var(--shadow-sm)}.week-strip .is-today small{color:inherit;opacity:.7}.week-strip .is-today i{background:var(--fill-ink)}.week-strip .selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-calendar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow), var(--inner-highlight);-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:28px;margin-top:24px;padding:24px}.plan-calendar-bar{align-items:center;gap:8px;margin-bottom:20px;display:flex}.plan-calendar-bar h2{font:600 24px/1.1 var(--display);letter-spacing:-.02em;flex:1;order:-1}.plan-calendar-bar>button:not(.today-jump){background:var(--soft);border:1px solid var(--line);width:36px;height:36px;transition:background-color .2s, border-color .2s, transform .2s var(--spring);border-radius:50%;place-items:center;display:grid}.plan-calendar-bar>button:hover{background:var(--lift);border-color:var(--line-strong)}.plan-calendar-bar>button:active{transform:scale(.92)}.today-jump{background:var(--soft);border:1px solid var(--line);border-radius:999px;height:36px;padding:0 16px;font-size:13.5px;font-weight:500;transition:background-color .2s,border-color .2s}.today-jump:hover{background:var(--lift);border-color:var(--line-strong)}.calendar-views{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.calendar-views button{height:30px;color:var(--muted);border-radius:999px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s,box-shadow .2s}.calendar-views button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm), var(--inner-highlight);font-weight:600}[data-theme=dark] .calendar-views button.active{background:var(--lift)}.days-board{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.day-pane{background:var(--soft);border:1px solid var(--line);min-height:300px;box-shadow:var(--shadow-sm), var(--inner-highlight);text-align:left;animation:rise .45s var(--ease) both;transition:transform .3s var(--spring), background-color .25s, border-color .25s, color .25s;border-radius:22px;flex-direction:column;align-items:flex-start;padding:22px;display:flex}.day-pane:nth-child(2){animation-delay:40ms}.day-pane:nth-child(3){animation-delay:80ms}.day-pane:hover{border-color:var(--line-strong);transform:translateY(-2px)}.day-pane small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.day-pane strong{font:600 68px/.9 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:10px}.day-pane>span{color:var(--muted);margin-top:4px;font-size:14px}.day-pane p{color:var(--muted);margin-top:auto;font-size:13.5px}.day-pane-lesson{border-top:1px solid var(--line);width:100%;margin-top:auto;padding-top:14px}.day-pane-lesson b{font-size:15px;font-weight:600;line-height:1.3;display:block}.day-pane-lesson em{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:4px;font-size:13.5px;font-style:normal;display:-webkit-box;overflow:hidden}.day-pane.is-today{background:var(--fill);color:var(--fill-ink);box-shadow:var(--shadow-lift);border-color:#0000}.day-pane.is-today small,.day-pane.is-today>span,.day-pane.is-today p,.day-pane.is-today em{color:inherit;opacity:.7}.day-pane.is-today .day-pane-lesson{border-color:color-mix(in srgb, var(--fill-ink) 18%, transparent)}.plan-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.plan-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:6px 0;font-size:11.5px;font-weight:600}.plan-grid{animation:page-in .35s var(--ease) both;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.plan-cell{background:var(--soft);border:1px solid var(--line);text-align:left;min-width:0;min-height:96px;transition:background-color .2s, border-color .2s, transform .25s var(--spring);border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;display:flex}.plan-cell:not(.empty,.is-today):hover{background:var(--lift);border-color:var(--line-strong)}.plan-cell.empty{background:0 0;border-color:#0000}.cal-num{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.cal-event{background:var(--surface);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:100%;margin-top:auto;padding:3px 8px;font-size:11.5px;font-weight:500;overflow:hidden}.plan-cell.is-today{background:var(--fill);color:var(--fill-ink);box-shadow:var(--shadow-sm);border-color:#0000}.plan-cell.is-today .cal-event{background:color-mix(in srgb, var(--fill-ink) 18%, transparent);border-color:#0000}.plan-cell.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-overlay,.owner-overlay,.editor-overlay{z-index:60;background:var(--scrim);-webkit-backdrop-filter:blur(10px);place-items:center;padding:24px;animation:.3s both veil;display:grid;position:fixed;inset:0;overflow-y:auto}.owner-overlay{z-index:80}.editor-overlay{z-index:90}.day-window{background:var(--surface);border:1px solid var(--line);width:min(720px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lift), var(--inner-highlight);animation:sheet .45s var(--ease) both;overscroll-behavior:contain;border-radius:28px;padding:28px;overflow-y:auto}.day-window-bar,.plan-editor>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.day-window-bar h2,.plan-editor>header h2{font:600 24px/1.15 var(--display);letter-spacing:-.02em;margin-top:6px}.day-window-bar button,.plan-editor>header button{background:var(--soft);border:1px solid var(--line);width:36px;height:36px;transition:background-color .2s, border-color .2s, transform .2s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.day-window-bar button:hover,.plan-editor>header button:hover{background:var(--lift);border-color:var(--line-strong);transform:rotate(90deg)}.day-window-bar button svg,.plan-editor>header button svg{width:18px;height:18px}.day-window-body{gap:12px;display:grid}.today-plan-card,.homework-plan,.resources-plan{background:var(--soft);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);border-radius:20px;padding:22px}.plan-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.today-badge{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:600}.actual-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.today-plan-content{justify-content:space-between;align-items:flex-end;gap:20px;margin:18px 0;display:flex}.plan-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.today-plan-content h2{font:600 24px/1.15 var(--display);letter-spacing:-.02em;margin:6px 0}.today-plan-content p{color:var(--muted);font-size:14.5px}.planner-letters{flex:none;gap:8px;display:flex}.planner-letters button{background:var(--surface);border:1px solid var(--line);width:50px;height:50px;box-shadow:var(--shadow-sm), var(--inner-highlight);font:700 22px var(--glyph);transition:transform .25s var(--spring), border-color .2s;border-radius:14px;place-items:center;display:grid}.planner-letters button:hover{border-color:var(--line-strong);transform:translateY(-2px)}.today-plan-bottom{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding-top:18px;display:flex}.today-plan-bottom>div{color:var(--muted);align-items:center;gap:10px;display:flex}.today-plan-bottom span{flex-direction:column;font-size:13px;line-height:1.3;display:flex}.today-plan-bottom b{color:var(--ink);font-size:14px;font-weight:600}.today-plan-bottom button{height:44px;margin-left:auto}.side-card-heading{align-items:center;gap:14px;display:flex}.side-card-heading>span{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;box-shadow:var(--shadow-sm), var(--inner-highlight);border-radius:12px;flex:none;place-items:center;display:grid}.side-card-heading small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.side-card-heading h2{font:600 16px/1.2 var(--display);letter-spacing:-.01em}.task-paper,.resource-list{gap:8px;margin-top:16px;display:grid}.paper-task{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);text-align:left;transition:color .2s, border-color .2s, background-color .2s, transform .2s var(--spring);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:14.5px;display:flex}.paper-task:hover{background:var(--soft);border-color:var(--line-strong);transform:translateY(-1px)}.paper-task:active{transform:scale(.99)}.paper-task>span{border:1.5px solid var(--line-strong);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;transition:background-color .2s,border-color .2s;display:grid}.paper-task.complete{color:var(--muted);text-decoration:line-through}.paper-task.complete>span{border-color:var(--good);background:var(--good);color:#fff;animation:pop .35s var(--spring)}.no-homework{color:var(--muted);margin-top:12px;font-size:14px}.resource-list>div{align-items:center;gap:6px;display:flex}.resource-list a{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm), var(--inner-highlight);color:var(--ink);transition:border-color .2s, background-color .2s, transform .2s var(--spring);border-radius:14px;flex:1;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.resource-list a:hover{background:var(--soft);border-color:var(--line-strong);transform:translateY(-1px)}.resource-list a span{flex-direction:column;min-width:0;display:flex}.resource-list b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.resource-list small{color:var(--muted);font-size:12px}.resource-list>div>button{width:38px;height:38px;color:var(--muted);border:1px solid #0000;border-radius:50%;place-items:center;transition:background-color .2s,color .2s;display:grid}.resource-list>div>button:hover{background:var(--surface);border-color:var(--line);color:var(--bad)}.attach-resource-button,.edit-plan-button{background:var(--surface);border:1px solid var(--line);height:40px;box-shadow:var(--shadow-sm), var(--inner-highlight);border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:0 18px;font-size:13.5px;font-weight:500;transition:background-color .2s,border-color .2s;display:inline-flex}.edit-plan-button{background:0 0;justify-self:start;margin-top:4px}.attach-resource-button:hover,.edit-plan-button:hover{background:var(--lift);border-color:var(--line-strong)}.empty-day-panel{text-align:center;justify-items:center;gap:10px;padding:36px 20px 20px;display:grid}.empty-day-panel svg{width:34px;height:34px;color:var(--muted)}.empty-day-panel h2{font:600 26px var(--display);letter-spacing:-.02em}.empty-day-panel p{color:var(--muted);margin-bottom:12px;font-size:14.5px}.planned-lessons{gap:12px;display:grid}.planned-lessons article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);animation:rise .5s var(--ease) both;transition:transform .3s var(--spring), box-shadow .3s, border-color .2s;border-radius:24px;grid-template-columns:64px 1fr auto;align-items:center;gap:24px;padding:26px 30px;display:grid}.planned-lessons article:nth-child(2){animation-delay:60ms}.planned-lessons article:nth-child(3){animation-delay:.12s}.planned-lessons article:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift), var(--inner-highlight);transform:translateY(-2px)}.planned-lesson-number{color:var(--muted);font:700 32px/1 var(--display);font-variant-numeric:tabular-nums;opacity:.7}.planned-lessons h2{font:600 24px/1.15 var(--display);letter-spacing:-.02em;margin:6px 0 4px}.planned-lessons p{color:var(--muted);font-size:15px}.planned-lessons time{color:var(--muted);margin-top:10px;font-size:13px;font-weight:500;display:block}.notes-shelf{scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.notes-shelf::-webkit-scrollbar{display:none}.notes-shelf button{background:var(--surface);border:1px solid var(--line);max-width:220px;height:38px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:13.5px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex;overflow:hidden}.notes-shelf button:hover{color:var(--ink);border-color:var(--line-strong)}.notes-shelf button.active{background:var(--fill);color:var(--fill-ink);border-color:#0000}.notes-shelf .notes-new{color:var(--ink);background:0 0}.notes-paper{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);border-radius:26px;overflow:hidden}.notes-paper header{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:16px 20px 16px 24px;display:flex}.notes-paper input{min-width:0;font:600 24px/1.2 var(--display);letter-spacing:-.02em;background:0 0;border:0;outline:0;flex:1}.notes-paper input::placeholder,.notes-paper textarea::placeholder{color:var(--muted);opacity:.6}.notes-tools{background:var(--soft);border:1px solid var(--line);border-radius:999px;flex:none;gap:2px;padding:3px;display:flex}.notes-tools button{height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s;display:inline-flex}.notes-tools button:hover{color:var(--ink)}.notes-tools button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}[data-theme=dark] .notes-tools button.active{background:var(--lift)}.notes-tools button[aria-label=Delete\ note]:hover{color:var(--bad)}.notes-paper textarea{resize:none;background:0 0;border:0;outline:0;width:100%;min-height:62vh;padding:28px;font-size:16px;line-height:1.7;display:block}.notes-canvas{cursor:crosshair;touch-action:none;background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:24px 24px;width:100%;height:62vh;display:block}.player-strip{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);animation:rise .5s var(--ease) both;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:24px;padding:18px 24px 18px 18px;display:grid}.player-level{background:var(--fill);width:60px;height:60px;color:var(--fill-ink);box-shadow:var(--shadow-sm);border-radius:18px;align-content:center;place-items:center;display:grid}.player-level b{font:700 24px/1 var(--display);font-variant-numeric:tabular-nums}.player-level small{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:600}.player-xp>div{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.player-xp strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.player-xp small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.player-xp>span{background:var(--soft);border:1px solid var(--line);border-radius:999px;height:8px;display:block;overflow:hidden}.player-xp>span i{border-radius:inherit;height:100%;transition:width .8s var(--ease);background:linear-gradient(90deg,#3b82f6,#8b5cf6);display:block}.player-streak{color:var(--muted);justify-items:center;display:grid}.player-streak svg{margin-bottom:2px}.player-streak strong{color:var(--ink);font:700 24px/1 var(--display);font-variant-numeric:tabular-nums}.player-streak small{font-size:11px;font-weight:500}.arcade-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.arcade-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm), var(--inner-highlight);text-align:left;animation:rise .55s var(--ease) 60ms both;transition:transform .35s var(--spring), box-shadow .35s, border-color .2s;border-radius:26px;flex-direction:column;display:flex;overflow:hidden}.arcade-card+.arcade-card{animation-delay:.12s}.arcade-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift), var(--inner-highlight);transform:translateY(-4px)}.arcade-card:active{transform:scale(.985)}.arcade-art{height:240px;position:relative;overflow:hidden}.blaster-card .arcade-art{background:radial-gradient(circle at 20% 30%,#3d2b8a 0,#0000 45%),radial-gradient(circle at 80% 70%,#0f4c81 0,#0000 50%),radial-gradient(1px 1px at 30% 20%,#fff,#0000),radial-gradient(1px 1px at 70% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 50% 80%,#fff,#0000),radial-gradient(1px 1px at 88% 16%,#fff,#0000),#070918}.blaster-card .arcade-art span{top:calc(18% + var(--i) * 11%);left:calc(14% + var(--i) * 21%);color:#fff;width:58px;height:58px;font:700 26px var(--glyph);animation:orbit 5s ease-in-out calc(var(--i) * -1.2s) infinite;background:radial-gradient(circle at 34% 30%,#fff5,#7aa7ff22 45%,#7aa7ff10 70%);border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:inset 0 0 0 1px #ffffff40,0 0 30px #6b8cff55}.arcade-ship{color:#fff;filter:drop-shadow(0 0 12px #7aa7ff);position:absolute;bottom:20px;left:50%;transform:translate(-50%)rotate(-45deg)}.crush-card .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #ffae1f 22%, var(--soft)), var(--soft) 70%);grid-template-columns:repeat(3,62px);place-content:center;gap:8px;display:grid}.crush-card .arcade-art span{background:linear-gradient(160deg, color-mix(in srgb, var(--gem) 78%, white), var(--gem) 55%, color-mix(in srgb, var(--gem) 75%, black));height:62px;box-shadow:inset 0 -3px 0 #0000002a, inset 0 2px 0 #fff5, 0 6px 14px color-mix(in srgb, var(--gem) 35%, transparent);color:#fff;font:700 26px var(--glyph);transition:transform .45s var(--spring);border-radius:18px;place-items:center;display:grid}.crush-card:hover .arcade-art span:nth-child(odd){transform:translateY(-4px)rotate(-4deg)}.crush-card:hover .arcade-art span:nth-child(2n){transform:translateY(3px)rotate(4deg)}.crush-kind-0{--gem:#ff5e57}.crush-kind-1{--gem:#ffae1f}.crush-kind-2{--gem:#27c26c}.crush-kind-3{--gem:#3d9bff}.crush-kind-4{--gem:#b066ff}.arcade-copy{padding:24px 26px 26px}.arcade-copy>small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:600}.arcade-copy h2{font:600 26px/1.15 var(--display);letter-spacing:-.02em;margin:6px 0 8px}.arcade-copy p{color:var(--muted);font-size:14.5px;line-height:1.5}.arcade-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.arcade-meta>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:flex}.arcade-go{background:var(--fill);height:40px;color:var(--fill-ink);box-shadow:var(--shadow-sm);transition:gap .3s var(--spring), transform .2s var(--spring);border-radius:999px;align-items:center;gap:6px;padding:0 18px 0 20px;font-size:14.5px;font-weight:600;display:inline-flex}.arcade-card:hover .arcade-go{gap:10px}.arcade-overlay{z-index:80;background:var(--bg);flex-direction:column;animation:.25s both room-in;display:flex;position:fixed;inset:0}.arcade-overlay.is-blaster{color:#fff;background:#04050d}.arcade-bar{flex:none;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 14px;display:flex}.arcade-bar>button{background:var(--soft);border-radius:999px;align-items:center;gap:6px;height:38px;padding:0 16px 0 12px;font-size:14px;font-weight:500;transition:background-color .2s;display:inline-flex}.arcade-bar>button:hover{background:var(--lift)}.arcade-overlay.is-blaster .arcade-bar>button{background:#ffffff14}.arcade-overlay.is-blaster .arcade-bar>button:hover{background:#ffffff26}.arcade-bar-player{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.arcade-bar-player i{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:999px;width:84px;height:6px;overflow:hidden}.arcade-bar-player b{border-radius:inherit;height:100%;transition:width .8s var(--ease);background:linear-gradient(90deg,#3d9bff,#b066ff);display:block}.arcade-bar-player span{align-items:center;gap:4px;display:inline-flex}.arcade-bar-player .lit svg{color:#ff9f0a;fill:#ff9f0a33}.arcade-stage{flex:1;min-height:0;position:relative}.blaster{color:#fff;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.blaster-stage{position:absolute;inset:0}.blaster-stage:after{content:"";pointer-events:none;background:linear-gradient(#04050dcc,#0000);height:96px;position:absolute;inset:0 0 auto}.blaster-stage canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.blaster-hud{pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;display:grid;position:absolute;top:10px;left:14px;right:14px}.blaster-hud button{pointer-events:auto}.blaster-score{line-height:1.1;display:grid}.blaster-score small,.blaster-target small{color:#fff9;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.blaster-score strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;animation:bump .3s var(--spring);font-size:30px;font-weight:700}.blaster-score span{color:#ffffff73;font-variant-numeric:tabular-nums;font-size:12px}.blaster-target,.blaster-icon,.blaster-screen dl>div{-webkit-backdrop-filter:blur(14px);background:#ffffff14;border:1px solid #ffffff26}.blaster-target{transition:background-color .2s, transform .25s var(--spring);border-radius:999px;align-items:center;gap:10px;padding:7px 20px 7px 14px;display:flex}.blaster-target:hover{background:#ffffff24}.blaster-target:active{transform:scale(.95)}.blaster-target>span{text-align:left;line-height:1.05;display:grid}.blaster-target b{letter-spacing:-.01em;animation:target-in .4s var(--spring);font-size:26px;font-weight:700}.blaster-side{justify-content:flex-end;align-items:center;gap:12px;display:flex}.blaster-lives{gap:4px;display:flex}.blaster-lives svg{transition:opacity .3s, transform .4s var(--spring)}.blaster-lives .on{color:#ff4d6d;fill:#ff4d6d;filter:drop-shadow(0 0 6px #ff4d6d88)}.blaster-lives .off{opacity:.22;transform:scale(.8)}.blaster-icon{border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.blaster-icon:disabled{opacity:.4}.blaster-combo{color:var(--tier,#fff);pointer-events:none;animation:combo-pop .35s var(--spring);background:#00000059;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 16px;font-size:14px;font-weight:600;display:flex;position:absolute;top:78px;left:50%;transform:translate(-50%)}.blaster-combo b{font-size:18px}.blaster-combo em{background:var(--tier,#fff);color:#05060f;border-radius:999px;padding:3px 10px;font-style:normal;font-weight:800}.blaster-combo.tier-2{--tier:#5ac8fa}.blaster-combo.tier-3{--tier:#30d158}.blaster-combo.tier-4{--tier:#ffd60a}.blaster-combo.tier-5{--tier:#ff375f;box-shadow:0 0 30px #ff375f66}.blaster-banner,.crush-banner{text-align:center;white-space:nowrap;pointer-events:none;animation:banner 1.8s var(--ease) forwards;justify-items:center;gap:4px;display:grid;position:absolute;top:38%;left:50%}.blaster-banner strong{font:600 clamp(40px, 8vw, 64px)/1 var(--display);letter-spacing:-.03em;text-shadow:0 0 40px #6b8cffaa}.blaster-banner span{color:#ffffffb3;font-size:15px;font-weight:500}.blaster-screen{-webkit-backdrop-filter:blur(4px);text-align:center;background:radial-gradient(circle at 50% 45%,#04050d66,#04050de6 75%);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;animation:.35s both veil;display:flex;position:absolute;inset:0}.blaster-screen>*{animation:rise .5s var(--ease) both}.blaster-screen>:nth-child(2){animation-delay:50ms}.blaster-screen>:nth-child(3){animation-delay:.1s}.blaster-screen>:nth-child(4){animation-delay:.15s}.blaster-screen>:nth-child(n+5){animation-delay:.2s}.blaster-kicker{color:#8ab4ff;letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}.blaster-screen h2{font:500 clamp(48px, 10vw, 84px)/.95 var(--display);letter-spacing:-.035em}.blaster-final{background:linear-gradient(#fff,#9db8ff);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text}.blaster-screen p{color:#ffffffb3;max-width:34ch;font-size:17px}.blaster-screen ul{color:#ffffffa6;gap:8px;margin:6px 0 14px;padding:0;font-size:15px;list-style:none;display:grid}.blaster-screen ul b{color:#fff;font-weight:600}.blaster-screen>small{color:#ffffff80;font-variant-numeric:tabular-nums;font-size:13px}.blaster-screen dl{grid-template-columns:repeat(3,minmax(92px,1fr));gap:10px;margin:6px 0 14px;display:grid}.blaster-screen dl>div{border-radius:18px;padding:12px 16px}.blaster-screen dt{color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.blaster-screen dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:24px;font-weight:700}.blaster-cta{color:#05060f;min-width:200px;height:56px;transition:transform .3s var(--spring), box-shadow .3s;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 32px;font-size:17px;font-weight:600;display:inline-flex;box-shadow:0 12px 40px #7896ff59}.blaster-cta:hover{transform:scale(1.04);box-shadow:0 16px 50px #7896ff80}.blaster-cta:active{transform:scale(.97)}.blaster-ghost{color:#ffffffb3;height:44px;padding:0 22px;font-size:15px;font-weight:500;transition:color .2s}.blaster-ghost:hover{color:#fff}.crush{position:absolute;inset:0}.arcade-kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.level-map{padding:12px 20px 40px;overflow-y:auto}.level-map>*{max-width:560px;margin-left:auto;margin-right:auto}.level-map header{text-align:center;animation:rise .5s var(--ease) both}.level-map h2{font:500 clamp(44px, 8vw, 64px)/1 var(--display);letter-spacing:-.03em;margin:8px 0 10px}.level-map header p{max-width:40ch;color:var(--muted);margin:0 auto;font-size:16px}.crush-legend{animation:rise .5s var(--ease) 60ms both;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;display:grid}.crush-legend>div{background:var(--surface);box-shadow:var(--shadow);text-align:center;border-radius:22px;justify-items:center;gap:10px;padding:16px 10px;display:grid}.crush-legend .crush-gem{width:48px;height:48px;font-size:22px}.crush-legend p{color:var(--muted);font-size:12px;display:grid}.crush-legend p b{color:var(--ink);font-size:13px;font-weight:600}.level-grid{animation:rise .5s var(--ease) .12s both;grid-template-columns:repeat(5,1fr);gap:14px 10px;margin-top:28px;margin-bottom:28px;padding:0;list-style:none;display:grid}.level-grid li{justify-items:center;display:grid}.level-grid button{background:var(--surface);width:64px;height:64px;box-shadow:var(--shadow);transition:transform .3s var(--spring), box-shadow .3s;border-radius:22px;align-content:center;justify-items:center;gap:3px;display:grid}.level-grid button:not(:disabled):hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.level-grid button:not(:disabled):active{transform:scale(.94)}.level-grid button b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.level-grid button span{color:var(--line);gap:1px;display:flex}.level-grid button .on{color:#ffb020;fill:#ffb020}.level-grid button.current{background:var(--fill);color:var(--fill-ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--fill) 18%, transparent), var(--shadow-lift);animation:2.2s ease-in-out infinite glow}.level-grid button.current span{color:color-mix(in srgb, var(--fill-ink) 35%, transparent)}.level-grid button:disabled{background:var(--soft);box-shadow:none;color:var(--muted);opacity:.7}.arcade-cta{background:var(--fill);width:100%;height:56px;color:var(--fill-ink);box-shadow:var(--shadow-lift);transition:transform .3s var(--spring);border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.arcade-cta:hover{transform:translateY(-2px)}.arcade-cta:active{transform:scale(.98)}.level-map .arcade-cta{max-width:360px}.arcade-ghost{height:46px;color:var(--muted);border-radius:999px;padding:0 20px;font-size:15px;font-weight:500;transition:color .2s,background-color .2s}.arcade-ghost:hover{background:var(--soft);color:var(--ink)}.crush-game{padding:4px 14px calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:14px;display:flex}.crush-hud{align-items:stretch;gap:8px;width:min(100%,520px);display:flex}.crush-hud>*{background:var(--surface);box-shadow:var(--shadow);border-radius:20px}.crush-back{flex:none;place-items:center;width:44px;transition:background-color .2s;display:grid}.crush-back:hover{background:var(--lift)}.crush-moves{flex:none;align-content:center;place-items:center;min-width:66px;padding:6px 10px;display:grid}.crush-moves strong{font:600 28px/1 var(--display);font-variant-numeric:tabular-nums;animation:bump .3s var(--spring)}.crush-moves small,.crush-score small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.crush-score{flex:1;min-width:0;padding:10px 14px 12px}.crush-score>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.crush-score strong{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.crush-meter{background:var(--soft);border-radius:999px;height:8px;margin-top:10px;position:relative}.crush-meter i{border-radius:inherit;transition:width .5s var(--ease);background:linear-gradient(90deg,#ffae1f,#ff5e57);position:absolute;inset:0 auto 0 0}.crush-meter span{background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow);color:var(--line);border-radius:50%;place-items:center;transition:color .3s;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.crush-meter span:last-child{transform:translate(-100%,-50%)}.crush-meter span.on{color:#ffb020;animation:pop .4s var(--spring)}.crush-meter span.on svg{fill:#ffb020}.crush-goal{flex:none;align-items:center;gap:8px;padding:8px 14px 8px 8px;transition:background-color .3s;display:flex}.crush-goal .crush-gem{width:38px;height:38px;font-size:18px}.crush-goal strong{font:600 24px/1 var(--display);font-variant-numeric:tabular-nums}.crush-goal.met{background:var(--good-soft);color:var(--good)}.crush-board-wrap{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative}.crush-board{aspect-ratio:7/8;background-color:var(--surface);background-image:conic-gradient(color-mix(in srgb, var(--ink) 4%, transparent) 25%, transparent 0 50%, color-mix(in srgb, var(--ink) 4%, transparent) 0 75%, transparent 0);width:min(100%,520px,87.5dvh - 162.75px);box-shadow:var(--shadow-lift);touch-action:none;-webkit-user-select:none;user-select:none;background-size:28.5714% 25%;border-radius:26px;position:relative;overflow:hidden}.crush-board.jolt-0{animation:.35s jolt-a}.crush-board.jolt-1{animation:.35s jolt-b}.crush-cell{cursor:pointer;width:14.2857%;height:12.5%;padding:3px;transition:transform .28s cubic-bezier(.3,1.25,.55,1);position:absolute;top:0;left:0}.crush-gem{background:radial-gradient(circle at 30% 22%, #ffffff8c 0 7%, transparent 26%), linear-gradient(160deg, color-mix(in srgb, var(--gem) 80%, white), var(--gem) 52%, color-mix(in srgb, var(--gem) 74%, black));width:100%;height:100%;box-shadow:inset 0 -3px 0 #00000030, inset 0 2px 0 #ffffff59, 0 3px 8px color-mix(in srgb, var(--gem) 38%, transparent);color:#fff;font:700 clamp(18px, 5.4vw, 28px)/1 var(--glyph);text-shadow:0 1px 2px #00000040;transition:transform .25s var(--spring), box-shadow .25s;border-radius:30%;place-items:center;display:grid}.crush-gem.dropping{animation:.42s cubic-bezier(.3,1.3,.6,1) both fall-in}.crush-gem.special-row{background:repeating-linear-gradient(0deg, #ffffff4d 0 3px, transparent 3px 9px), radial-gradient(circle at 30% 22%, #ffffff8c 0 7%, transparent 26%), linear-gradient(160deg, color-mix(in srgb, var(--gem) 80%, white), var(--gem) 52%, color-mix(in srgb, var(--gem) 74%, black))}.crush-gem.special-col{background:repeating-linear-gradient(90deg, #ffffff4d 0 3px, transparent 3px 9px), radial-gradient(circle at 30% 22%, #ffffff8c 0 7%, transparent 26%), linear-gradient(160deg, color-mix(in srgb, var(--gem) 80%, white), var(--gem) 52%, color-mix(in srgb, var(--gem) 74%, black))}.crush-gem.special-bomb{box-shadow:inset 0 0 0 3px #ffffffd9, inset 0 -3px 0 #00000030, 0 0 16px color-mix(in srgb, var(--gem) 70%, transparent);border-radius:50%;animation:1.4s ease-in-out infinite charge}.crush-gem.special-color{background:radial-gradient(circle,#fff 0 14%,#0000 34%),conic-gradient(#ff5e57,#ffae1f,#27c26c,#3d9bff,#b066ff,#ff5e57);border-radius:50%;animation:3.5s linear infinite spin;box-shadow:0 0 18px #b066ff80,inset 0 0 0 2px #ffffffb3}.crush-cell.selected .crush-gem{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink), 0 6px 14px #0003;transform:scale(1.08)}.crush-cell.hint .crush-gem{animation:1.3s ease-in-out infinite wiggle}.crush-cell.clearing .crush-gem{animation:.25s ease-in forwards gem-out}.crush-popup{z-index:2;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #0006,0 0 2px #000000a0;pointer-events:none;animation:score-float .95s var(--ease) forwards;font-size:20px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.crush-popup.big{color:#ffd60a;font-size:28px}.crush-banner{z-index:3;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lift);border-radius:24px;padding:14px 26px;top:42%}.crush-banner strong{font:500 34px/1 var(--display);letter-spacing:-.02em}.crush-banner span{color:var(--muted);font-size:14px;font-weight:500}.result-sheet{z-index:5;background:var(--scrim);-webkit-backdrop-filter:blur(8px);place-items:center;padding:20px;animation:.3s both veil;display:grid;position:absolute;inset:0}.result-sheet>div{background:var(--surface);width:min(100%,400px);box-shadow:var(--shadow-lift);text-align:center;animation:sheet .45s var(--spring) both;border-radius:32px;justify-items:center;gap:10px;padding:30px 24px 22px;display:grid}.result-sheet h2{font:500 56px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.result-sheet p{color:var(--muted);font-size:15px}.result-stars{align-items:flex-end;gap:6px;margin:6px 0 2px;display:flex}.result-stars svg{width:44px;height:44px;color:var(--line);animation:star-in .5s var(--spring) both}.result-stars svg:nth-child(2){width:58px;height:58px}.result-stars svg.on{color:#ffb020;fill:#ffb020;filter:drop-shadow(0 4px 10px #ffb02066)}.result-actions{gap:4px;width:100%;margin-top:12px;display:grid}@keyframes orbit{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bump{0%{transform:scale(1.18)}}@keyframes target-in{0%{opacity:0;transform:translateY(8px)scale(.9)}}@keyframes combo-pop{0%{transform:translate(-50%)scale(.7)}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}25%,75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-60%)scale(.98)}}@keyframes glow{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--fill) 8%, transparent), var(--shadow-lift)}}@keyframes fall-in{0%{transform:translateY(calc(var(--drop) * -112%))}}@keyframes gem-out{35%{filter:brightness(1.5);transform:scale(1.18)}to{opacity:0;transform:scale(0)}}@keyframes wiggle{0%,60%,to{transform:rotate(0)}10%,30%,50%{transform:rotate(-8deg)scale(1.06)}20%,40%{transform:rotate(8deg)scale(1.06)}}@keyframes charge{50%{transform:scale(.92)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes score-float{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}@keyframes jolt-a{25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,-1px)}}@keyframes jolt-b{25%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,1px)}}@keyframes star-in{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}.arcade-overlay.is-stack .arcade-bar{z-index:2;color:#fff;position:absolute;top:0;left:0;right:0}.arcade-overlay.is-stack .arcade-bar>button{-webkit-backdrop-filter:blur(12px);background:#fff3}.arcade-overlay.is-stack .arcade-bar>button:hover{background:#ffffff4d}.stack{color:#fff;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.stack-stage{position:absolute;inset:0}.stack-stage canvas{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}.stack-hud{pointer-events:none;justify-items:center;gap:6px;display:grid;position:absolute;top:72px;left:50%;transform:translate(-50%)}.stack-hud strong{font:500 clamp(64px, 14vw, 96px)/1 var(--display);letter-spacing:-.04em;text-shadow:0 4px 24px #0000002e;animation:bump .3s var(--spring)}.stack-hud span{letter-spacing:.06em;text-transform:uppercase;animation:combo-pop .35s var(--spring);background:#ffffff38;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700;translate:0}.stack-screen{text-align:center;background:linear-gradient(#0a0c1e33,#0a0c1e8c);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;animation:.35s both veil;display:flex;position:absolute;inset:0}.stack-screen>*{animation:rise .5s var(--ease) both}.stack-screen .arcade-kicker{color:#fffc}.stack-screen h2{font:500 clamp(56px, 12vw, 96px)/.95 var(--display);letter-spacing:-.04em;text-shadow:0 4px 30px #0003}.stack-screen p{color:#ffffffd9;max-width:34ch;font-size:17px}.stack-screen>small{color:#ffffffb3;font-size:13px}.stack-cta{color:#10122a;min-width:200px;height:56px;transition:transform .3s var(--spring);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:0 32px;font-size:17px;font-weight:600;display:inline-flex;box-shadow:0 12px 36px #0000002e}.stack-cta:hover{transform:scale(1.04)}.stack-cta:active{transform:scale(.97)}.stack-ghost{color:#fffc;height:44px;padding:0 22px;font-size:15px;font-weight:500}.stack-ghost:hover{color:#fff}.blast{padding:4px 14px calc(14px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.blast-hud{grid-template-columns:1fr auto 1fr;align-items:center;width:min(100%,460px);display:grid}.blast-best{color:#ffb020;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.blast-score{font:500 44px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;animation:bump .3s var(--spring)}.blast-combo{opacity:0;border-radius:999px;justify-self:end;padding:6px 12px;font-size:13px;font-weight:700;transition:opacity .2s}.blast-combo.on{color:#fff;opacity:1;animation:pop .4s var(--spring);background:linear-gradient(90deg,#ff5e57,#ffae1f)}.blast-board-wrap{flex:1;place-items:center;width:100%;min-height:0;display:grid}.blast-board{aspect-ratio:1;background:var(--surface);width:min(100%,460px,100dvh - 296px);box-shadow:var(--shadow-lift);border-radius:22px;padding:8px;position:relative}.blast-board.jolt-0{animation:.35s jolt-a}.blast-board.jolt-1{animation:.35s jolt-b}.blast-grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:3px;width:100%;height:100%;display:grid}.blast-grid i{background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:6px}.blast-grid i.on,.blast-grid i.line,.blast-piece i,.blast-card .arcade-art span[class^=blast-tone]{background:linear-gradient(160deg, color-mix(in srgb, var(--block) 75%, white), var(--block) 55%, color-mix(in srgb, var(--block) 75%, black));box-shadow:inset 0 -3px #0000002e,inset 0 2px #ffffff59}.blast-grid i.ghost:not(.on){background:color-mix(in srgb, var(--block) 38%, transparent)}.blast-grid i.line{filter:brightness(1.15);box-shadow:inset 0 -3px 0 #0000002e, inset 0 2px 0 #ffffff59, 0 0 14px var(--block)}.blast-grid i.clear{animation:block-clear .34s var(--d) ease-in forwards}.blast-tray{grid-template-columns:repeat(3,1fr);width:min(100%,460px);height:132px;display:grid}.blast-slot{place-items:center;display:grid}.blast-piece{--cell:clamp(15px, 4.4vw, 24px);grid-template-columns:repeat(var(--pc), var(--cell));grid-template-rows:repeat(var(--pr), var(--cell));touch-action:none;cursor:grab;animation:pop .35s var(--spring) both;transition:transform .2s var(--spring), opacity .15s, filter .2s;gap:3px;display:grid}.blast-piece i{border-radius:5px}.blast-piece:hover{transform:scale(1.06)}.blast-piece.lifted{opacity:0}.blast-piece.stuck{filter:grayscale(.7);opacity:.35}.blast-piece.floating{z-index:100;pointer-events:none;filter:drop-shadow(0 14px 22px #00000059);cursor:grabbing;gap:0;animation:none;position:fixed}.blast-piece.floating i{border-radius:6px;margin:1.5px}.flip{position:absolute;inset:0}.flip-preview{animation:rise .5s var(--ease) 60ms both;justify-content:center;gap:10px;margin-top:26px;display:flex}.flip-preview span{background:var(--surface);width:64px;height:80px;box-shadow:var(--shadow);border-radius:16px;place-items:center;font-size:30px;display:grid}.flip-preview span.word{font:700 22px var(--glyph)}.flip-preview span:nth-child(odd){rotate:-5deg}.flip-preview span:nth-child(2n){translate:0 6px;rotate:5deg}.flip-game{padding:4px 14px calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:14px;display:flex}.flip-pairs{gap:4px;margin-top:10px;display:flex}.flip-pairs i{background:var(--soft);border-radius:999px;flex:1;height:6px;transition:background-color .3s}.flip-pairs i.on{background:linear-gradient(90deg,#27c26c,#2ec5d3)}.flip-stage{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative}.flip-board{grid-template-columns:repeat(var(--cols), 1fr);width:min(100%, calc(var(--cols) * 128px), calc((100dvh - 56px - 150px) * .8 * var(--cols) / var(--rows)));gap:10px;display:grid}.flip-card{aspect-ratio:4/5;perspective:900px;animation:deal .45s var(--spring) calc(var(--i) * 35ms) both}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,1.3,.5,1);display:block;position:relative}.flip-card.up .flip-inner{transform:rotateY(180deg)}.flip-back,.flip-front{backface-visibility:hidden;border-radius:18px;place-items:center;display:grid;position:absolute;inset:0}.flip-back{transition:transform .25s var(--spring);background:radial-gradient(circle at 30% 20%,#fff3,#0000 40%),repeating-linear-gradient(45deg,#ffffff0d 0 6px,#0000 6px 14px),linear-gradient(160deg,#5b6cff,#7b3fe4);box-shadow:inset 0 -3px #0003,inset 0 0 0 2px #ffffff26,0 6px 16px #5b6cff40}.flip-back:after{content:"ፊ";color:#ffffff47;font:700 clamp(22px, 5vw, 34px) var(--glyph)}.flip-card:not(.up):hover .flip-back{transform:translateY(-3px)}.flip-front{background:var(--surface);box-shadow:var(--shadow);align-content:center;gap:2px;transform:rotateY(180deg)}.flip-front.picture{font-size:clamp(28px,7vw,52px)}.flip-front.word b{font:700 clamp(18px, 4.6vw, 30px)/1.1 var(--glyph)}.flip-front.word small{color:var(--muted);font-size:12px;font-weight:500}.flip-card.matched .flip-front{background:var(--good-soft);box-shadow:inset 0 0 0 2px var(--good);animation:matched-pop .5s var(--spring)}.flip-card.wrong .flip-front{box-shadow:inset 0 0 0 2px var(--bad);animation:.4s nudge}.flip-toast{background:var(--surface);box-shadow:var(--shadow-lift);white-space:nowrap;pointer-events:none;animation:flip-toast 1.9s var(--ease) forwards;border-radius:20px;align-items:center;gap:12px;padding:10px 18px 10px 12px;display:flex;position:absolute;bottom:6px;left:50%}.flip-toast>span{font-size:30px}.flip-toast div{display:grid}.flip-toast b{font:700 20px/1.1 var(--glyph)}.flip-toast small{color:var(--muted);font-size:12px}.flip-toast em{color:var(--good);font-size:14px;font-style:normal;font-weight:700}.stack-card .arcade-art{background:linear-gradient(#bfe3ff,#b7a4f0)}.stack-card .arcade-art span{bottom:calc(22px + var(--i) * 28px);width:calc(160px - var(--i) * 10px);background:hsl(calc(200 + var(--i) * 20) 72% 66%);height:22px;box-shadow:0 6px 0 hsl(calc(200 + var(--i) * 20) 50% 46%);translate:calc(-50% + var(--i) * 4px) 0;transition:translate .45s var(--spring);border-radius:6px;position:absolute;left:50%}.stack-card .arcade-art span:last-child{animation:2.4s ease-in-out infinite slide}.blast-card .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #3d9bff 18%, var(--soft)), var(--soft) 70%);grid-template-columns:repeat(5,34px);grid-auto-rows:34px;place-content:center;gap:5px;display:grid}.blast-card .arcade-art span{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:8px}.blast-tone-0{--block:#ff5e57}.blast-tone-1{--block:#ffae1f}.blast-tone-2{--block:#ffd60a}.blast-tone-3{--block:#27c26c}.blast-tone-4{--block:#2ec5d3}.blast-tone-5{--block:#3d9bff}.blast-tone-6{--block:#b066ff}.flip-card-promo .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #7b3fe4 20%, var(--soft)), var(--soft) 70%);justify-content:center;align-items:center;gap:14px;display:flex}.flip-card-promo .arcade-art span{background:var(--surface);width:88px;height:112px;box-shadow:var(--shadow-lift);transition:rotate .45s var(--spring), translate .45s var(--spring);border-radius:18px;place-items:center;font-size:44px;display:grid}.flip-card-promo .arcade-art span:first-child{rotate:-8deg}.flip-card-promo .arcade-art .word{font:700 34px var(--glyph);translate:0 -8px}.flip-card-promo .arcade-art .back{background:linear-gradient(160deg,#5b6cff,#7b3fe4);rotate:8deg}.flip-card-promo:hover .arcade-art span:first-child{translate:-6px;rotate:-14deg}.flip-card-promo:hover .arcade-art .back{translate:6px;rotate:14deg}@keyframes block-clear{40%{filter:brightness(2);transform:scale(1.15)}to{opacity:0;transform:scale(0)}}@keyframes deal{0%{opacity:0;transform:translateY(20px)scale(.9)}}@keyframes matched-pop{50%{scale:1.08}}@keyframes nudge{25%,75%{translate:-5px}50%{translate:5px}}@keyframes flip-toast{0%{opacity:0;translate:-50% 16px}12%,80%{opacity:1;translate:-50%}to{opacity:0;translate:-50% -8px}}@keyframes slide{0%,to{translate:calc(-50% - 30px)}50%{translate:calc(40px - 50%)}}.games-group{font:500 30px/1.1 var(--display);letter-spacing:-.02em;margin:48px 0 18px}.game-intro{position:absolute;inset:0}.game-intro>.arcade-cta{margin-top:32px}.game-intro-best{color:var(--muted);text-align:center;margin-top:14px;font-size:14px;font-weight:600;display:block}.game-play{padding:4px 16px calc(18px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.game-hud{gap:10px;width:min(100%,520px);display:grid}.game-hud-row{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.game-hud-side{align-items:center;display:flex}.game-hud-side.end{justify-content:flex-end}.game-score{font:500 44px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;animation:bump .3s var(--spring)}.game-stat{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.game-stat b{color:var(--ink);margin-right:1px;font-size:22px;font-weight:700}.game-mult{background:var(--soft);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:700;transition:background-color .25s,color .25s;display:inline-flex}.game-mult.on{color:#fff;animation:pop .35s var(--spring);background:linear-gradient(90deg,#ff5e57,#ffae1f)}.game-lives{color:var(--line);gap:4px;display:flex}.game-lives .on{color:#ff4d6d;fill:#ff4d6d}.game-timer{background:var(--soft);border-radius:999px;height:8px;overflow:hidden}.game-timer i{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#27c26c,#2ec5d3);height:100%;transition:transform .1s linear;display:block}.number-preview{background:var(--surface);width:fit-content;box-shadow:var(--shadow);animation:rise .5s var(--ease) 60ms both;border-radius:28px;justify-items:center;gap:4px;margin-top:28px;padding:22px 36px;display:grid}.number-preview span{letter-spacing:4px;font-size:34px}.number-preview b{font:700 38px/1.1 var(--glyph)}.number-preview small{color:var(--muted);font-size:13px}.number-stage{flex-direction:column;flex:1;justify-content:center;gap:14px;width:min(100%,520px);min-height:0;display:flex}.number-prompt{background:var(--surface);min-height:170px;max-height:340px;box-shadow:var(--shadow);text-align:center;animation:target-in .35s var(--spring) both;border-radius:32px;flex:1;align-content:center;place-items:center;gap:14px;padding:22px;display:grid;position:relative}.number-prompt.miss{animation:.4s nudge}.number-prompt>small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.number-items{grid-template-columns:repeat(5,auto);justify-content:center;gap:6px 10px;font-size:clamp(34px,8vw,50px);line-height:1;display:grid}.number-items.dense{font-size:clamp(28px,6.5vw,42px)}.number-items span{animation:pop .35s var(--spring) calc(var(--i) * 30ms) both}.number-word{font:700 clamp(52px, 13vw, 84px)/1.1 var(--glyph)}.number-sum{font:700 clamp(30px, 8vw, 48px)/1.2 var(--glyph)}.number-sum i{color:var(--muted);margin:0 6px;font-style:normal}.number-prompt .crush-popup{top:16%;left:50%}.number-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.number-option{background:var(--surface);min-height:86px;box-shadow:var(--shadow);animation:rise .35s var(--ease) calc(var(--i) * 40ms) backwards;transition:transform .25s var(--spring), background-color .2s, opacity .2s;border-radius:24px;align-content:center;place-items:center;gap:2px;padding:12px;display:grid;position:relative}.number-option:hover{transform:translateY(-3px)}.number-option:active{transform:scale(.96)}.number-option b{font:700 clamp(24px, 6vw, 32px)/1.1 var(--glyph)}.number-option b.digit{font:500 42px/1 var(--display)}.number-option small{color:var(--muted);font-size:12px}.number-option kbd{color:var(--muted);opacity:.6;font:600 11px inherit;position:absolute;top:10px;left:14px}.number-option.right{background:var(--good);color:#fff;animation:pop .35s var(--spring)}.number-option.wrong{background:var(--bad);color:#fff;animation:.4s nudge}.number-option.right small,.number-option.wrong small{color:#fffc}.number-option.dim{opacity:.35}@media (hover:none){.number-option kbd{display:none}}.colour-preview span,.colour-balloon button,.colour-card .arcade-art span{background:radial-gradient(circle at 32% 26%, #ffffffb8 0 7%, transparent 24%), radial-gradient(circle at 70% 82%, #00000038, transparent 60%), var(--c);border-radius:50% 50% 48% 48%/56% 56% 44% 44%;position:relative;box-shadow:inset 0 0 0 1px #00000014}.colour-preview span:after,.colour-balloon button:after,.colour-card .arcade-art span:after{content:"";background:color-mix(in srgb, var(--ink) 30%, transparent);width:1.5px;height:36px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.colour-preview{animation:rise .5s var(--ease) 60ms both;justify-content:center;gap:12px;margin-top:30px;margin-bottom:72px;display:flex}.colour-preview span{width:58px;height:70px;animation:orbit 3s ease-in-out calc(var(--i) * -.6s) infinite;display:block}.colour-preview b{color:var(--muted);font:600 12px var(--glyph);white-space:nowrap;position:absolute;top:calc(100% + 42px);left:50%;transform:translate(-50%)}.colour .game-hud,.colour-target{z-index:1;pointer-events:none;position:relative}.colour-target{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lift);animation:target-in .4s var(--spring) both;border-radius:26px;justify-items:center;gap:2px;padding:12px 30px 14px;display:grid}.colour-target small{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.colour-target b{font:700 clamp(36px, 9vw, 52px)/1.1 var(--glyph)}.colour-target>span{color:var(--muted);font-size:13px}.colour-progress{gap:5px;margin-top:8px;display:flex}.colour-progress i{background:var(--soft);border-radius:999px;width:22px;height:6px}.colour-progress i.on{background:var(--c);box-shadow:0 0 0 1px #0000001f}.colour-sky{background:linear-gradient(#0000 30%,#3d9bff29);position:absolute;inset:0;overflow:hidden;container-type:size}.colour-balloon{top:100%;left:var(--x);width:var(--size);animation:balloon-rise var(--dur) linear forwards;position:absolute}.colour-balloon button{aspect-ratio:5/6;cursor:pointer;touch-action:manipulation;width:100%;animation:balloon-sway 2.4s ease-in-out var(--sway) infinite alternate;display:block}.colour-balloon button.popped{pointer-events:none;animation:.22s ease-out forwards balloon-burst}.colour-sky .crush-popup{z-index:2}.crush-popup.bad{color:#ff5e57}.market-preview{animation:rise .5s var(--ease) 60ms both;justify-items:center;gap:16px;margin-top:28px;display:grid}.market-bubble{background:var(--surface);box-shadow:var(--shadow-lift);border-radius:22px;padding:12px 20px;position:relative}.market-bubble>b{font:700 24px/1.2 var(--glyph)}.market-preview>div,.market-card .arcade-art>div{gap:8px;display:flex}.market-preview i,.market-card .arcade-art i{background:var(--surface);width:56px;height:56px;box-shadow:var(--shadow);border-radius:18px;place-items:center;font-size:30px;font-style:normal;display:grid}.market-counter{flex:1;align-content:center;justify-items:center;gap:18px;width:min(100%,520px);min-height:0;display:grid}.market-customer{animation:customer-in .45s var(--spring) both;align-items:center;gap:20px;display:flex;position:relative}.market-customer.happy{animation:customer-out .45s var(--ease) .4s forwards}.market-customer.angry{animation:nudge .4s ease, customer-out .45s var(--ease) .45s forwards}.market-face{flex:none;place-items:center;width:104px;height:104px;display:grid;position:relative}.market-face svg{position:absolute;inset:0;transform:rotate(-90deg)}.market-face circle{fill:var(--surface);stroke:hsl(calc(var(--patience) * 120) 75% 50%);stroke-dasharray:var(--patience) 1;stroke-linecap:round;stroke-width:6px;transition:stroke-dasharray .1s linear}.market-face>span{font-size:56px;line-height:1;position:relative}.market-face em{animation:pop .35s var(--spring);font-size:34px;font-style:normal;position:absolute;bottom:-6px;right:-6px}.market-customer .market-bubble{gap:10px;min-width:180px;display:grid}.market-customer .market-bubble:before{content:"";background:var(--surface);border-radius:3px;width:16px;height:16px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg)}.market-line{grid-template-columns:1fr auto;align-items:center;column-gap:14px;transition:opacity .2s;display:grid;position:relative}.market-line b{font:700 22px/1.2 var(--glyph)}.market-line small{color:var(--muted);grid-column:1;font-size:12px}.market-ticks{grid-area:1/2/span 2;gap:4px;display:flex}.market-ticks i{width:11px;height:11px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%}.market-ticks i.on{background:var(--good);box-shadow:none;animation:pop .3s var(--spring)}.market-line.done{opacity:.45}.market-line.done b{text-decoration:line-through;text-decoration-thickness:2px}.market-popup{z-index:2;color:#ffb020;text-shadow:0 2px 10px #00000040;pointer-events:none;animation:score-float 1.1s var(--ease) forwards;justify-items:center;font-size:28px;font-weight:800;display:grid;position:absolute;top:-10px;left:50%}.market-popup small{color:var(--muted);text-shadow:none;font-size:12px;font-weight:600}.market-bag{background:color-mix(in srgb, #c98b4a 18%, var(--surface));border-top:4px solid #c98b4a;border-radius:0 0 28px 28px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:220px;min-height:64px;padding:10px 18px;font-size:30px;display:flex}.market-bag span{animation:drop-in .35s var(--spring) both}.market-shelf{background:var(--surface);width:min(100%,520px);box-shadow:var(--shadow);border-radius:30px;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;display:grid}.market-shelf.size-6{grid-template-columns:repeat(3,1fr);width:min(100%,400px)}.market-item{aspect-ratio:1;background:var(--soft);animation:pop .35s var(--spring) calc(var(--i) * 30ms) backwards;transition:transform .2s var(--spring), background-color .2s;border-radius:20px;place-items:center;font-size:clamp(30px,8vw,44px);display:grid}.market-item:hover{background:var(--lift);transform:translateY(-3px)}.market-item:active{transform:scale(.92)}.market-item.nope{background:color-mix(in srgb, var(--bad) 22%, var(--soft));animation:.4s nudge}.swipe-topics{animation:rise .5s var(--ease) 60ms both;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.swipe-topics button{background:var(--surface);height:44px;box-shadow:var(--shadow);transition:background-color .2s, color .2s, transform .25s var(--spring);border-radius:999px;padding:0 20px;font-size:15px;font-weight:600}.swipe-topics button:hover{transform:translateY(-2px)}.swipe-topics button.on{background:var(--fill);color:var(--fill-ink)}.swipe-stage{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative}.swipe-card{background:var(--surface);width:min(86vw,340px);height:min(440px,100dvh - 306px);box-shadow:var(--shadow-lift);touch-action:none;cursor:grab;animation:card-in .3s var(--spring) both;transition:transform .25s var(--spring);border-radius:34px;grid-area:1/1;grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden}.swipe-card.dragging{cursor:grabbing;transition:none}.swipe-card.under{opacity:.55;pointer-events:none;animation:none;transform:translateY(14px)scale(.94)}.swipe-card.fly-yes{transition:transform .25s ease-in;transform:translate(140%)rotate(24deg)}.swipe-card.fly-no{transition:transform .25s ease-in;transform:translate(-140%)rotate(-24deg)}.swipe-card.wrong{box-shadow:0 0 0 3px var(--bad), var(--shadow-lift);animation:.4s nudge}.swipe-picture{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, #ffae1f 14%, var(--surface)), var(--surface) 70%);align-content:center;place-items:center;gap:8px;display:grid}.swipe-picture span{filter:drop-shadow(0 10px 16px #00000026);font-size:clamp(80px,22vw,116px);line-height:1}.swipe-picture small{color:var(--muted);font-size:14px;font-weight:600}.swipe-word{border-top:1px solid var(--line);justify-items:center;gap:2px;padding:20px 16px 26px;display:grid}.swipe-word b{font:700 clamp(32px, 9vw, 44px)/1.15 var(--glyph);text-align:center}.swipe-word small{color:var(--muted);font-size:14px}.swipe-stamp{z-index:2;font:800 26px var(--glyph);pointer-events:none;border:3px solid;border-radius:14px;padding:4px 14px;position:absolute;top:22px}.swipe-stamp.yes{color:var(--good);left:20px;rotate:-12deg}.swipe-stamp.no{color:var(--bad);right:20px;rotate:12deg}.swipe-reveal{z-index:3;background:var(--bad);color:#fff;text-align:center;animation:reveal-up .3s var(--spring) both;justify-items:center;gap:2px;padding:18px 16px 24px;display:grid;position:absolute;bottom:0;left:0;right:0}.swipe-reveal small{letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:700}.swipe-reveal b{font:700 24px/1.2 var(--glyph)}.swipe-reveal span{opacity:.85;font-size:14px}.swipe-stage .crush-popup{top:10%;left:50%}.swipe-actions{gap:32px;display:flex}.swipe-actions button{background:var(--surface);width:84px;height:84px;box-shadow:var(--shadow-lift);transition:transform .25s var(--spring);border-radius:50%;align-content:center;place-items:center;gap:2px;display:grid}.swipe-actions button:hover{transform:translateY(-3px)scale(1.04)}.swipe-actions button:active{transform:scale(.92)}.swipe-actions small{font:700 12px var(--glyph)}.swipe-no{color:var(--bad)}.swipe-yes{color:var(--good)}.number-card .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #ffae1f 22%, var(--soft)), var(--soft) 70%);justify-content:center;align-items:center;gap:12px;display:flex}.number-card .arcade-art span{background:var(--surface);width:92px;box-shadow:var(--shadow-lift);font:700 16px var(--glyph);animation:orbit 4s ease-in-out calc(var(--i) * -1.1s) infinite;border-radius:22px;justify-items:center;gap:6px;padding:16px 0 14px;display:grid}.number-card .arcade-art b{font:500 48px/1 var(--display)}.colour-card .arcade-art{background:linear-gradient(#bfe3ff,#eef7ff)}.colour-card .arcade-art span{top:16%;left:calc(10% + var(--i) * 17%);width:58px;height:70px;animation:orbit 3.4s ease-in-out calc(var(--i) * -.7s) infinite;position:absolute}.colour-card .arcade-art span:nth-child(2n){top:30%}.colour-card .arcade-art span:after{background:#00000040}.colour-card .arcade-art>b{color:#10122a;font:700 20px var(--glyph);background:#fff;border-radius:999px;padding:6px 18px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0000001f}.market-card .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #27c26c 20%, var(--soft)), var(--soft) 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.market-card .arcade-art .market-bubble{animation:4s ease-in-out infinite orbit}.swipe-card-promo .arcade-art{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, #ff4d6d 18%, var(--soft)), var(--soft) 70%);justify-content:center;align-items:center;display:flex}.swipe-promo-card{background:var(--surface);width:132px;height:168px;box-shadow:var(--shadow-lift);transition:rotate .45s var(--spring), translate .45s var(--spring);border-radius:24px;align-content:center;place-items:center;gap:6px;display:grid;rotate:-5deg}.swipe-promo-card i{font-size:62px;font-style:normal;line-height:1}.swipe-promo-card b{font:700 24px var(--glyph)}.swipe-card-promo:hover .swipe-promo-card{translate:14px;rotate:8deg}.swipe-promo-no,.swipe-promo-yes{background:var(--surface);width:52px;height:52px;box-shadow:var(--shadow-lift);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:26px}.swipe-promo-no{color:var(--bad);left:calc(50% - 132px)}.swipe-promo-yes{color:var(--good);right:calc(50% - 132px)}@keyframes balloon-rise{to{transform:translateY(calc(-100cqh - 100% - 60px))}}@keyframes balloon-sway{0%{translate:-6px;rotate:-6deg}to{translate:6px;rotate:6deg}}@keyframes balloon-burst{to{opacity:0;scale:1.6}}@keyframes customer-in{0%{opacity:0;translate:48px}}@keyframes customer-out{to{opacity:0;translate:-48px}}@keyframes drop-in{0%{opacity:0;translate:0 -24px}}@keyframes card-in{0%{opacity:0;scale:.9}}@keyframes reveal-up{0%{translate:0 100%}}.lesson-overlay{z-index:70;background:var(--bg);overscroll-behavior:contain;animation:.25s both room-in;position:fixed;inset:0;overflow-y:auto}.lesson-room{flex-direction:column;min-height:100%;display:flex}.lesson-header{z-index:5;background:var(--header);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:64px;padding:0 24px;display:grid;position:sticky;top:0}.lesson-header>button,.back-to-games,.edit-in-lesson{background:var(--surface);height:36px;box-shadow:var(--shadow);transition:transform .2s var(--spring);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:13px;font-weight:500;display:inline-flex}.lesson-header>button:hover,.back-to-games:hover,.edit-in-lesson:hover{transform:translateY(-1px)}.lesson-header>button svg{width:16px;height:16px}.step-track{background:var(--soft);border-radius:999px;gap:4px;padding:4px;display:flex}.step-track span{height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:13px;font-weight:500;transition:background-color .3s,color .3s;display:flex}.step-track i{background:var(--lift);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;font-weight:600;display:grid}.step-track .current{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}[data-theme=dark] .step-track .current{background:var(--lift)}.step-track .current i,.step-track .done i{background:var(--fill);color:var(--fill-ink)}.lesson-tools{justify-self:end;align-items:center;gap:12px;display:flex}.edit-in-lesson{padding:0 14px}.lesson-percent{font-variant-numeric:tabular-nums;text-align:right;min-width:40px;font-size:13px;font-weight:600}.arcade-room .step-track,.arcade-room .lesson-tools,.arcade-room .back-to-games{display:none}.lesson-body{flex:1;width:min(1000px,100%);margin:0 auto;padding:44px 24px 140px}.arcade-room .lesson-body{padding-bottom:64px}.listen-step,.trace-step,.match-step{text-align:center;animation:page-in .45s var(--ease) both}.listen-step>h1,.trace-step>h1,.match-step>h1{font:500 clamp(36px, 5vw, 56px)/1.02 var(--display);letter-spacing:-.03em;margin:12px 0}.listen-step>p,.trace-step>p,.match-step>p{max-width:52ch;color:var(--muted);margin:0 auto 36px;font-size:17px}.fidel-chart{background:var(--surface);box-shadow:var(--shadow);border-radius:30px;padding:24px;overflow-x:auto}.listen-chart>*{min-width:640px}.chant-row{grid-template-columns:repeat(7,1fr) 92px;gap:8px;margin-bottom:8px;display:grid}.chant-row:after{content:""}.chant-row span{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:600}.listen-family{grid-template-columns:1fr 92px;gap:8px;margin-top:8px;display:grid}.fidel-row{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.fidel-gap{border:1px dashed var(--line-strong);border-radius:18px;height:80px}.fidel-row button{background:var(--soft);height:80px;font:700 30px/1 var(--glyph);transition:background-color .2s, color .2s, transform .25s var(--spring);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.fidel-row button small{color:var(--muted);font:500 11px Inter,sans-serif}.fidel-row button:hover{background:var(--lift);transform:translateY(-2px)}.fidel-row button:active{transform:scale(.94)}.fidel-row button.active{background:var(--fill);color:var(--fill-ink);animation:pulse-in .4s var(--spring)}.fidel-row button.active small{color:inherit;opacity:.7}.play-row{height:80px;box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:background-color .2s;display:inline-flex}.play-row:hover{background:var(--soft)}.lesson-hint{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:18px;font-size:14px;font-weight:500}.trace-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.trace-grid>div{background:var(--surface);box-shadow:var(--shadow);border-radius:28px;padding:14px 14px 16px}.trace-grid>div>span{color:var(--muted);font:700 18px var(--glyph);justify-content:center;align-items:center;gap:6px;margin-top:12px;transition:color .2s;display:flex}.trace-grid>div.traced>span{color:var(--good)}.tracing-pad{aspect-ratio:1;background:var(--soft);border-radius:20px;position:relative;overflow:hidden}.trace-guide{color:color-mix(in srgb, var(--muted) 38%, transparent);font:700 190px/1 var(--glyph);pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;inset:0}.tracing-pad canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.tracing-pad button{background:var(--surface);height:32px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex;position:absolute;top:10px;right:10px}.match-board{grid-template-columns:1fr 1fr;gap:16px;max-width:560px;margin:0 auto;display:grid}.match-board>div{gap:10px;display:grid}.match-board button{background:var(--surface);height:88px;box-shadow:var(--shadow);font:700 38px var(--glyph);transition:transform .25s var(--spring), box-shadow .2s, opacity .3s;border-radius:22px;place-items:center;display:grid}.match-board button:not(:disabled):hover{transform:translateY(-2px)}.match-board button:not(:disabled):active{transform:scale(.96)}.match-board button.selected{box-shadow:0 0 0 2px var(--ink), var(--shadow-lift);transform:translateY(-2px)}.match-board button.matched{background:var(--good-soft);color:var(--good);box-shadow:none}.match-board button:disabled:not(.matched){opacity:.3;box-shadow:none}.match-message{color:var(--muted);min-height:22px;margin-top:24px;font-size:15px;font-weight:500}.complete-step{text-align:center;justify-items:center;padding:72px 0;display:grid}.complete-burst{background:var(--fill);width:96px;height:96px;color:var(--fill-ink);animation:pop .7s var(--spring) both;border-radius:50%;place-items:center;margin-bottom:28px;display:grid}.complete-burst svg{width:40px;height:40px}.complete-step h1{font:500 clamp(36px, 5vw, 56px)/1.05 var(--display);letter-spacing:-.03em;margin:12px 0 16px}.complete-step p{color:var(--muted);margin-bottom:32px;font-size:17px}.lesson-footer{z-index:5;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--header);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid color-mix(in srgb, var(--line) 50%, transparent);justify-content:space-between;display:flex;position:fixed;bottom:0;left:0;right:0}.lesson-back{background:var(--surface);height:48px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:0 20px 0 16px;font-size:15px;font-weight:500;display:inline-flex}.lesson-back:disabled,.lesson-next:disabled{opacity:.35}.lesson-next{padding:0 20px 0 26px}.owner-card{background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-lift);animation:sheet .5s var(--ease) both;border-radius:34px;position:relative;overflow:hidden}.owner-photo-wrap{aspect-ratio:1;overflow:hidden}.owner-photo-wrap img{object-fit:cover;object-position:50% 34%;width:100%;height:100%;animation:settle 1.2s var(--ease) both}.owner-copy{padding:24px 28px 32px}.owner-copy h2{font:500 38px/1 var(--display);letter-spacing:-.03em;margin:6px 0 8px}.owner-copy p{color:var(--muted)}.owner-close{z-index:2;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:36px;height:36px;transition:transform .25s var(--spring);background:#0000004d;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.owner-close:hover{transform:rotate(90deg)}.owner-close svg{width:18px;height:18px}.plan-editor{background:var(--surface);width:min(580px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lift);animation:sheet .45s var(--ease) both;overscroll-behavior:contain;border-radius:32px;gap:16px;padding:28px;display:grid;overflow-y:auto}.plan-editor>header{margin-bottom:4px}.plan-editor label{color:var(--muted);gap:8px;font-size:13px;font-weight:600;display:grid}.plan-editor input,.plan-editor textarea{background:var(--soft);width:100%;color:var(--ink);border:1px solid #0000;border-radius:14px;outline:0;padding:12px 14px;font-size:15px;font-weight:400;transition:border-color .2s,background-color .2s,box-shadow .2s}.plan-editor input:focus,.plan-editor textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.plan-editor textarea{resize:vertical;min-height:96px}.file-drop{border:1.5px dashed var(--line);color:var(--ink);cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:16px;transition:border-color .2s,background-color .2s;display:flex;position:relative}.file-drop:hover{border-color:var(--muted);background:var(--soft)}.file-drop>span{flex-direction:column;display:flex}.file-drop b{font-size:14px;font-weight:600}.file-drop small{color:var(--muted);font-size:12px;font-weight:400}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.plan-editor footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.plan-editor footer button{background:var(--soft);border-radius:999px;align-items:center;gap:6px;height:44px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .2s;display:inline-flex}.plan-editor footer button:hover{background:var(--lift)}.plan-editor footer button[type=submit]{height:44px;padding:0 20px;font-size:14px}.plan-editor .remove-plan-button{color:var(--bad);background:0 0;margin-right:auto}.plan-editor .remove-plan-button:hover{background:var(--bad-soft)}.material-editor{width:min(860px,100%)}.material-block{gap:10px;display:grid}.material-block>span{color:var(--muted);font-size:13px;font-weight:600}.chant-fields{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.chant-fields input{text-align:center;padding:10px 6px}.material-family{background:var(--soft);border-radius:22px;gap:12px;padding:16px;display:grid}.material-family>header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.material-family>header strong{width:48px;font:700 32px/1 var(--glyph)}.material-family>header label{align-items:center;gap:8px;display:flex}.material-family input{background:var(--surface)}.material-family>header input{width:84px}.material-family button{background:var(--surface);border-radius:999px;height:36px;padding:0 14px;font-size:12px;font-weight:600;transition:background-color .2s}.material-family button:hover{background:var(--lift)}.material-family .remove-plan-button{color:var(--bad);margin-right:0}.material-forms{gap:6px;display:grid}.material-forms>div{grid-template-columns:58px 1fr 40px auto auto;align-items:center;gap:6px;display:grid}.material-forms .form-letter{font:700 22px var(--glyph);text-align:center;padding:8px 4px}.voice-upload{background:var(--surface);cursor:pointer;border-radius:12px;place-items:center;width:40px;height:40px;position:relative;color:var(--ink)!important;display:grid!important}.voice-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.material-forms>div>button{place-items:center;min-width:40px;display:grid}.add-family-grid{flex-wrap:wrap;gap:6px;display:flex}.add-family-grid button{background:var(--soft);width:46px;height:46px;font:700 20px var(--glyph);transition:background-color .2s, transform .25s var(--spring);border-radius:14px;place-items:center;display:grid}.add-family-grid button:hover{background:var(--lift);transform:translateY(-2px)}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes veil{0%{opacity:0}}@keyframes sheet{0%{opacity:0;transform:translateY(24px)scale(.97)}}@keyframes room-in{0%{opacity:0}}@keyframes settle{0%{transform:scale(1.08)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pulse-in{0%{transform:scale(.9)}60%{transform:scale(1.05)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.today-page,.content-page{padding:20px 16px 110px}.lessons-heading{margin-bottom:28px}.lessons-heading p{font-size:17px}.plan-calendar{border-radius:28px;padding:16px}.plan-calendar-bar{flex-wrap:wrap}.plan-calendar-bar h2{flex-basis:100%;margin-bottom:4px;font-size:24px}.calendar-views{margin-left:auto}.days-board{gap:8px}.day-pane{border-radius:20px;min-height:230px;padding:14px 12px}.day-pane small{font-size:10px}.day-pane strong{font-size:46px}.day-pane>span{font-size:13px}.day-pane-lesson{padding-top:10px}.day-pane-lesson b{font-size:13px}.day-pane-lesson em,.day-pane p{font-size:12px}.plan-cell{border-radius:12px;align-items:center;min-height:54px;padding:8px 4px}.cal-event{background:currentColor;border-radius:50%;width:6px;height:6px;margin-top:auto;padding:0;font-size:0}.plan-cell.is-today .cal-event{background:currentColor}.week-strip{gap:4px}.week-strip button{border-radius:14px;padding:10px 0}.week-strip strong{font-size:17px}.week-strip small{font-size:10px}.day-overlay,.editor-overlay{align-items:end;padding:0}.day-window,.plan-editor{width:100%;max-height:92vh;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;animation-name:sheet-up}.today-plan-content{flex-direction:column;align-items:flex-start}.today-plan-bottom button{width:100%;margin-left:0}.planned-lessons article{grid-template-columns:1fr;gap:14px;padding:24px}.planned-lesson-number{font-size:28px}.planned-lessons button{width:100%}.notes-paper{border-radius:28px}.notes-paper header{flex-wrap:wrap;padding:16px}.notes-paper input{flex-basis:100%;font-size:24px}.notes-paper textarea{padding:20px}.lesson-header{gap:8px;height:56px;padding:0 12px}.step-track span{justify-content:center;width:32px;padding:0;font-size:0}.step-track .current{width:auto;padding:0 12px 0 6px;font-size:13px}.edit-in-lesson{justify-content:center;width:36px;padding:0;font-size:0}.lesson-percent{display:none}.lesson-body{padding:28px 16px 130px}.lesson-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.fidel-chart{border-radius:24px;padding:12px}.listen-chart>*{min-width:0}.chant-row{grid-template-columns:repeat(7,1fr) 36px;gap:4px}.chant-row span{font-size:10px}.listen-family{grid-template-columns:1fr 36px;gap:4px;margin-top:4px}.fidel-row{gap:4px}.fidel-row button{border-radius:12px;height:54px;font-size:21px}.fidel-row button small{font-size:9px}.play-row{border-radius:12px;height:54px;font-size:0}.trace-guide{font-size:150px}.player-strip{border-radius:24px;gap:14px;padding:14px 16px 14px 14px}.player-level{border-radius:17px;width:54px;height:54px}.player-level b{font-size:22px}.player-xp>div{flex-direction:column;gap:0;margin-bottom:8px}.arcade-cards{grid-template-columns:1fr;gap:16px}.arcade-card{border-radius:28px}.arcade-art{height:190px}.crush-card .arcade-art{grid-template-columns:repeat(3,50px)}.crush-card .arcade-art span{border-radius:15px;height:50px;font-size:22px}.arcade-copy{padding:20px 20px 22px}.arcade-copy h2{font-size:30px}.blaster-hud{gap:6px;top:8px;left:10px;right:10px}.blaster-score strong{font-size:24px}.blaster-target{gap:8px;padding:6px 14px 6px 10px}.blaster-target b{font-size:21px}.blaster-side{gap:6px}.blaster-lives svg{width:14px;height:14px}.blaster-icon{width:36px;height:36px}.blaster-combo{top:68px}.blaster-screen dl{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:340px}.blaster-screen dl>div{padding:10px 8px}.level-map{padding:8px 16px 32px}.crush-legend{gap:8px;margin-top:22px}.crush-legend>div{border-radius:18px;padding:14px 6px}.crush-legend .crush-gem{width:40px;height:40px;font-size:19px}.level-grid{gap:12px 6px}.level-grid button{border-radius:19px;width:56px;height:56px}.crush-game{padding:0 10px calc(12px + env(safe-area-inset-bottom));gap:10px}.crush-hud{gap:6px}.crush-hud>*{border-radius:16px}.crush-back{width:38px}.crush-moves{min-width:54px;padding:6px}.crush-moves strong{font-size:24px}.crush-score{padding:8px 10px 10px}.crush-score strong{font-size:17px}.crush-goal{gap:6px;padding:6px 10px 6px 6px}.crush-goal .crush-gem{width:32px;height:32px;font-size:16px}.crush-goal strong{font-size:20px}.crush-board{border-radius:20px;width:min(100%,87.5dvh - 145.25px)}.crush-cell{padding:2px}.chant-fields{grid-template-columns:repeat(4,1fr)}.material-forms>div{grid-template-columns:52px 1fr 40px auto}}@keyframes sheet-up{0%{transform:translateY(100%)}}.tone-blue{--tone:var(--accent);--tone-deep:var(--accent-deep);--tone-ink:#fff}.tone-green{--tone:var(--green);--tone-deep:var(--green-deep);--tone-ink:#fff}.tone-yellow{--tone:var(--yellow);--tone-deep:var(--yellow-deep);--tone-ink:#17233a}.tone-red{--tone:var(--red);--tone-deep:var(--red-deep);--tone-ink:#fff}.tone-grammar{--tone:#7c4ddc;--tone-deep:#5a31b0;--tone-ink:#fff}.tone-accent{--tone:var(--accent)}.tone-saffron{--tone:var(--yellow)}.tone-sky{--tone:var(--accent)}.tone-clay{--tone:var(--red)}.tone-plum{--tone:var(--plum)}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800;display:inline-block}.btn{--btn:var(--surface);--btn-edge:var(--line-strong);--btn-ink:var(--ink);border:2px solid var(--btn-edge);background:var(--btn);height:46px;color:var(--btn-ink);box-shadow:0 4px 0 var(--btn-edge);letter-spacing:.02em;white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover:not(:disabled,.is-static){filter:brightness(1.04)}.btn:active:not(:disabled,.is-static){box-shadow:0 0 0 var(--btn-edge);transform:translateY(4px)}.btn:disabled{opacity:.45}.btn-primary{--btn:var(--accent);--btn-edge:var(--accent-deep);--btn-ink:var(--accent-ink)}.btn-quiet{--btn:var(--surface);--btn-edge:var(--line-strong);--btn-ink:var(--ink)}.btn-sm{border-radius:12px;height:38px;padding:0 14px;font-size:14px}.btn-lg{border-radius:16px;height:56px;padding:0 30px;font-size:17px}.btn-block{width:100%}.btn.is-static{cursor:default;opacity:.7}.link-btn{color:var(--accent);align-items:center;gap:6px;font-size:15px;font-weight:800;display:inline-flex}.link-btn:hover{text-underline-offset:4px;text-decoration:underline}.icon-btn{border:2px solid var(--line);width:40px;height:40px;color:var(--ink);border-radius:12px;place-items:center;transition:background-color .15s;display:grid}.icon-btn:hover{background:var(--soft)}.topbar{z-index:40;background:var(--header);border-bottom:2px solid var(--line);position:sticky;top:0}.topbar-inner{align-items:center;gap:28px;width:min(1120px,100%);height:68px;margin:0 auto;padding:0 28px;display:flex}.brand{color:var(--ink);font:900 24px/1 var(--display);letter-spacing:-.01em;align-items:center;gap:10px;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;width:38px;height:38px;box-shadow:0 3px 0 var(--accent-deep);font:800 22px/1 var(--glyph);border-radius:12px;place-items:center;display:grid}.topnav{gap:6px;display:flex}.topnav button{height:42px;color:var(--muted);border:2px solid #0000;border-radius:12px;padding:0 14px;font-size:15px;font-weight:800;transition:background-color .15s,color .15s}.topnav button:hover{background:var(--soft);color:var(--ink)}.topnav button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.topbar-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.hud{border:2px solid var(--line);border-radius:12px;align-items:center;gap:14px;height:40px;padding:0 14px;font-size:15px;font-weight:900;display:inline-flex}.hud>span{align-items:center;gap:5px;display:inline-flex}.hud-streak{color:var(--muted)}.hud-streak.lit{color:#ff9500}.hud-streak.lit svg{fill:#ff9500}.hud-level{color:var(--accent)}.pro-badge{background:var(--yellow);color:#17233a;letter-spacing:.04em;text-transform:uppercase;border-radius:10px;padding:7px 12px;font-size:13px;font-weight:900}.dock{display:none}.content-page{width:min(1120px,100%);padding:48px 28px 96px}.page-head{max-width:720px;margin-bottom:32px}.page-head h1{font:900 clamp(36px, 5vw, 52px)/1.05 var(--display);letter-spacing:-.02em;margin:6px 0 10px}.page-head p{color:var(--muted);font-size:18px;font-weight:600;line-height:1.5}.sub-head{font:900 28px/1.1 var(--display);margin:48px 0 16px}.sub-tabs{gap:8px;width:min(1120px,100%);margin:0 auto;padding:18px 28px 0;display:flex}.sub-tabs button{border:2px solid var(--line);height:42px;color:var(--muted);border-radius:12px;padding:0 18px;font-size:15px;font-weight:800}.sub-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sub-tabs+.content-page{padding-top:28px}.home{width:min(1120px,100%);margin:0 auto;padding:0 28px}.hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:56px;padding:64px 0 72px;display:grid}.hero h1{font:900 clamp(40px, 5.4vw, 64px)/1.04 var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 18px}.hero-lede{max-width:40ch;color:var(--muted);font-size:20px;font-weight:600;line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px;display:flex}.hero-fine{color:var(--muted);margin-top:18px;font-size:15px;font-weight:600}.chart{border:2px solid var(--line);background:var(--surface);box-shadow:0 6px 0 var(--line);border-radius:24px;margin:0;padding:20px}.chart table{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%}.chart th{color:var(--muted);text-align:center;padding:0 0 2px;font-size:14px;font-weight:800}.chart thead th:first-child{width:9%}.chart tbody th{color:var(--accent);text-align:center;padding:0;font-size:14px;font-weight:900}.chart td{padding:0}.chart td button{aspect-ratio:1;background:var(--soft);width:100%;color:var(--ink);box-shadow:0 3px 0 var(--lift);font:700 clamp(18px, 2.2vw, 26px)/1 var(--glyph);border-radius:12px;place-items:center;transition:transform 80ms,box-shadow 80ms,background-color .12s;display:grid}.chart tbody tr:nth-child(4n+1){--row:var(--accent);--row-deep:var(--accent-deep);--row-ink:#fff}.chart tbody tr:nth-child(4n+2){--row:var(--green);--row-deep:var(--green-deep);--row-ink:#fff}.chart tbody tr:nth-child(4n+3){--row:var(--yellow);--row-deep:var(--yellow-deep);--row-ink:#17233a}.chart tbody tr:nth-child(4n+4){--row:var(--red);--row-deep:var(--red-deep);--row-ink:#fff}.chart tbody th{color:var(--row-deep)}.chart tbody td button{background:color-mix(in srgb, var(--row) 14%, var(--surface));box-shadow:0 3px 0 color-mix(in srgb, var(--row) 35%, var(--surface))}.chart tbody td button:hover{background:var(--row);color:var(--row-ink);box-shadow:0 3px 0 var(--row-deep)}.chart td button:active{box-shadow:none;transform:translateY(3px)}.chart figcaption{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:0 6px;font-size:14px;font-weight:600;display:flex}.chapter{border-top:2px solid var(--line);padding:56px 0 72px}.chapter-head{margin-bottom:26px}.chapter-head:has(.chapter-num){grid-template-columns:56px 1fr;align-items:center;display:grid}.chapter-num{color:var(--accent);font:800 30px/1 var(--glyph)}.chapter-head h2{font:900 clamp(28px, 3.6vw, 40px)/1.1 var(--display);letter-spacing:-.02em}.chapter-head p{color:var(--muted);margin-top:8px;font-size:17px;font-weight:600}.contents{counter-reset:unit;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.contents li:nth-child(4n+1){--tone:var(--accent);--tone-deep:var(--accent-deep);--tone-ink:#fff}.contents li:nth-child(4n+2){--tone:var(--green);--tone-deep:var(--green-deep);--tone-ink:#fff}.contents li:nth-child(4n+3){--tone:var(--yellow);--tone-deep:var(--yellow-deep);--tone-ink:#17233a}.contents li:nth-child(4n+4){--tone:var(--red);--tone-deep:var(--red-deep);--tone-ink:#fff}.contents button{border:2px solid var(--line);background:var(--surface);width:100%;box-shadow:0 4px 0 var(--line);text-align:left;border-radius:20px;grid-template-columns:1fr auto;grid-template-areas:"num script""title script""meta script";align-items:center;padding:18px 20px;transition:transform 80ms,box-shadow 80ms,border-color .15s;display:grid}.contents button:hover{border-color:var(--tone)}.contents button:active{box-shadow:none;transform:translateY(4px)}.contents-num{color:var(--tone-deep);letter-spacing:.06em;text-transform:uppercase;grid-area:num;font-size:13px;font-weight:900}.contents-num:before{content:"Unit "}.contents-title{font:900 22px/1.2 var(--display);grid-area:title}.contents-meta{color:var(--muted);grid-area:meta;font-size:14px;font-weight:700}.contents-script{background:var(--tone);min-width:64px;height:64px;color:var(--tone-ink);box-shadow:0 4px 0 var(--tone-deep);font:800 22px/1 var(--glyph);border-radius:16px;grid-area:script;place-items:center;padding:0 10px;display:grid}.contents-leader{display:none}.pricing{justify-items:start;gap:24px;display:grid}.billing-toggle{border:2px solid var(--line);background:var(--surface);border-radius:14px;gap:4px;padding:4px;display:inline-flex}.billing-toggle button{height:40px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:800;display:inline-flex}.billing-toggle button.active{background:var(--accent);color:#fff}.billing-toggle span{background:var(--yellow);color:#17233a;border-radius:8px;padding:2px 8px;font-size:12px}.plan-grid-cards{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;width:100%;display:grid}.plan-card{border:2px solid var(--line);background:var(--surface);box-shadow:0 5px 0 var(--line);border-radius:22px;align-content:start;gap:4px;padding:26px;display:grid}.plan-card.featured{border-color:var(--accent);box-shadow:0 5px 0 var(--accent-deep)}.plan-ribbon{display:none}.plan-card h3{font:900 24px/1.1 var(--display)}.plan-blurb{color:var(--muted);font-size:15px;font-weight:600}.plan-price{align-items:baseline;gap:6px;margin:18px 0 0;display:flex}.plan-price strong{font:900 44px/1 var(--display);letter-spacing:-.02em}.plan-price span{color:var(--muted);font-size:15px;font-weight:700}.plan-note{color:var(--green-deep);font-size:14px;font-weight:800}.plan-card .btn{margin-top:18px}.plan-error{color:var(--red-deep);margin-top:8px;font-size:13px;font-weight:700}.plan-card ul{gap:10px;margin:22px 0 0;padding:0;list-style:none;display:grid}.plan-card li{gap:10px;font-size:15px;font-weight:600;line-height:1.4;display:flex}.plan-card li svg{color:var(--green);flex:none;margin-top:2px}.faq{gap:10px;max-width:760px;display:grid}.faq details{border:2px solid var(--line);background:var(--surface);border-radius:18px}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:17px;font-weight:800;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--muted);flex:none;transition:transform .2s}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{color:var(--muted);padding:0 22px 20px;font-size:16px;font-weight:600;line-height:1.6}.pricing-page .chapter{margin-top:56px}.learn-page{width:min(640px,100%);margin:0 auto;padding:28px 20px 110px}.learn-stats{justify-content:center;gap:10px;margin-bottom:26px;display:flex}.stat-chip{border:2px solid var(--line);background:var(--surface);height:40px;color:var(--muted);border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:900;display:inline-flex}.stat-chip.streak.lit{color:#ff9500}.stat-chip.streak.lit svg{fill:#ff9500}.stat-chip.xp{color:var(--yellow-deep)}.stat-chip.xp svg{fill:var(--yellow)}.stat-chip.lvl{color:var(--accent)}.today-panel{border:2px solid var(--line);background:var(--surface);box-shadow:0 5px 0 var(--line);border-radius:22px;gap:18px;margin-bottom:36px;padding:20px;display:grid}.goal{align-items:center;gap:16px;display:flex}.goal-ring{--p:0;background:radial-gradient(closest-side, var(--surface) 76%, transparent 77%), conic-gradient(var(--yellow) calc(var(--p) * 1%), var(--lift) 0);border-radius:50%;flex:none;align-content:center;place-items:center;width:84px;height:84px;display:grid}.goal-ring b{font:900 22px/1 var(--display)}.goal-ring small{color:var(--muted);font-size:11px;font-weight:800}.goal strong{margin-bottom:8px;font-size:18px;font-weight:900;display:block}.goal-options{gap:6px;display:flex}.goal-options button{border:2px solid var(--line);height:32px;color:var(--muted);border-radius:10px;padding:0 12px;font-size:13px;font-weight:800}.goal-options button.active{border-color:var(--yellow-deep);background:var(--saffron-soft);color:var(--saffron-ink)}.streak-week{border-top:2px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.streak-week strong{color:var(--muted);align-items:center;gap:6px;font-size:16px;font-weight:900;display:inline-flex}.streak-week strong.lit{color:#ff9500}.streak-week strong.lit svg{fill:#ff9500}.streak-week ol{gap:8px;margin:0;padding:0;list-style:none;display:flex}.streak-week li{color:var(--muted);justify-items:center;gap:3px;font-size:11px;font-weight:800;display:grid}.streak-week li i{background:var(--lift);border-radius:50%;width:22px;height:22px}.streak-week li.on i{background:#ff9500;box-shadow:0 2px #c76f00}.streak-week li.today{color:var(--ink)}.quests{border-top:2px solid var(--line);gap:10px;margin:0;padding:16px 0 0;list-style:none;display:grid}.quests li{grid-template-columns:26px 1fr auto;align-items:center;gap:12px;display:grid}.quest-check{border:2px solid var(--line-strong);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.quests li.done .quest-check{border-color:var(--green);background:var(--green);color:#fff}.quest-copy{gap:6px;display:grid}.quest-copy b{font-size:15px;font-weight:800}.quest-copy i{background:var(--lift);border-radius:99px;height:10px;display:block;overflow:hidden}.quest-copy em{border-radius:inherit;background:var(--yellow);height:100%;display:block}.quests li.done .quest-copy em{background:var(--green)}.quests small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.draft-tag{letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;border-radius:8px;margin-top:8px;padding:2px 8px;font-size:11px;font-weight:900;display:inline-block}.tone-yellow .draft-tag{background:#17233a1f}.level{margin-bottom:56px}.level-head{text-align:center;margin-bottom:22px}.level-head small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:900}.level-head h1{font:900 34px/1.1 var(--display);letter-spacing:-.02em;margin:4px 0 6px}.level-head p{color:var(--muted);font-size:16px;font-weight:700}.level.is-planned{gap:12px;display:grid}.unit-banner.planned{background:var(--soft);color:var(--muted);box-shadow:0 5px 0 var(--lift)}.unit-banner.planned h2{font-size:21px}.unit{margin-bottom:40px}.unit-banner{background:var(--tone);color:var(--tone-ink);box-shadow:0 5px 0 var(--tone-deep);border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.unit-banner small{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:13px;font-weight:900}.unit-banner h2{font:900 26px/1.1 var(--display);margin:2px 0}.unit-banner p{opacity:.9;font-size:15px;font-weight:700}.unit-banner-glyph{font:800 30px/1 var(--glyph);opacity:.9;flex:none}.path{justify-items:center;gap:22px;margin:60px 0 0;padding:0;list-style:none;display:grid}.path li{transform:translateX(var(--offset));justify-items:center;gap:8px;display:grid;position:relative}.node{background:var(--tone);width:78px;height:74px;color:var(--tone-ink);box-shadow:0 7px 0 var(--tone-deep);border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid}.node:active{box-shadow:0 1px 0 var(--tone-deep);transform:translateY(6px)}.node.done{background:var(--yellow);color:#17233a;box-shadow:0 7px 0 var(--yellow-deep)}.node.locked{background:var(--lift);color:var(--muted);box-shadow:0 7px 0 var(--line-strong)}.node.current{outline:6px solid color-mix(in srgb, var(--tone) 28%, transparent);outline-offset:5px}.path li:not(:has(.current)):not(:has(.done)) .node:not(.locked){background:var(--soft);color:var(--muted);box-shadow:0 7px 0 var(--lift)}.node-label{color:var(--muted);font-size:14px;font-weight:800}.path-start{border:2px solid var(--line);background:var(--surface);color:var(--tone-deep);letter-spacing:.06em;text-transform:uppercase;border-radius:12px;padding:6px 12px;font-size:13px;font-weight:900;animation:1.6s ease-in-out infinite bounce-y;position:absolute;top:-40px}.tone-yellow .path-start{color:var(--yellow-deep)}.path-start:after{content:"";border-right:2px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);width:12px;height:12px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.vis{background:var(--soft);border-radius:16px;flex:none;place-items:center;line-height:1;display:inline-grid}.vis-xs{border-radius:10px;width:32px;height:32px;font-size:18px}.vis-sm{width:56px;height:56px;font-size:30px}.vis-md{border-radius:22px;width:100px;height:100px;font-size:56px}.vis-lg{border-radius:28px;width:150px;height:150px;font-size:84px}.vis-swatch{background:var(--swatch);border-radius:50%;box-shadow:inset 0 0 0 2px #00000014}.vis-figure{background:var(--accent-soft);color:var(--accent);font-family:var(--display);font-weight:900}.vis-xs.vis-figure{font-size:16px}.vis-md.vis-figure{font-size:52px}.vis-lg.vis-figure{font-size:80px}.vl-overlay{z-index:100;background:var(--bg);grid-template-rows:auto 1fr;animation:.2s both room-in;display:grid;position:fixed;inset:0;overflow-y:auto}.vl-bar{z-index:1;background:var(--bg);align-items:center;gap:16px;width:min(820px,100%);margin:0 auto;padding:18px 24px;display:flex;position:sticky;top:0}.vl-progress{background:var(--lift);border-radius:99px;flex:1;height:16px;overflow:hidden}.vl-progress i{border-radius:inherit;background:var(--green);height:100%;transition:width .4s;display:block;box-shadow:inset 0 -4px #0000001f}.vl-title{color:var(--muted);font-size:14px;font-weight:800}.vl-body{place-items:center;width:min(640px,100%);margin:0 auto;padding:20px 24px 150px;display:grid}.vl-body section{text-align:center;justify-items:center;gap:22px;width:100%;display:grid}.flash-card{border:2px solid var(--line);background:var(--surface);width:min(400px,100%);box-shadow:0 6px 0 var(--line);border-radius:28px;justify-items:center;gap:4px;padding:32px 26px 26px;display:grid}.flash-card strong{font:800 clamp(44px, 9vw, 60px)/1.15 var(--glyph);margin-top:18px}.flash-say{color:var(--accent);font-size:22px;font-weight:900}.flash-en{color:var(--muted);margin-bottom:16px;font-size:17px;font-weight:700}.vl-prompt{justify-items:center;gap:18px;display:grid}.vl-prompt h2{font:900 clamp(24px, 4vw, 30px)/1.2 var(--display)}.vl-prompt h2 em{color:var(--accent);font-style:normal}.vl-prompt-word{font:800 clamp(52px, 12vw, 76px)/1.15 var(--glyph)}.vl-prompt-word.sentence,.flash-card strong.sentence{max-width:22ch;font-size:clamp(26px,5vw,34px);line-height:1.4}.build-slots button,.build-bank button{width:auto;min-width:58px;padding:0 12px}.build-words button{padding:0 18px;font-size:22px}.build-words .build-bank{gap:12px}.build-words .build-slots{gap:10px}.vl-option b[lang]{overflow-wrap:anywhere}.vl-options{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.vl-option{border:2px solid var(--line-strong);background:var(--surface);min-height:80px;box-shadow:0 4px 0 var(--line-strong);border-radius:18px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;transition:transform 80ms,box-shadow 80ms,border-color .12s,background-color .12s;display:flex}.vl-option:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft)}.vl-option:not(:disabled):active{box-shadow:none;transform:translateY(4px)}.vl-option b{font-size:18px;font-weight:800}.vl-option b[lang]{font:800 26px/1.2 var(--glyph)}.vl-option small{color:var(--muted);font-size:13px;font-weight:700}.vl-option:has(small){flex-direction:column;gap:2px}.vl-option.right{border-color:var(--green);background:var(--good-soft);box-shadow:0 4px 0 var(--green-deep);color:var(--green-deep)}.vl-option.wrong{border-color:var(--red);background:var(--bad-soft);box-shadow:0 4px 0 var(--red-deep);color:var(--red-deep);animation:.35s shake}.vl-option.dim{opacity:.45}.vl-option:disabled{cursor:default}.vl-feedback{z-index:2;padding:22px max(24px, calc((100vw - 640px) / 2)) calc(22px + env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;gap:18px;animation:.25s both sheet-up;display:flex;position:fixed;bottom:0;left:0;right:0}.vl-feedback.right{background:var(--good-soft);border-color:#0000}.vl-feedback.wrong{background:var(--bad-soft);border-color:#0000}.vl-feedback div{gap:2px;display:grid}.vl-feedback strong{font:900 24px/1.1 var(--display);align-items:center;gap:8px;display:inline-flex}.vl-feedback.right strong,.vl-feedback.right span{color:var(--green-deep)}.vl-feedback.wrong strong,.vl-feedback.wrong span{color:var(--red-deep)}.vl-feedback span{font-size:16px;font-weight:700}.vl-feedback span b{font-family:var(--glyph)}.vl-feedback.right .btn{--btn:var(--green);--btn-edge:var(--green-deep)}.vl-feedback.wrong .btn{--btn:var(--red);--btn-edge:var(--red-deep)}.vl-done h1{font:900 clamp(36px, 7vw, 52px)/1.05 var(--display)}.vl-done p{color:var(--muted);font-size:18px;font-weight:700}.vl-burst{display:none}.vl-stars{gap:8px;display:flex}.vl-stars svg{color:var(--lift);fill:var(--lift)}.vl-stars svg.on{color:var(--yellow-deep);fill:var(--yellow)}.xp-pill{color:var(--yellow-deep);font-weight:900}.tip-card{text-align:center;justify-items:center;gap:16px;width:100%;display:grid}.tip-badge{color:#5a31b0;letter-spacing:.04em;text-transform:uppercase;background:#efe8fc;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:900;display:inline-flex}[data-theme=dark] .tip-badge{color:#c3a8f5;background:#2b2145}.tip-card h1{font:900 clamp(28px, 5vw, 36px)/1.15 var(--display)}.tip-body{max-width:44ch;color:var(--ink);font-size:18px;font-weight:600;line-height:1.55}.tip-examples{text-align:left;gap:10px;width:100%;margin:6px 0 10px;padding:0;list-style:none;display:grid}.tip-examples li{border:2px solid var(--line);background:var(--surface);box-shadow:0 4px 0 var(--line);border-radius:18px;align-items:center;gap:14px;padding:14px 16px;display:flex}.tip-examples button{color:#fff;background:#7c4ddc;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 4px #5a31b0}.tip-examples button:active{box-shadow:none;transform:translateY(4px)}.tip-examples div{display:grid}.tip-examples strong{font:800 22px/1.35 var(--glyph)}.tip-examples small{color:#7c4ddc;font-size:14px;font-weight:800}.tip-examples span{color:var(--muted);font-size:14px;font-weight:600}.gap-sentence{max-width:24ch;font:800 clamp(26px, 5.5vw, 34px)/1.6 var(--glyph)}.gap-slot{color:#7c4ddc;text-align:center;border-bottom:4px solid #7c4ddc;min-width:3.2em;margin:0 .2em;padding:0 .3em;display:inline-block}.gap-slot.right{border-color:var(--green);color:var(--green-deep)}.gap-slot.wrong{border-color:var(--red);color:var(--red-deep)}.gap-en{color:var(--muted);font-size:17px;font-weight:700}.talk{flex-direction:column;width:min(820px,100%);min-height:calc(100vh - 70px);margin:0 auto;padding:18px 24px 0;display:flex}.talk-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.talk-levels{background:var(--soft);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.talk-levels button{height:34px;color:var(--muted);border-radius:999px;padding:0 14px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s}.talk-levels button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #17233a1f}.talk-bar-tools{gap:6px;display:flex}.ghost-btn{height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s;display:inline-flex}.ghost-btn:hover{background:var(--soft);color:var(--ink)}.ghost-btn.active{color:var(--accent)}.talk-thread{flex-direction:column;flex:1;gap:30px;padding:34px 0 30px;display:flex}.talk-welcome{gap:14px;margin:auto 0;padding:4vh 0 2vh;display:grid}.talk-welcome h1{font:800 clamp(34px, 5.6vw, 52px)/1.12 var(--display);letter-spacing:-.025em;color:var(--muted)}.talk-gradient{background:linear-gradient(90deg,#2f6fe4,#14a44d 55%,#e9a400);color:#0000;font-family:var(--glyph);-webkit-background-clip:text;background-clip:text}.talk-welcome>p{max-width:52ch;color:var(--muted);font-size:17px;font-weight:600}.talk-suggestions{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.talk-suggestions button{background:var(--soft);text-align:left;border-radius:20px;align-content:start;gap:6px;min-height:150px;padding:16px;transition:background-color .2s,transform .2s;display:grid;position:relative}.talk-suggestions button:hover{background:var(--lift);transform:translateY(-2px)}.talk-suggestions b{font-size:16px;font-weight:800}.talk-suggestions span{color:var(--muted);font-size:14px;font-weight:600;line-height:1.4}.talk-suggestions i{background:var(--surface);border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;font-style:normal;display:grid;position:absolute;bottom:12px;right:14px}.talk-any{color:var(--accent);justify-self:start;font-size:15px;font-weight:800}.talk-any:hover{text-underline-offset:4px;text-decoration:underline}.msg{gap:16px;animation:.35s cubic-bezier(.2,.8,.2,1) both msg-in;display:flex}.msg.learner{justify-content:flex-end}.msg.learner p{background:var(--soft);max-width:80%;color:var(--ink);font:600 18px/1.5 var(--glyph);border-radius:24px 24px 6px;align-items:center;gap:8px;padding:12px 18px;display:inline-flex}.msg.learner svg{color:var(--muted);flex:none}.mahta{color:#fff;width:36px;height:36px;font:800 17px/1 var(--glyph);background:conic-gradient(from 200deg,#2f6fe4,#14a44d,#ffc72c,#e8344a,#2f6fe4);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #ffffff59}.mahta.spin{animation:1.6s linear infinite spin}.msg-body{gap:4px;min-width:0;padding-top:2px;display:grid}.msg-ti{color:var(--ink);font:600 clamp(22px, 3.4vw, 27px)/1.5 var(--glyph)}.msg-say{color:var(--accent);font-size:15.5px;font-weight:700}.msg-en{color:var(--muted);font-size:16px;font-weight:600}.msg-fix{border-left:3px solid var(--yellow);background:var(--saffron-soft);color:var(--saffron-ink);border-radius:4px 14px 14px 4px;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:14.5px;font-weight:600;line-height:1.5;display:flex}.msg-fix svg{flex:none;margin-top:3px}.msg-actions{gap:2px;margin:6px 0 0 -8px;display:flex}.msg-actions button{width:36px;height:36px;color:var(--muted);border-radius:50%;place-items:center;transition:background-color .2s,color .2s;display:grid}.msg-actions button:hover{background:var(--soft);color:var(--ink)}.shimmer{background:linear-gradient(90deg, var(--muted) 30%, var(--ink) 50%, var(--muted) 70%) 0 0 / 200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;width:max-content;font-size:16px;font-weight:700;animation:1.6s linear infinite shimmer}.talk-dock{background:linear-gradient(transparent, var(--bg) 28%);padding:10px 0 14px;position:sticky;bottom:0}.prompt{border:1px solid var(--line);background:var(--surface);border-radius:32px;align-items:center;gap:6px;min-height:62px;padding:8px 8px 8px 22px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 8px 30px -12px #17233a59}.prompt:focus-within{border-color:var(--line-strong);box-shadow:0 10px 34px -12px #17233a73}.prompt input{min-width:0;color:var(--ink);font:600 17px/1.4 var(--display);background:0 0;border:0;outline:none;flex:1}.prompt input::placeholder{color:var(--muted);font-weight:500}.prompt-mic,.prompt-send{border-radius:50%;flex:none;place-items:center;width:46px;height:46px;transition:background-color .2s,color .2s,opacity .2s;display:grid}.prompt-mic{color:var(--ink)}.prompt-mic:hover{background:var(--soft)}.prompt-mic.on{background:var(--red);color:#fff}.prompt-send{background:var(--ink);color:var(--bg)}.prompt-send:disabled{background:var(--soft);color:var(--muted)}.prompt-live{color:var(--ink);font-variant-numeric:tabular-nums;flex:1;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.live-dot{background:var(--red);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite breathe}.wave{align-items:center;gap:3px;height:20px;margin-left:6px;display:inline-flex}.wave i{background:var(--red);border-radius:3px;width:3px;height:30%;animation:.9s ease-in-out infinite wave}.wave i:nth-child(2){animation-delay:.1s}.wave i:nth-child(3){animation-delay:.2s}.wave i:nth-child(4){animation-delay:.3s}.wave i:nth-child(5){animation-delay:.4s}.talk-note{color:var(--muted);text-align:center;margin-top:8px;font-size:12.5px;font-weight:600}.talk-error{background:var(--bad-soft);color:var(--red-deep);border-radius:14px;padding:10px 14px;font-weight:700}.talk-limit{background:var(--saffron-soft);color:var(--saffron-ink);border-radius:24px;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font-weight:700;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes wave{50%{height:100%}}@keyframes pulse-ring{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--red) 30%, transparent)}}.speak-card{text-align:center;justify-items:center;gap:12px;width:100%;display:grid}.speak-card>strong{font:800 clamp(40px, 9vw, 56px)/1.25 var(--glyph)}.speak-card>strong.sentence{max-width:22ch;font-size:clamp(26px,5vw,34px)}.speak-card>small{color:var(--muted);font-size:16px;font-weight:700}.record-btn{background:var(--red);color:#fff;width:108px;height:104px;box-shadow:0 7px 0 var(--red-deep);border-radius:50%;place-items:center;margin-top:10px;display:grid}.record-btn.on{animation:1.2s ease-in-out infinite pulse-ring}.record-btn:disabled{opacity:.6}.record-hint{color:var(--muted);font-size:15px;font-weight:800}.speak-result{text-align:left;border-radius:18px;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.speak-result.good{background:var(--good-soft);color:var(--green-deep)}.speak-result.ok{background:var(--saffron-soft);color:var(--saffron-ink)}.speak-result.low{background:var(--bad-soft);color:var(--red-deep)}.speak-score{flex:none;font-size:15px;font-weight:800}.speak-score b{font:900 38px/1 var(--display)}.speak-result p{font-size:16px;font-weight:700}.speak-result small{opacity:.85;font-size:14px;font-weight:600}.combo-chip{color:#fff;background:#ff9500;border-radius:10px;padding:4px 10px;font-weight:900}.combo-cheer{z-index:3;color:#fff;font:900 22px/1 var(--display);pointer-events:none;background:#ff9500;border-radius:16px;padding:10px 20px;animation:1.4s forwards cheer;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 5px #c76f00}.done-combo{color:#e08600!important}@keyframes cheer{0%{opacity:0;transform:translate(-50%,10px)scale(.8)}15%{opacity:1;transform:translate(-50%)scale(1.08)}25%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-12px)}}.listen-card{text-align:center;justify-items:center;gap:18px;width:100%;padding-top:24px;display:grid}.listen-card h2{font:900 30px/1.15 var(--display)}.listen-card>p{max-width:36ch;color:var(--muted);font-size:17px;font-weight:600}.listen-icon{color:var(--accent)}.listen-card .listen-en{max-width:none;color:var(--ink);font:900 clamp(26px, 5vw, 34px)/1.25 var(--display)}.listen-answer{border:2px dashed var(--line-strong);border-radius:24px;align-content:center;justify-items:center;gap:6px;width:min(440px,100%);min-height:150px;padding:20px;display:grid}.listen-answer.shown{border:2px solid var(--green);background:var(--good-soft)}.listen-answer strong{font:800 clamp(30px, 6vw, 40px)/1.3 var(--glyph)}.listen-answer small{color:var(--green-deep);font-size:17px;font-weight:800}.listen-think{color:var(--muted);font-size:18px;font-weight:800;animation:1.2s ease-in-out infinite bounce-y}.listen-controls{gap:12px;margin-top:8px;display:flex}.listen-btn{background:var(--accent);color:#fff;width:128px;height:120px;box-shadow:0 7px 0 var(--accent-deep);border-radius:28px;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid}.listen-btn:active{box-shadow:0 1px 0 var(--accent-deep);transform:translateY(6px)}.choice-letter{font:800 36px/1 var(--glyph)!important}.choice-sound{font-size:24px!important;font-weight:900!important}.flash-letter{margin-top:0!important;font-size:clamp(84px,18vw,120px)!important}.build{gap:18px;width:100%;display:grid}.build-slots{border-bottom:3px solid var(--line-strong);flex-wrap:wrap;justify-content:center;gap:8px;min-height:78px;padding:10px;display:flex}.build-slots.right{border-color:var(--green)}.build-slots.wrong{border-color:var(--red)}.build-hint{color:var(--muted);align-self:center;font-size:15px;font-weight:700}.build-slots button,.build-bank button{border:2px solid var(--line-strong);background:var(--surface);width:58px;height:58px;box-shadow:0 4px 0 var(--line-strong);font:800 28px/1 var(--glyph);border-radius:14px;place-items:center;transition:transform 80ms,box-shadow 80ms,opacity .12s;display:grid}.build-bank{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.build-bank button:active:not(:disabled){box-shadow:none;transform:translateY(4px)}.build-bank button:disabled{opacity:.2;box-shadow:none}.build-actions{justify-content:center;gap:10px;display:flex}.fidel-actions{margin-top:22px}.mastery-legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.mastery-legend span{align-items:center;gap:7px;display:inline-flex}.mastery-legend i{border-radius:6px;width:18px;height:18px}.full-chart{border-collapse:separate;border-spacing:5px;table-layout:fixed;width:100%;max-width:720px}.full-chart thead th{z-index:1;background:var(--bg);color:var(--muted);padding:6px 0;font-size:14px;font-weight:800;position:sticky;top:70px}.full-chart thead th:first-child{width:11%}.full-chart tbody th{padding:0}.full-chart tbody th button{width:100%;height:100%;color:var(--accent);font-size:14px;font-weight:900}.full-chart td{padding:0}.full-chart td button{aspect-ratio:1.1;width:100%;font:700 clamp(17px, 2.3vw, 24px)/1 var(--glyph);box-shadow:0 3px 0 var(--lift);border-radius:10px;place-items:center;transition:transform 80ms,box-shadow 80ms;display:grid}.full-chart td button:active{box-shadow:none;transform:translateY(3px)}.lv-0{background:var(--surface)}.lv-1{background:var(--accent-soft)}.lv-2{background:color-mix(in srgb, var(--accent) 35%, var(--surface))}.lv-3{background:var(--accent);color:#fff}.lv-4{background:var(--green);color:#fff}.mastery-legend .lv-0{border:2px solid var(--line)}.chart-note{color:var(--muted);margin-top:14px;font-size:14px;font-weight:600}.player-strip{border:2px solid var(--line);background:var(--surface);box-shadow:0 5px 0 var(--line);border-radius:22px;margin-bottom:8px;padding:18px 22px;animation:none}.player-level{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-deep);border-radius:16px}.player-xp>span{background:var(--lift);border:0;border-radius:99px;height:14px}.player-xp>span i{background:var(--yellow);border-radius:99px}.player-streak.lit svg{color:#ff9500;fill:#ff9500}.games-group{font:900 26px/1.1 var(--display);margin:36px 0 14px}.game-rows{gap:12px;margin:0;padding:0;list-style:none;display:grid}.game-rows li:nth-child(4n+1){--tone:var(--accent);--tone-deep:var(--accent-deep)}.game-rows li:nth-child(4n+2){--tone:var(--green);--tone-deep:var(--green-deep)}.game-rows li:nth-child(4n+3){--tone:var(--yellow);--tone-deep:var(--yellow-deep)}.game-rows li:nth-child(4n+4){--tone:var(--red);--tone-deep:var(--red-deep)}.game-row{border:2px solid var(--line);border-left:8px solid var(--tone);background:var(--surface);width:100%;box-shadow:0 4px 0 var(--line);text-align:left;border-radius:18px;grid-template-columns:1fr 150px auto;align-items:center;gap:20px;padding:18px 20px;transition:transform 80ms,box-shadow 80ms;display:grid}.game-row:active{box-shadow:none;transform:translateY(4px)}.game-row-copy{gap:2px;display:grid}.game-row-copy small{color:var(--tone-deep);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.game-row-copy strong{font:900 22px/1.15 var(--display)}.game-row-copy span{color:var(--muted);font-size:15px;font-weight:600}.game-row-meta{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.game-row-go{background:var(--tone);color:#fff;height:40px;box-shadow:0 4px 0 var(--tone-deep);border-radius:12px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:900;display:inline-flex}.game-rows li:nth-child(4n+3) .game-row-go{color:#17233a}.today-card{border:2px solid var(--line);background:var(--surface);box-shadow:0 5px 0 var(--line);border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:24px;padding:22px;display:grid}.today-card-glyph{background:var(--yellow);color:#17233a;width:84px;height:84px;box-shadow:0 5px 0 var(--yellow-deep);font:800 44px/1 var(--glyph);border-radius:20px;place-items:center;display:grid}.today-card-copy h2{font:900 26px/1.1 var(--display);margin:4px 0}.today-card-copy p{color:var(--muted);font-size:16px;font-weight:600}.plan-calendar-bar>button:not(.today-jump),.today-jump,.calendar-views{border-radius:12px}.day-pane,.plan-cell,.planned-lessons article,.notes-paper,.today-plan-card,.homework-plan,.resources-plan{border:2px solid var(--line);background:var(--surface);box-shadow:0 4px 0 var(--line);border-radius:18px}.day-pane.is-today,.plan-cell.is-today,.week-strip .is-today{background:var(--accent);color:#fff;border-color:var(--accent-deep);box-shadow:0 4px 0 var(--accent-deep)}.plan-cell.selected,.week-strip .selected{border-color:var(--accent)}.calendar-views button.active,.notes-tools button.active,.notes-shelf button.active{background:var(--accent);color:#fff}.planned-lesson-number{color:var(--accent);opacity:1}.paper-task.complete>span{background:var(--green);border-color:var(--green)}.day-window,.plan-editor,.owner-card{border:2px solid var(--line);border-radius:24px}.player-strip+.games-group{margin-top:28px}.arcade-bar>button,.game-mult,.arcade-cta,.arcade-ghost{border-radius:12px}.game-mult.on{background:var(--yellow);color:#17233a}.game-timer{border-radius:99px;height:12px}.game-timer i{background:var(--green);border-radius:99px}.game-timer.low i{background:var(--red)}.arcade-bar-player i b{background:var(--yellow)}.arcade-card{position:relative}.pro-lock{z-index:2;background:var(--yellow);color:#17233a;border-radius:10px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:14px;right:14px}.toast{z-index:200;background:var(--fill);color:var(--fill-ink);border-radius:16px;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:800;animation:.3s both toast-in;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.site-footer{border-top:2px solid var(--line);background:var(--surface);margin-top:24px;padding:44px 28px 40px}.footer-inner{justify-content:space-between;gap:48px;width:min(1064px,100%);margin:0 auto;display:flex}.footer-brand{justify-items:start;gap:12px;max-width:320px;display:grid}.footer-brand p{color:var(--muted);font-size:15px;font-weight:600}.footer-owner{color:var(--accent);font-size:14px;font-weight:800}.footer-links{gap:64px;display:flex}.footer-links div{align-content:start;justify-items:start;gap:8px;display:grid}.footer-links b{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:900}.footer-links button,.footer-links a{color:var(--ink);font-size:15px;font-weight:700;text-decoration:none}.footer-links button:hover,.footer-links a:hover{color:var(--accent)}.footer-fine{width:min(1064px,100%);color:var(--muted);margin:32px auto 0;font-size:13px;font-weight:600;display:block}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes bounce-y{50%{transform:translateY(-5px)}}@media (width<=1000px){.topnav button{padding:0 10px}.hud{display:none}.hero{grid-template-columns:1fr;gap:40px;padding:44px 0 56px}.chart{max-width:560px}.plan-grid-cards{grid-template-columns:1fr;max-width:480px}}@media (width<=760px){.topbar-inner{gap:10px;height:60px;padding:0 16px}.topnav{display:none}.brand{font-size:21px}.brand-mark{width:34px;height:34px;font-size:19px}.hud{gap:10px;height:36px;padding:0 10px;font-size:14px;display:inline-flex}.hud-level{display:none!important}.icon-btn{width:36px;height:36px}.dock{z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--dock);border-top:2px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.dock button{color:var(--muted);border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin:0 2px;padding:6px 0;font-size:11px;font-weight:800;display:flex}.dock button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.content-page{padding:28px 16px 120px}.page-head{margin-bottom:24px}.page-head p{font-size:16.5px}.sub-tabs{padding:14px 16px 0}.home{padding:0 16px 24px}.hero{gap:30px;padding:32px 0 44px}.hero-lede{font-size:18px}.hero-actions{flex-direction:column;align-items:stretch;gap:16px;margin-top:24px}.hero-actions .link-btn{align-self:center}.hero-fine{text-align:center}.chart{border-radius:20px;padding:12px 8px}.chart table{border-spacing:4px}.chart td button{border-radius:9px;font-size:19px}.chart tbody th,.chart th{font-size:12px}.chapter{padding:40px 0 52px}.contents{grid-template-columns:1fr;gap:10px}.plan-grid-cards{max-width:none}.billing-toggle{width:100%}.billing-toggle button{flex:1;justify-content:center}.learn-page{padding:20px 16px 120px}.unit-banner{padding:16px 18px}.unit-banner h2{font-size:23px}.unit-banner p{font-size:14px}.unit-banner-glyph{font-size:24px}.path li{transform:translateX(calc(var(--offset) * .7))}.vl-bar{padding:14px 16px}.vl-body{padding:14px 16px 170px}.vl-options{grid-template-columns:1fr}.vl-option{min-height:66px}.vl-feedback{padding:18px 16px calc(18px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.vl-feedback .btn{width:100%}.vis-lg{width:120px;height:120px;font-size:66px}.build-slots button,.build-bank button{width:auto;min-width:50px;height:50px;padding:0 10px;font-size:25px}.build-words button{padding:0 14px;font-size:20px}.build-words .build-bank{gap:12px 10px}.listen-btn{width:108px;height:100px}.talk{min-height:calc(100vh - 60px);padding:12px 16px 0}.talk-bar{flex-direction:column;align-items:stretch}.talk-levels{justify-content:space-between}.talk-levels button{flex:1;padding:0 8px}.talk-bar-tools{justify-content:flex-end}.talk-suggestions{grid-template-columns:1fr 1fr;gap:10px}.talk-suggestions button{min-height:128px}.msg{gap:12px}.msg.learner p{max-width:88%;font-size:17px}.talk-dock{padding-bottom:10px;bottom:64px}.prompt{min-height:56px;padding-left:18px}.talk-limit{flex-direction:column;align-items:stretch}.full-chart thead th{font-size:13px;top:60px}.full-chart td button{border-radius:8px;font-size:18px}.full-chart{border-spacing:3px}.fidel-actions .btn{width:100%}.game-row{grid-template-columns:1fr auto;gap:8px 14px;padding:16px}.game-row-copy{grid-column:1/-1}.game-row-copy strong{font-size:20px}.today-card{grid-template-columns:1fr;gap:14px}.today-card-glyph{width:64px;height:64px;font-size:32px}.today-card .btn{width:100%}.site-footer{padding:32px 16px 110px}.footer-inner{flex-direction:column;gap:28px}.toast{justify-content:center;width:calc(100% - 32px);bottom:90px}}.forge-equation,.forge-anvil{justify-content:center;align-items:center;gap:10px;display:flex}.forge-equation{background:var(--surface);border:1px solid var(--line);width:fit-content;animation:rise .5s var(--ease) 60ms both;border-radius:16px;margin-top:28px;padding:20px 26px}.forge-equation span{background:var(--soft);border-radius:16px;justify-items:center;gap:2px;min-width:64px;padding:10px 12px;display:grid}.forge-equation b{font:700 34px/1.1 var(--glyph)}.forge-equation .vowel b{font:600 30px/1.15 var(--display);color:var(--saffron-ink)}.forge-equation .made{background:var(--fill);color:var(--fill-ink)}.forge-equation small{color:inherit;opacity:.7;font-size:12px;font-weight:600}.forge-equation i,.forge-anvil i{color:var(--muted);font:600 24px/1 var(--display);font-style:normal}.forge-stage{flex-direction:column;flex:1;justify-content:center;gap:16px;width:min(100%,560px);min-height:0;display:flex}.forge-prompt{background:var(--surface);border:1px solid var(--line);text-align:center;animation:target-in .35s var(--spring) both;border-radius:16px;place-items:center;gap:10px;padding:22px;display:grid}.forge-prompt>small,.forge-row>small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.forge-sound{color:var(--accent);font:600 clamp(44px, 11vw, 64px)/1.1 var(--display);border-radius:16px;align-items:center;gap:12px;padding:4px 18px;transition:background-color .2s;display:inline-flex}.forge-sound:hover{background:var(--accent-soft)}.forge-target{font:700 clamp(64px, 16vw, 96px)/1.1 var(--glyph)}.forge-prompt.right{box-shadow:0 0 0 3px var(--good), var(--shadow)}.forge-prompt.wrong{box-shadow:0 0 0 3px var(--bad), var(--shadow);animation:.4s nudge}.forge-anvil span{border:2px dashed var(--line-strong);width:70px;height:70px;color:var(--muted);font:700 32px/1 var(--glyph);border-radius:16px;place-items:center;transition:background-color .2s,border-color .2s;display:grid}.forge-anvil span.filled{background:var(--surface);color:var(--ink);border-style:solid;border-color:#0000;border:1px solid var(--line);animation:pop .3s var(--spring)}.forge-anvil span.vowel{font:600 26px/1 var(--display)}.forge-anvil span.vowel.filled{color:var(--saffron-ink)}.forge-anvil span.made{width:84px;height:84px;font-size:42px}.forge-anvil.right span.made{background:var(--good);color:#fff}.forge-anvil.wrong span.made{background:var(--bad);color:#fff}.forge-fix{text-align:center;animation:rise .3s var(--ease) both;font-size:16px}.forge-fix b{font:700 28px/1 var(--glyph);vertical-align:-4px}.forge-family{animation:rise .3s var(--ease) both;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.forge-family span{background:var(--surface);border:1px solid var(--line);border-radius:16px;justify-items:center;padding:8px 0 6px;display:grid}.forge-family b{font:600 24px/1.1 var(--glyph)}.forge-family small{color:var(--muted);font-size:11px;font-weight:600}.forge-family .on{background:var(--good);color:#fff}.forge-family .on small{color:#fffc}.forge-row{gap:8px;display:grid}.forge-bases{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.forge-vowels{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.forge-bases button,.forge-vowels button{background:var(--surface);border:2px solid #0000;border:1px solid var(--line);transition:transform .2s var(--spring), border-color .2s, background-color .2s;border-radius:16px;align-content:center;place-items:center;gap:2px;display:grid}.forge-bases button{min-height:80px}.forge-vowels button{border-radius:16px;min-height:62px}.forge-bases button:hover,.forge-vowels button:hover{transform:translateY(-2px)}.forge-bases button:active,.forge-vowels button:active{transform:scale(.95)}.forge-bases button.picked,.forge-vowels button.picked{border-color:var(--accent);background:var(--accent-soft)}.forge-bases b{font:700 34px/1.1 var(--glyph)}.forge-vowels b{color:var(--saffron-ink);font:600 22px/1.1 var(--display)}.forge-bases small,.forge-vowels small{color:var(--muted);font-size:11.5px;font-weight:600}.forge-card .arcade-art{background:#2f6fe4;justify-content:center;align-items:center;gap:10px;display:flex}.forge-card .arcade-art i{color:#fff9;font:600 26px/1 var(--display);font-style:normal}.forge-art-tile{color:#fff;width:72px;height:72px;font:700 36px/1 var(--glyph);background:#ffffff1a;border-radius:16px;place-items:center;animation:4s ease-in-out infinite orbit;display:grid;box-shadow:inset 0 1px #ffffff26}.forge-art-tile.vowel{color:#f2b453;font:600 32px/1 var(--display);animation-delay:-1.3s}.forge-art-tile.made{color:#17233a;background:#ffc72c;width:84px;height:84px;font-size:44px;animation-delay:-2.6s}@media (width<=760px){.forge-stage{gap:12px}.forge-prompt{padding:16px}.forge-anvil span{width:58px;height:58px;font-size:26px}.forge-anvil span.made{width:70px;height:70px;font-size:34px}.forge-bases{gap:8px}.forge-bases button{border-radius:16px;min-height:68px}.forge-vowels{gap:4px}.forge-vowels button{border-radius:16px;min-height:54px}.forge-vowels b{font-size:18px}.forge-vowels small{font-size:9.5px}.forge-family{gap:3px}.forge-family b{font-size:19px}.forge-art-tile{width:58px;height:58px;font-size:28px}.forge-art-tile.made{width:68px;height:68px;font-size:34px}}[data-theme=dark] body{background:#000}[data-theme=dark] ::selection{color:#000;background:#fafafa}[data-theme=dark] .btn{box-shadow:none;letter-spacing:0;border-width:1px;border-radius:999px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s,transform .15s}[data-theme=dark] .btn:active:not(:disabled,.is-static){box-shadow:none;transform:scale(.97)}[data-theme=dark] .btn-primary{--btn:#fafafa;--btn-edge:#fafafa;--btn-ink:#000}[data-theme=dark] .btn-primary:hover:not(:disabled,.is-static){filter:none;background:#d9d9d9;border-color:#d9d9d9}[data-theme=dark] .btn-quiet{--btn:transparent;--btn-edge:#2b2b2b;--btn-ink:#fafafa}[data-theme=dark] .btn-quiet:hover:not(:disabled,.is-static){filter:none;border-color:#fafafa}[data-theme=dark] .link-btn{color:#fafafa;text-underline-offset:6px;-webkit-text-decoration:underline #3a3a3a;text-decoration:underline #3a3a3a}[data-theme=dark] .link-btn:hover{text-decoration-color:#fafafa}[data-theme=dark] .icon-btn{border:1px solid #1f1f1f;border-radius:999px}[data-theme=dark] .topbar{-webkit-backdrop-filter:blur(16px)saturate(140%);border-bottom:1px solid #141414}[data-theme=dark] .brand-mark{color:#000;box-shadow:none;background:#fafafa;border-radius:10px}[data-theme=dark] .topnav button{color:#7a7a7a;border:0;font-weight:600}[data-theme=dark] .topnav button:hover,[data-theme=dark] .topnav button.active{color:#fafafa;background:0 0}[data-theme=dark] .hud{border:1px solid #1c1c1c;border-radius:999px}[data-theme=dark] .hud-level{color:#fafafa}[data-theme=dark] .pro-badge{color:#000;background:#fafafa;border-radius:999px}[data-theme=dark] .dock{-webkit-backdrop-filter:blur(16px);border-top:1px solid #141414}[data-theme=dark] .dock button{border:0}[data-theme=dark] .dock button.active{color:#fafafa;background:0 0}[data-theme=dark] .sub-tabs button{border:1px solid #1f1f1f;border-radius:999px}[data-theme=dark] .sub-tabs button.active{color:#000;background:#fafafa;border-color:#fafafa}[data-theme=dark] .hero{grid-template-columns:1.25fr 1fr}[data-theme=dark] .hero h1{letter-spacing:-.045em;font-size:clamp(46px,6.4vw,92px);line-height:.95}@media (width<=1000px){[data-theme=dark] .hero{grid-template-columns:1fr}}[data-theme=dark] .hero-lede{color:#8b8b8b}[data-theme=dark] .page-head h1,[data-theme=dark] .chapter-head h2,[data-theme=dark] .level-head h1{letter-spacing:-.04em}[data-theme=dark] .eyebrow{color:#8b8b8b}[data-theme=dark] .chart{box-shadow:none;background:#050505;border:1px solid #1a1a1a}[data-theme=dark] .chart th,[data-theme=dark] .chart tbody th{color:#5c5c5c}[data-theme=dark] .chart tbody td button{color:#e8e8e8;box-shadow:none;background:#0f0f0f;border:1px solid #181818;transition:background-color .15s,color .15s,transform .15s}[data-theme=dark] .chart tbody td button:hover{color:#000;box-shadow:none;background:#fafafa;border-color:#fafafa}[data-theme=dark] .chart td button:active{transform:scale(.94)}[data-theme=dark] .chapter{border-top:1px solid #141414}[data-theme=dark] .contents button{box-shadow:none;background:#070707;border:1px solid #1a1a1a}[data-theme=dark] .contents button:hover{border-color:#3a3a3a}[data-theme=dark] .contents-num{color:#6b6b6b}[data-theme=dark] .contents-script{color:#fafafa;box-shadow:none;background:#141414}[data-theme=dark] .today-panel,[data-theme=dark] .plan-card,[data-theme=dark] .faq details,[data-theme=dark] .player-strip,[data-theme=dark] .today-card,[data-theme=dark] .flash-card,[data-theme=dark] .game-row,[data-theme=dark] .tip-examples li,[data-theme=dark] .chat{box-shadow:none;background:#070707;border:1px solid #1a1a1a}[data-theme=dark] .plan-card.featured{box-shadow:none;border-color:#fafafa}[data-theme=dark] .goal-ring{background:radial-gradient(closest-side, #070707 78%, transparent 79%), conic-gradient(#fafafa calc(var(--p) * 1%), #1f1f1f 0)}[data-theme=dark] .goal-options button{border:1px solid #1f1f1f;border-radius:999px}[data-theme=dark] .goal-options button.active{color:#000;background:#fafafa;border-color:#fafafa}[data-theme=dark] .streak-week,[data-theme=dark] .quests{border-top:1px solid #161616}[data-theme=dark] .quest-copy i,[data-theme=dark] .bar,[data-theme=dark] .player-xp>span{background:#1a1a1a}[data-theme=dark] .quest-copy em,[data-theme=dark] .player-xp>span i{background:#fafafa}[data-theme=dark] .quests li.done .quest-copy em{background:#3ddc84}[data-theme=dark] .unit-banner{color:#fafafa;box-shadow:none;border:1px solid #1c1c1c;border-left:3px solid var(--tone);background:#0a0a0a}[data-theme=dark] .unit-banner small{color:var(--tone);opacity:1}[data-theme=dark] .tone-blue{--tone:#6ea8ff}[data-theme=dark] .tone-green{--tone:#3ddc84}[data-theme=dark] .tone-yellow{--tone:#ffd23f}[data-theme=dark] .tone-red{--tone:#ff6b6b}[data-theme=dark] .tone-grammar{--tone:#b69cff}[data-theme=dark] .unit-banner.planned{border-left-color:#2b2b2b}[data-theme=dark] .draft-tag{color:#8b8b8b;background:#1a1a1a}[data-theme=dark] .node{color:#9a9a9a;box-shadow:none;background:#111;border:1px solid #222}[data-theme=dark] .path li:not(:has(.current)):not(:has(.done)) .node:not(.locked){color:#9a9a9a;box-shadow:none;background:#111;border:1px solid #222}[data-theme=dark] .node.current{color:#000;outline-offset:6px;background:#fafafa;border-color:#fafafa;outline:1px solid #3a3a3a}[data-theme=dark] .node.done{color:#3ddc84;box-shadow:none;background:#0c1f14;border-color:#1d4d31}[data-theme=dark] .node.locked{color:#444;box-shadow:none;background:#0a0a0a;border-color:#1a1a1a}[data-theme=dark] .node:active{box-shadow:none;transform:scale(.95)}[data-theme=dark] .path-start{color:#fafafa;background:#0a0a0a;border:1px solid #2b2b2b;border-radius:999px}[data-theme=dark] .path-start:after{background:#0a0a0a;border-color:#2b2b2b}[data-theme=dark] .vl-overlay,[data-theme=dark] .vl-bar{background:#000}[data-theme=dark] .vl-progress{background:#1a1a1a}[data-theme=dark] .vl-progress i{box-shadow:none;background:#fafafa}[data-theme=dark] .vl-option{box-shadow:none;background:#0a0a0a;border:1px solid #222;border-radius:16px}[data-theme=dark] .vl-option:not(:disabled):hover{background:#0f0f0f;border-color:#fafafa}[data-theme=dark] .vl-option.right{box-shadow:none;background:#0c1f14;border-color:#3ddc84}[data-theme=dark] .vl-option.wrong{box-shadow:none;background:#210c0c;border-color:#ff5c5c}[data-theme=dark] .vl-feedback{background:#0a0a0a;border-top:1px solid #1c1c1c}[data-theme=dark] .vl-feedback.right .btn{--btn:#3ddc84;--btn-edge:#3ddc84;--btn-ink:#000}[data-theme=dark] .vl-feedback.wrong .btn{--btn:#ff5c5c;--btn-edge:#ff5c5c;--btn-ink:#000}[data-theme=dark] .vis{background:#111}[data-theme=dark] .listen-btn,[data-theme=dark] .tip-examples button{color:#000;box-shadow:none;background:#fafafa}[data-theme=dark] .build-slots button,[data-theme=dark] .build-bank button{box-shadow:none;background:#0a0a0a;border:1px solid #262626}[data-theme=dark] .build-bank button:hover:not(:disabled){border-color:#fafafa}[data-theme=dark] .record-btn{box-shadow:none}[data-theme=dark] .msg-say{color:#a3a3a3}[data-theme=dark] .flash-say{color:#fafafa}[data-theme=dark] .vl-prompt h2 em,[data-theme=dark] .gap-slot{color:#fafafa;border-color:#fafafa}[data-theme=dark] .game-row{border-left:2px solid var(--tone)}[data-theme=dark] .game-row-go{box-shadow:none;background:#fafafa;border-radius:999px;color:#000!important}[data-theme=dark] .game-rows li{--tone-deep:#8b8b8b}[data-theme=dark] .player-level{color:#000;box-shadow:none;background:#fafafa}[data-theme=dark] .talk-levels{background:#0f0f0f}[data-theme=dark] .talk-levels button.active{color:#000;box-shadow:none;background:#fafafa}[data-theme=dark] .talk-suggestions button{background:#0a0a0a;border:1px solid #1a1a1a}[data-theme=dark] .talk-suggestions button:hover{background:#111;border-color:#2b2b2b}[data-theme=dark] .talk-suggestions i,[data-theme=dark] .msg.learner p{background:#161616}[data-theme=dark] .prompt{background:#0a0a0a;border:1px solid #222;box-shadow:0 20px 50px -20px #000000e6}[data-theme=dark] .prompt-send{color:#000;background:#fafafa}[data-theme=dark] .talk-dock{background:linear-gradient(#0000,#000 28%)}[data-theme=dark] .full-chart td button{box-shadow:none;border:1px solid #161616}[data-theme=dark] .lv-0{background:#0a0a0a}[data-theme=dark] .lv-1{background:#141414}[data-theme=dark] .lv-2{background:#2a2a2a}[data-theme=dark] .lv-3{color:#000;background:#d9d9d9}[data-theme=dark] .lv-4{color:#000;background:#3ddc84}[data-theme=dark] .site-footer{background:#000;border-top:1px solid #141414}[data-theme=dark] .toast{border-radius:999px}
