@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_f6af4f66-module__nEd1Uq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_f6af4f66-module__nEd1Uq__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Mukta;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6782197c4d5dd6ad-s.1m5rlx45pq_xg.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Mukta;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5372248e942b0993-s.2ra2s555iszsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mukta;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed113078b1c8eb25-s.061utbdqre79w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta;font-style:normal;font-weight:500;font-display:swap;src:url(../media/55ccc4e52c34800d-s.3h-at1l817dbg.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Mukta;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a6037d28403df9b5-s.13t1kgh0cf98o.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mukta;font-style:normal;font-weight:500;font-display:swap;src:url(../media/49eabb9678b0be2e-s.1zp2olo9oh69j.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta;font-style:normal;font-weight:600;font-display:swap;src:url(../media/453f758e2ed7ecd1-s.1xcm70jkqw0o-.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Mukta;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3d31879ae4488f43-s.0ni436wehbk9a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mukta;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32c830f11645148a-s.3rzgt5_w98djx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c346428b8b499e8a-s.05s9wicu6412i.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Mukta;font-style:normal;font-weight:700;font-display:swap;src:url(../media/23797f40b11d69c3-s.3voe4v5dbrpbh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mukta;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a3346ffcb420890f-s.3c0vowm7xbu-2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta Fallback;src:local(Arial);ascent-override:119.94%;descent-override:56.47%;line-gap-override:0.0%;size-adjust:94.21%}.mukta_8a44f83d-module__IOSToW__className{font-family:Mukta,Mukta Fallback;font-style:normal}.mukta_8a44f83d-module__IOSToW__variable{--font-deva:"Mukta", "Mukta Fallback"}
:root{--bg:#0e1016;--surface:#171a22;--surface-2:#1f2430;--border:#2a2f3c;--text:#f2f4f8;--muted:#9aa3b8;--brand:#ff7a45;--brand-2:#ffb07a;--listen:#5bc8ff;--speak:#36d9a6;--warn:#ffc857;--danger:#ff6b6b;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-25:25px;--fs-31:31px;--fs-39:39px;--s-4:4px;--s-8:8px;--s-12:12px;--s-16:16px;--s-24:24px;--s-32:32px;--s-48:48px;--s-64:64px;--r-card:12px;--r-sheet:20px;--r-pill:999px;--shadow:0 8px 30px #00000059;--t-micro:.12s;--t-std:.2s;--t-sheet:.32s;--ease-out:cubic-bezier(.16, 1, .3, 1);--fw-body:400;--fw-label:500;--fw-label-strong:600;--fw-display:700;--fw-display-strong:800;--lh-body:1.55;--lh-display:1.15;--ls-body:-.006em;--border-hairline:var(--border);--tap-min:44px}[data-theme=light]{--bg:#fbfaf8;--surface:#fff;--surface-2:#f3f1ed;--border:#e6e2da;--text:#1a1d24;--muted:#6b7384;--brand-2:#a24c12;--speak:#0a8a63;--warn:#8a5d00;--listen:#1273a6;--danger:#c4302f}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans), var(--font-deva), ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;font-size:var(--fs-16);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;line-height:1.55}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.15}.display-1{font-size:var(--fs-39);letter-spacing:-.03em;font-weight:800}.display-2{font-size:var(--fs-31);letter-spacing:-.025em;font-weight:800}.title{font-size:var(--fs-25);letter-spacing:-.02em;font-weight:700}.subtitle{font-size:var(--fs-20);letter-spacing:-.015em;font-weight:700}.muted{color:var(--muted)}.caption{font-size:var(--fs-14);color:var(--muted);letter-spacing:0}a{color:var(--brand);text-decoration:none}.app-shell{max-width:480px;min-height:100dvh;padding:var(--s-24);flex-direction:column;margin:0 auto;display:flex}.btn{font:inherit;border-radius:var(--r-card);cursor:pointer;color:#1b1205;background:linear-gradient(135deg, var(--brand), var(--brand-2));min-height:48px;transition:transform var(--t-micro) var(--ease-out), filter var(--t-micro);border:none;width:100%;padding:14px 20px;font-weight:600}.btn:hover{filter:brightness(1.05)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.subtle{color:var(--muted);border:1px solid var(--border);background:0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-16)}.input{width:100%;font:inherit;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--r-card);min-height:48px;padding:12px 14px}.input:focus{outline:2px solid var(--brand);outline-offset:1px}.pill{font-size:var(--fs-12);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}button.pill,a.pill{min-height:var(--tap-min)}.chip{font:inherit;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);color:var(--text);cursor:pointer;transition:border-color var(--t-micro), background var(--t-micro), transform var(--t-micro) var(--ease-out);padding:14px 16px}.chip:hover{border-color:var(--brand-2)}.chip[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--surface))}.chip:active{transform:scale(.99)}.onb-shell{max-width:480px;min-height:100dvh;padding:var(--s-24);gap:var(--s-16);background:radial-gradient(ellipse 80% 34% at 50% 26%, color-mix(in srgb, var(--brand) 8%, transparent), transparent 70%);grid-template-rows:auto auto 1fr auto;margin:0 auto;display:grid}.onb-dots{justify-content:center;gap:8px;display:flex}.onb-dot{background:var(--border);width:8px;height:8px;transition:background var(--t-std), transform var(--t-std) var(--ease-out);border-radius:999px}.onb-dot.on{background:var(--brand);transform:scale(1.25)}.onb-mascot{place-items:center;display:grid}.step{gap:var(--s-16);animation:stepIn .34s var(--ease-out) both;align-content:start;display:grid}@keyframes stepIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.onb-shell{background:0 0}.step,.stagger>*{animation:none}}.price-shell{max-width:480px;min-height:100dvh;padding:var(--s-24);gap:var(--s-24);align-content:start;margin:0 auto;display:grid}.price-head{justify-content:space-between;align-items:flex-start;gap:var(--s-12);display:flex}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);width:fit-content;padding:3px;display:inline-flex}.seg button{font:inherit;font-size:var(--fs-12);color:var(--muted);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;min-height:38px;padding:8px 14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);border:1px solid var(--brand)}.split{gap:var(--s-8);grid-template-columns:1fr 1fr;display:grid}.split .card{align-content:start;gap:6px;display:grid}.split .caption b{color:var(--text)}.tick{color:var(--speak)}.plan-hero{background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 12%, var(--surface)), var(--surface) 60%);border:1px solid var(--brand);border-radius:var(--r-sheet);padding:var(--s-24);gap:var(--s-12);box-shadow:0 0 44px -18px var(--brand);display:grid;position:relative;overflow:hidden}.plan-hero .price{font-size:var(--fs-39);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:800}.plan-hero .price .per{font-size:var(--fs-14);color:var(--muted);letter-spacing:0;font-weight:500}.plan-quiet{align-items:center;gap:var(--s-12);width:100%;font:inherit;color:var(--text);padding:var(--s-12) var(--s-16);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);cursor:pointer;transition:border-color var(--t-micro);min-height:44px;display:flex}.plan-quiet:hover{border-color:var(--brand-2)}.plan-quiet:disabled{opacity:.5;cursor:not-allowed}.shelf{max-width:480px;min-height:100dvh;padding:var(--s-24);gap:var(--s-16);align-content:start;margin:0 auto;display:grid}.shelf .spotlight,.shelf .tilt-card,.shelf .lab-card,.shelf .mock-banner{color:var(--text);text-decoration:none}.spotlight{cursor:pointer;gap:var(--s-8);background:var(--surface);border:1px solid var(--brand);border-radius:var(--r-sheet);padding:var(--s-24);text-align:left;transition:border-color var(--t-std), transform var(--t-micro) var(--ease-out);display:grid;position:relative;overflow:hidden}.spotlight:before{content:"";background:radial-gradient(ellipse 70% 60% at 50% 0%, color-mix(in srgb, var(--brand) 16%, transparent), transparent 70%);pointer-events:none;height:140%;position:absolute;inset:-40% -20% auto}.spotlight:hover{border-color:var(--brand-2)}.spotlight:active{transform:scale(.99)}.spotlight>*{position:relative}.subject-grid{gap:var(--s-12);grid-template-columns:1fr 1fr;display:grid}.tilt-card{cursor:pointer;will-change:transform;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-16);transition:transform var(--t-std) var(--ease-out), border-color var(--t-micro);transform-style:preserve-3d;align-content:start;gap:6px;display:grid}.tilt-card:hover{border-color:var(--brand-2)}.tilt-card:active{transform:scale(.98)!important}.verified-badge{width:fit-content;font-size:var(--fs-12);color:var(--speak);border:1px solid color-mix(in srgb, var(--speak) 35%, transparent);background:color-mix(in srgb, var(--speak) 10%, transparent);border-radius:var(--r-pill);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.filter-row{gap:var(--s-8);flex-wrap:wrap;display:flex}.filter-row .chip[aria-pressed=true]{border-color:var(--brand);color:var(--text);background:color-mix(in srgb, var(--brand) 12%, var(--surface))}.lab-masonry{gap:var(--s-12);grid-template-columns:1fr 1fr;align-items:start;display:grid}.lab-col{gap:var(--s-12);align-content:start;display:grid}.lab-card{gap:var(--s-8);cursor:pointer;will-change:transform;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-16);transition:transform var(--t-std) var(--ease-out), border-color var(--t-micro);justify-items:start;display:grid}.lab-card:hover{border-color:var(--brand-2)}.lab-card:active{transform:scale(.98)!important}.ring-wrap{place-items:center;width:52px;height:52px;display:grid;position:relative}.ring-wrap .emoji{font-size:32px;line-height:1}.ring-wrap svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{stroke:var(--border)}.ring-fill{stroke:var(--brand);transition:stroke-dashoffset .9s cubic-bezier(.34,1.56,.64,1)}.mastery-num{font-size:var(--fs-12);color:var(--muted)}.mock-banner{gap:var(--s-12);cursor:pointer;background:color-mix(in srgb, var(--listen) 6%, var(--surface));border:1px dashed color-mix(in srgb, var(--listen) 50%, var(--border));border-radius:var(--r-card);padding:var(--s-16);transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out);align-items:center;display:flex}.mock-banner:hover{border-color:var(--listen)}.mock-banner:active{transform:scale(.99)}.cascade{opacity:0;animation:rise-in .38s var(--ease-out) forwards;animation-delay:var(--d,0s)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cascade{opacity:1;animation:none}.spotlight:before{display:none}.ring-fill{transition:none}}.celebrate{max-width:480px;min-height:100dvh;padding:var(--s-24);align-content:center;justify-items:center;gap:var(--s-16);text-align:center;background:radial-gradient(ellipse 90% 40% at 50% 30%, color-mix(in srgb, var(--brand) 8%, transparent), transparent 70%);margin:0 auto;display:grid}.confetti{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.confetti i{opacity:0;width:8px;height:14px;animation:confetti-fall var(--dur,1.3s) cubic-bezier(.25, .4, .6, 1) var(--del,0s) forwards;border-radius:2px;position:absolute;top:-12px}.confetti .c1{background:var(--brand)}.confetti .c2{background:var(--brand-2)}.confetti .c3{background:var(--speak)}.confetti .c4{background:var(--listen)}.confetti .c5{background:var(--warn)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.9;transform:translateY(105vh) rotate(var(--rot,540deg))}}.stage-item{opacity:0;transition:opacity .32s var(--ease-out), transform .32s var(--ease-out);transform:translateY(12px)}.stage-item.on{opacity:1;transform:none}.mascot-pop{opacity:0;transform:scale(.4)}.mascot-pop.on{opacity:1;transition:opacity .2s ease-out,transform .55s cubic-bezier(.34,1.56,.64,1);transform:scale(1)}.xp-chip{font-weight:800;font-size:var(--fs-31);color:var(--brand-2);letter-spacing:-.02em;text-shadow:0 0 24px color-mix(in srgb, var(--brand) 55%, transparent);align-items:baseline;gap:6px;display:inline-flex}.total-pill{opacity:0;transform:scale(.6)}.total-pill.on{opacity:1;transition:opacity .18s ease-out,transform .45s cubic-bezier(.34,1.56,.64,1);transform:scale(1)}.flame{display:inline-block}.flame.pulse{animation:flame-pulse .6s var(--ease-out) 1}@keyframes flame-pulse{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}.up-next-card{gap:var(--s-12);text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--brand-2);border-radius:var(--r-card);width:100%;padding:var(--s-16);color:var(--text);transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out);align-items:center;text-decoration:none;display:flex}.up-next-card:hover{border-color:var(--brand)}.up-next-card:active{transform:scale(.99)}.replay{top:var(--s-16);right:var(--s-16);z-index:10;min-height:var(--tap-min);font-size:var(--fs-12);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--muted);cursor:pointer;background:0 0;padding:8px 12px;position:fixed}.replay:hover{border-color:var(--brand-2);color:var(--text)}@media (prefers-reduced-motion:reduce){.confetti{display:none}.celebrate{background:0 0}.stage-item,.mascot-pop,.total-pill{opacity:1;transition:none;transform:none}.flame.pulse{animation:none}}.coach-shell{max-width:var(--shell-max,480px);min-height:100dvh;padding:var(--s-16) var(--s-24) 168px;gap:var(--s-12);flex-direction:column;margin:0 auto;display:flex;position:relative}.coach-head{align-items:flex-start;gap:var(--s-12);padding-top:var(--s-8);display:flex}.coach-back{border-radius:var(--r-pill);width:44px;height:44px;color:var(--muted);cursor:pointer;transition:border-color var(--t-micro), color var(--t-micro), transform var(--t-micro) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:20px;text-decoration:none;display:grid}.coach-back:hover{border-color:var(--border);color:var(--text)}.coach-back:active{transform:scale(.94)}.coach-head-txt{flex:1;gap:2px;min-width:0;display:grid}.coach-eyebrow{color:var(--muted);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.coach-title{font-size:var(--fs-25);letter-spacing:-.02em;text-wrap:pretty;font-weight:800;line-height:1.15}.coach-head-actions{gap:var(--s-8);align-items:center;display:flex}.scenario-pill{border-radius:var(--r-pill);background:color-mix(in srgb, var(--brand) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand-2);font-size:var(--fs-12);justify-self:start;align-items:center;gap:6px;margin-top:4px;padding:4px 12px;font-weight:600;display:inline-flex}.chat-log{padding:var(--s-8) 0;flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.bubble{max-width:85%;font-size:var(--fs-16);border-radius:var(--r-card);text-wrap:pretty;padding:10px 14px;line-height:1.45}.bubble.bolo{background:var(--surface);border:1px solid var(--border);color:var(--text);align-self:flex-start}.bubble.bolo.tail{margin-top:var(--s-8);border-top-left-radius:4px}.bubble.learner{background:var(--brand);color:#1b1205;align-self:flex-end;font-weight:500}.bubble.learner.tail{margin-top:var(--s-8);border-top-right-radius:4px}.reveal-caret{color:var(--brand-2);margin-left:1px;animation:1s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{50%{opacity:0}}.typing-dots{align-items:center;gap:4px;height:20px;display:inline-flex}.typing-dots span{background:var(--muted);border-radius:999px;width:6px;height:6px;animation:1.1s ease-in-out infinite dotBounce}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes dotBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.composer-wrap{z-index:40;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:min(480px,100vw);padding:0 var(--s-16);gap:6px;display:grid;position:fixed;transform:translate(-50%)}.composer-caption{text-align:center;min-height:20px;font-size:var(--fs-14);color:var(--listen);font-weight:500}.composer{align-items:center;gap:var(--s-8);padding:var(--s-8);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border:1px solid var(--border);display:flex;box-shadow:0 8px 30px #00000059}.composer .input{border-radius:var(--r-pill);background:0 0;border-color:#0000;flex:1;min-width:0}.composer .input:focus{border-color:var(--border)}.mic-btn{cursor:pointer;width:48px;height:48px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);flex:none;place-items:center;font-size:20px;display:grid;position:relative}.mic-btn:active{transform:scale(.94)}.mic-btn:disabled{opacity:.5;cursor:not-allowed}.mic-ring{border-radius:inherit;pointer-events:none;border:2px solid var(--listen);position:absolute;inset:-6px}.send-btn{border-radius:var(--r-pill);background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#1b1205;height:48px;font-weight:700;font-size:var(--fs-16);cursor:pointer;transition:filter var(--t-micro), transform var(--t-micro) var(--ease-out), opacity var(--t-micro);border:none;flex:none;padding:0 20px}.send-btn:hover{filter:brightness(1.05)}.send-btn:active{transform:scale(.96)}.send-btn:disabled{opacity:.4;cursor:default}.warm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);padding:var(--s-16);gap:var(--s-8);text-align:left;display:grid}.warm-card.ok{border-color:color-mix(in srgb, var(--speak) 45%, var(--border))}.warm-card.warm{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.verdict-pill{border-radius:var(--r-pill);font-size:var(--fs-14);border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;justify-self:start;align-items:center;gap:6px;padding:6px 14px;font-weight:700;display:inline-flex}.verdict-pill.ok{color:var(--speak);border-color:color-mix(in srgb, var(--speak) 45%, var(--border));background:color-mix(in srgb, var(--speak) 10%, var(--surface))}.verdict-pill.warm{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--border));background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.diff-wrong{color:var(--warn);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--warn) 80%, transparent);text-decoration-color:color-mix(in srgb, var(--warn) 80%, transparent);text-decoration-thickness:2px}.diff-right{color:var(--speak);font-weight:600}.seed-row{gap:var(--s-8);flex-wrap:wrap;display:flex}.shimmer{border-radius:var(--r-card);background:var(--surface);background-image:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--text) 5%, transparent) 50%, transparent 70%);background-size:220% 100%;animation:1.3s linear infinite shimmerSlide}@keyframes shimmerSlide{0%{background-position:200% 0}to{background-position:-20% 0}}.trust-badge{z-index:35;left:50%;bottom:calc(140px + env(safe-area-inset-bottom,0px));border-radius:var(--r-pill);font-size:var(--fs-12);color:var(--muted);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex;position:fixed;transform:translate(-50%)}.cite-pill{border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-16);background:color-mix(in srgb, var(--brand) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border));color:var(--brand-2);justify-self:start;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.cite-pill.outside{background:color-mix(in srgb, var(--warn) 10%, var(--surface));border-color:color-mix(in srgb, var(--warn) 45%, var(--border));color:var(--warn)}.book{perspective:200px;display:inline-block}.lab-promo{align-items:center;gap:var(--s-12);color:var(--text);background:var(--surface);border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border));border-radius:var(--r-card);padding:var(--s-12) var(--s-16);cursor:pointer;transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out);text-decoration:none;display:flex}.lab-promo:hover{border-color:var(--brand-2)}.lab-promo:active{transform:scale(.98)}.lab-promo .lp-emoji{font-size:26px}.lab-promo .lp-title{font-size:var(--fs-16);font-weight:700}.lab-promo .lp-sub{font-size:var(--fs-14);color:var(--muted)}.sect-eyebrow{color:var(--brand-2);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s-8);font-weight:700}.streak-hero{text-align:center;padding:var(--s-24) var(--s-16) var(--s-16);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);position:relative;overflow:hidden}.streak-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--brand) 22%, transparent), transparent 70%);pointer-events:none;width:260px;height:200px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.streak-flame{transform-origin:50% 90%;font-size:44px;display:inline-block}@media (prefers-reduced-motion:no-preference){.streak-flame{animation:1.6s ease-in-out infinite flameFlicker}}@keyframes flameFlicker{0%,to{transform:scale(1)rotate(-2deg)}30%{transform:scale(1.08,1.14)rotate(2deg)}55%{transform:scale(.97,1.02)rotate(-1deg)}75%{transform:scale(1.05,1.1)rotate(1.5deg)}}.streak-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text);margin-top:2px;font-size:64px;font-weight:800;line-height:1}.streak-label{color:var(--muted);font-size:var(--fs-14);margin-top:4px;font-weight:600}.stat-flank{gap:var(--s-12);align-items:stretch;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-12);text-align:center;align-content:center;gap:2px;display:grid}.stat-tile .v{font-size:var(--fs-25);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:800}.stat-tile .l{font-size:var(--fs-12);color:var(--muted);font-weight:600}.heatmap{grid-template-columns:repeat(10,1fr);gap:5px;display:grid}.hm-cell{aspect-ratio:1;background:var(--surface-2);border-radius:5px}.hm-cell.on{background:var(--brand)}.hm-cell.today{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--brand-2)}.dial-row{gap:var(--s-8);grid-template-columns:repeat(3,1fr);display:grid}.dial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-12) var(--s-8);justify-items:center;gap:2px;display:grid}.dial-val{font-size:var(--fs-20);font-variant-numeric:tabular-nums;margin-top:-30px;font-weight:800}.dial-val .max{font-size:var(--fs-12);color:var(--muted);font-weight:600}.dial-date{font-size:var(--fs-12);color:var(--muted)}.skill-row{gap:var(--s-8);grid-template-columns:24px 1fr 44px;align-items:center;display:grid}.skill-name{font-size:var(--fs-14);color:var(--text);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skill-track{background:var(--surface-2);border-radius:var(--r-pill);height:8px;overflow:hidden}.skill-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--brand), var(--brand-2));height:100%}.skill-pct{font-size:var(--fs-12);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.tl{display:grid}.tl-row{gap:var(--s-8);padding:var(--s-8) 0;grid-template-columns:20px 1fr auto auto;align-items:center;display:grid}.tl-rail{place-items:center;height:100%;display:grid;position:relative}.tl-rail:before{content:"";background:var(--surface-2);width:2px;position:absolute;top:-8px;bottom:-8px;left:50%;transform:translate(-50%)}.tl-row:first-child .tl-rail:before{top:50%}.tl-row:last-child .tl-rail:before{bottom:50%}.tl-dot{background:var(--brand);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);border-radius:999px;position:relative}.tl-intent{font-size:var(--fs-14);text-transform:capitalize}.tl-xp{font-size:var(--fs-12);color:var(--brand-2);border-radius:var(--r-pill);background:color-mix(in srgb, var(--brand) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border));font-variant-numeric:tabular-nums;padding:2px 10px;font-weight:700}.tl-date{font-size:var(--fs-12);color:var(--muted);text-align:right;min-width:46px}.pitch-stage{border-radius:var(--r-sheet);min-height:480px;position:relative;overflow:hidden}.pitch-blur{filter:blur(9px)saturate(.9);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;gap:var(--s-16);padding:var(--s-8);display:grid}.pitch-card{padding:var(--s-24);background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg) 65%, transparent) 40%);place-items:center;display:grid;position:absolute;inset:0}.pitch-inner{background:var(--surface);border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border));border-radius:var(--r-sheet);padding:var(--s-24);text-align:center;gap:var(--s-8);justify-items:center;max-width:320px;display:grid;box-shadow:0 8px 30px #00000059}.empty-row{justify-content:space-between;align-items:center;gap:var(--s-8);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-card);padding:var(--s-12) var(--s-16);display:flex}.rv-dots{padding:var(--s-8) 0;justify-content:center;gap:6px;display:flex}.rv-dot{background:var(--surface-2);border-radius:999px;width:8px;height:8px;transition:background .2s}.rv-dot.done{background:var(--speak)}.rv-dot.now{background:var(--brand);width:22px}.stack-stage{perspective:1000px;height:380px;position:relative}.rv-card{width:100%;max-width:380px;height:340px;margin:auto;position:absolute;inset:0}.rv-flip{width:100%;height:100%;transform-style:preserve-3d;position:relative}.rv-face{backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);padding:var(--s-24);justify-content:center;align-items:center;gap:var(--s-12);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto;box-shadow:0 8px 30px #00000059}.rv-face.back{border-color:color-mix(in srgb, var(--speak) 40%, var(--border));transform:rotateY(180deg)}.rv-kind{position:absolute;top:14px;left:14px}.rv-counter{font-size:var(--fs-12);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600;position:absolute;top:18px;right:16px}.rv-phrase{font-size:var(--fs-20);letter-spacing:-.01em;text-wrap:pretty;font-weight:700}.rv-correction{font-size:var(--fs-20);color:var(--speak);text-wrap:pretty;font-weight:700}.rv-why{font-size:var(--fs-14);color:var(--muted);text-wrap:pretty;line-height:1.5}.rv-hint{font-size:var(--fs-12);color:var(--muted);position:absolute;bottom:16px;left:0;right:0}.grade-row{gap:var(--s-8);grid-template-columns:repeat(4,1fr);display:grid}.grade-btn{border-radius:var(--r-card);cursor:pointer;min-height:52px;font-weight:700;font-size:var(--fs-14);background:var(--surface);transition:transform var(--t-micro) var(--ease-out), filter var(--t-micro);place-content:center;gap:1px;display:grid}.grade-btn:hover{filter:brightness(1.08)}.grade-btn:active{transform:scale(.94)}.grade-btn .sub{font-size:var(--fs-12);opacity:.75;font-weight:500}.grade-btn:disabled{opacity:.4;cursor:default}.rv-done-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);padding:var(--s-32) var(--s-24);text-align:center;gap:var(--s-8);justify-items:center;display:grid;position:relative;overflow:hidden}.sparkle{pointer-events:none;border-radius:999px;width:6px;height:6px;position:absolute;top:42%;left:50%}.rv-error{border-color:color-mix(in srgb, var(--warn) 45%, var(--border));color:var(--warn)}.graph-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);padding:var(--s-8);overflow:hidden}.graph-legend{gap:var(--s-12);padding:var(--s-8) var(--s-8) 4px;flex-wrap:wrap;align-items:center;display:flex}.lg-item{font-size:var(--fs-12);color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;display:inline-flex}.lg-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.note-row{align-items:center;gap:var(--s-12);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-12) var(--s-16);cursor:pointer;transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out);display:flex}.note-row:hover{border-color:var(--brand-2)}.note-row:active{transform:scale(.99)}.note-kind{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.note-text{font-size:var(--fs-14);color:var(--text);text-wrap:pretty}.forget-btn{border-radius:var(--r-pill);border:1px solid var(--border);min-height:40px;color:var(--muted);font-size:var(--fs-12);cursor:pointer;transition:border-color var(--t-micro), color var(--t-micro), transform var(--t-micro) var(--ease-out);background:0 0;flex:none;padding:6px 14px;font-weight:600}.forget-btn:hover{border-color:var(--warn);color:var(--warn)}.forget-btn:active{transform:scale(.94)}.mem-sheet{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:min(480px,100vw);padding:var(--s-16) var(--s-24) calc(var(--s-24) + env(safe-area-inset-bottom,0px));gap:var(--s-8);border-bottom:none;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 30px #00000073}.sheet-grab{background:var(--surface-2);border-radius:999px;justify-self:center;width:36px;height:4px}.sheet-close{border-radius:var(--r-pill);width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;font-size:16px;display:grid;position:absolute;top:12px;right:12px}.sheet-close:hover{border-color:var(--border);color:var(--text)}.danger-zone{margin-top:var(--s-24);background:var(--surface);border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));border-radius:var(--r-sheet);padding:var(--s-16);gap:var(--s-8);display:grid}.danger-zone .btn.ghost.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border))}.danger-confirm-btn{border-radius:var(--r-card);cursor:pointer;background:var(--danger);color:#2a0d0d;min-height:48px;font-weight:700;font-size:var(--fs-14);transition:opacity var(--t-micro), transform var(--t-micro) var(--ease-out);border:none;padding:0 20px}.danger-confirm-btn:active{transform:scale(.97)}.danger-confirm-btn:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){.typing-dots span,.shimmer,.streak-flame{animation:none}}.exam-shell{max-width:480px;min-height:100dvh;padding:var(--s-24) var(--s-24) calc(88px + env(safe-area-inset-bottom,0px));gap:var(--s-16);background:radial-gradient(ellipse 100% 34% at 50% 0%, color-mix(in srgb, var(--brand) 6%, transparent), transparent 70%);flex-direction:column;margin:0 auto;display:flex}.icon-btn{border-radius:var(--r-pill);width:44px;height:44px;color:var(--muted);cursor:pointer;transition:border-color var(--t-micro), color var(--t-micro), transform var(--t-micro) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;font-size:20px;text-decoration:none;display:grid}.icon-btn:hover{border-color:var(--border);color:var(--text)}.icon-btn:active{transform:scale(.94)}.cue-card{background:linear-gradient(168deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-24) var(--s-24) var(--s-16);transition:transform var(--t-std) var(--ease-out), box-shadow var(--t-std);position:relative;transform:rotate(-1.1deg);box-shadow:inset 0 1px #ffffff0a,0 10px 30px -14px #000000b3,0 24px 60px -30px #0009}.cue-card:hover{transform:rotate(-.4deg)translateY(-2px)}.cue-card:before{content:"";background:color-mix(in srgb, var(--brand) 55%, var(--surface-2));border-radius:999px;width:44px;height:12px;position:absolute;top:-7px;left:26px;box-shadow:0 2px 6px #0006}.cue-part-tag{white-space:nowrap;font-size:var(--fs-12);color:var(--brand-2);border:1px solid color-mix(in srgb, var(--brand) 40%, transparent);background:color-mix(in srgb, var(--brand) 10%, transparent);border-radius:999px;padding:3px 10px;font-weight:600;position:absolute;top:14px;right:16px}.stagger>*{animation:fadeRise var(--t-std) var(--ease-out) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.bar-fill{transform-origin:0;animation:barGrow .7s var(--ease-out) both}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ring-heartbeat{animation:.9s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.045)}28%{transform:scale(1)}42%{transform:scale(1.03)}}.coach-row{align-items:flex-end;gap:10px;display:flex}.coach-bubble{background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-14);border-radius:14px 14px 14px 4px;flex:1;padding:10px 14px}.stepper{justify-content:center;align-items:center;gap:6px;display:flex}.stepper-dot{background:var(--surface-2);border:1px solid var(--border);width:8px;height:8px;transition:all var(--t-std) var(--ease-out);border-radius:999px}.stepper-dot.done{background:var(--speak);border-color:var(--speak)}.stepper-dot.active{background:var(--brand);border-color:var(--brand);width:22px}.paper-cover{background:linear-gradient(172deg, var(--surface-2), var(--surface) 65%);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-32) var(--s-24);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 24px 60px -30px #000000b3}.paper-cover:after{content:"";border:1px dashed color-mix(in srgb, var(--border) 80%, transparent);pointer-events:none;border-radius:12px;position:absolute;inset:10px}.opt-card{font:inherit;text-align:left;border:1.5px solid var(--border);background:var(--surface-2);width:100%;min-height:52px;color:var(--text);cursor:pointer;transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out), background var(--t-std);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.opt-card:not(:disabled):hover{border-color:var(--brand-2)}.opt-card:not(:disabled):active{transform:scale(.98)}.opt-card:disabled{cursor:default}.opt-card.correct{border-color:var(--speak)}.opt-card.correct:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--speak) 22%, transparent), color-mix(in srgb, var(--speak) 8%, transparent));animation:sweepIn .6s var(--ease-out) both;position:absolute;inset:0}@keyframes sweepIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.opt-card.picked-wrong{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--surface-2))}.opt-letter{background:var(--surface);border:1px solid var(--border);width:28px;min-width:28px;height:28px;font-size:var(--fs-12);color:var(--muted);z-index:1;border-radius:999px;place-items:center;font-weight:600;display:grid;position:relative}.opt-card.correct .opt-letter{background:var(--speak);border-color:var(--speak);color:#06231a}.opt-card.picked-wrong .opt-letter{background:var(--warn);border-color:var(--warn);color:#241a03}.opt-text{z-index:1;flex:1;position:relative}.opt-mark{z-index:1;font-weight:700;position:relative}.accordion{grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.22,1.2,.36,1);display:grid}.accordion.open{grid-template-rows:1fr}.accordion>div{overflow:hidden}.shimmer-line{border-radius:999px;height:12px}.share-frame{aspect-ratio:4/5;background:radial-gradient(ellipse 120% 55% at 50% -10%, color-mix(in srgb, var(--brand) 13%, transparent), transparent 65%), linear-gradient(180deg, #12151d, #0e1016);border:1px solid var(--border);width:400px;max-width:100%;color:var(--text);border-radius:20px;flex-direction:column;gap:14px;margin:0 auto;padding:26px 28px 22px;display:flex;box-shadow:0 30px 80px -30px #000c}@media (prefers-reduced-motion:reduce){.exam-shell{background:0 0}.stagger>*,.bar-fill,.opt-card.correct:before,.ring-heartbeat{animation:none}.accordion{transition:none}}.land{max-width:var(--shell-max,480px);gap:var(--s-48);padding:var(--s-24);padding-bottom:var(--s-32);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.land>*{min-width:0}.land .hero{align-content:center;justify-items:center;gap:var(--s-16);text-align:center;background:radial-gradient(ellipse 90% 42% at 50% 34%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 70%);min-height:calc(100dvh - 48px);display:grid}.hero-copy{gap:var(--s-16);justify-items:center;display:grid}.hero-visual{gap:var(--s-8);justify-items:center;display:grid}.land .hero .orb{width:148px;height:148px}.land .hero h1{font-size:var(--fs-31);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:800;line-height:1.15}.land .hero .sub{color:var(--muted);font-size:var(--fs-16);text-wrap:pretty;max-width:40ch;margin:0;line-height:1.55}.hero-cta{gap:var(--s-8);justify-items:center;width:100%;max-width:320px;display:grid}.hero-cta .btn{width:100%}.hero-secondary{min-height:44px;font-size:var(--fs-14);color:var(--muted);align-items:center;display:inline-flex}.hero-secondary:hover{color:var(--text)}.hero-caption{place-items:center;min-height:40px;display:grid}@media (min-width:900px){.land .hero{place-items:center stretch;gap:var(--s-48);text-align:left;background:radial-gradient(ellipse 55% 60% at 78% 50%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 70%);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:calc(100dvh - 120px)}.hero-copy{justify-items:start}.land .hero h1{font-size:clamp(var(--fs-31), 4.2vw, 56px);max-width:15ch}.land .hero .sub{font-size:var(--fs-18,18px);max-width:46ch}.hero-cta{justify-content:start;align-items:center;gap:var(--s-16);grid-auto-flow:column;width:auto;max-width:none}.hero-cta .btn{width:auto;padding:14px 28px}.land .hero .orb{width:260px;height:260px}.trust{align-items:start;gap:var(--s-16);grid-template-columns:repeat(3,1fr)}.trust .sec-head{grid-column:1/-1}.steps{align-items:start;gap:var(--s-16);grid-template-columns:repeat(3,1fr)}}.hero-bubble{background:var(--surface-2);border:1px solid var(--border);max-width:320px;font-size:var(--fs-14);border-radius:14px;padding:8px 14px}.sec-head{gap:4px;display:grid}.sec-head h2{font-size:var(--fs-25);letter-spacing:-.02em;margin:0;font-weight:700}.shelf-scroll{gap:var(--s-12);padding:var(--s-16) var(--s-24);margin:0 calc(-1 * var(--s-24));scroll-snap-type:x mandatory;scrollbar-width:none;perspective:800px;display:flex;overflow-x:auto}.shelf-scroll::-webkit-scrollbar{display:none}.shelf-card{scroll-snap-align:center;will-change:transform;gap:var(--s-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-16);color:var(--text);flex:0 0 216px;align-content:start;text-decoration:none;display:grid}.shelf-card .emoji{font-size:36px;line-height:1}.shelf-card .name{font-weight:600;font-size:var(--fs-16)}.shelf-card .blurb{color:var(--muted);font-size:var(--fs-14);margin:0;line-height:1.45}.shelf-hint{color:var(--muted);font-size:var(--fs-12);text-align:center}.trust{gap:var(--s-12);display:grid}.trust-tile{gap:var(--s-12);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-16);align-items:flex-start;display:flex}.trust-tile .emoji{font-size:28px;line-height:1.2}.trust-tile h3{font-size:var(--fs-16);margin:0 0 2px;font-weight:600}.trust-tile p{color:var(--muted);font-size:var(--fs-14);margin:0;line-height:1.5}.steps{gap:var(--s-12);counter-reset:step;display:grid}.step{gap:var(--s-12);align-items:flex-start;display:flex}.step-num{counter-increment:step;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);height:44px;color:var(--brand-2);font-variant-numeric:tabular-nums;flex:0 0 44px;place-items:center;font-weight:700;display:grid}.step-num:before{content:counter(step)}.step h3{font-size:var(--fs-16);margin:0 0 2px;font-weight:600}.step p{color:var(--muted);font-size:var(--fs-14);margin:0;line-height:1.5}.foot{gap:var(--s-8);text-align:center;padding-top:var(--s-16);border-top:1px solid var(--border);justify-items:center;display:grid}.foot-links{gap:var(--s-16);display:flex}.foot-links a{font-size:var(--fs-14);min-height:44px;color:var(--brand-2);align-items:center;display:inline-flex}.foot-links a:hover{color:var(--brand)}.reveal{opacity:0;transition:opacity .48s var(--ease-out), transform .48s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}.badge-shimmer{position:relative;overflow:hidden}.badge-shimmer:after{content:"";background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--speak) 30%, transparent) 50%, transparent 70%);background-size:220% 100%;animation:2.2s linear infinite shimmerSlide;position:absolute;inset:0}.legal-page{max-width:640px;padding:var(--s-24);gap:var(--s-16);margin:0 auto;scroll-padding-top:96px;display:grid}.legal-head{justify-content:space-between;align-items:flex-start;gap:var(--s-16);display:flex}.legal-head h1{font-size:var(--fs-31);letter-spacing:-.02em;margin:0;font-weight:800}.legal-head .sub{color:var(--muted);font-size:var(--fs-14);text-wrap:pretty;max-width:42ch;margin:4px 0 0;line-height:1.55}.home-link{min-height:44px;color:var(--muted);font-size:var(--fs-14);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.home-link:hover{color:var(--text)}.toc{z-index:10;gap:var(--s-8);scrollbar-width:none;margin:0 calc(-1 * var(--s-24));padding:var(--s-12) var(--s-24);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0;overflow-x:auto}.toc::-webkit-scrollbar{display:none}.toc a{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);min-height:36px;color:var(--muted);font-size:var(--fs-12);transition:border-color var(--t-micro), color var(--t-micro);flex:none;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.toc a:hover{border-color:var(--brand-2);color:var(--text)}.toc a[aria-current=true]{border-color:var(--brand);color:var(--text);background:color-mix(in srgb, var(--brand) 10%, var(--surface))}.policy{gap:var(--s-12);display:grid}.legal-sec{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-24);gap:var(--s-8);scroll-margin-top:96px;display:grid}.legal-sec .sec-title{align-items:center;gap:var(--s-12);display:flex}.legal-sec .sec-title .emoji{font-size:24px;line-height:1}.legal-sec .sec-title h2{font-size:var(--fs-20);letter-spacing:-.01em;margin:0;font-weight:700}.legal-sec p{color:var(--muted);font-size:var(--fs-16);text-wrap:pretty;max-width:60ch;margin:0;line-height:1.65}.legal-sec p b{color:var(--text);font-weight:600}.legal-sec p i{color:var(--text)}.legal-tail{text-align:center;padding:var(--s-16) 0 var(--s-32)}.legal-tail p{color:var(--muted);font-size:var(--fs-12);margin:0}@media (prefers-reduced-motion:no-preference){.legal-sec{opacity:0;animation:rise-in .38s var(--ease-out) forwards;animation-delay:var(--d,0s)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.land .hero{background:0 0}.shelf-card{opacity:1!important;transform:none!important}.badge-shimmer:after{animation:none;display:none}}.fade-rise{animation:fadeRise var(--t-std) var(--ease-out) both}@keyframes fadeRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 37%, var(--surface) 63%);border-radius:var(--r-card);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.orb-stage{padding:var(--s-24);perspective:900px;place-items:center;display:grid}.orb-3d{transform-style:preserve-3d;transition:transform .26s var(--ease-out);transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));position:relative}.orb{border-radius:var(--r-pill);background:radial-gradient(circle at 32% 26%, #fff6ec 0%, transparent 26%), radial-gradient(circle at 35% 30%, var(--brand-2), var(--brand) 58%, #a83f20 100%);width:180px;height:180px;box-shadow:inset 0 -14px 26px -6px #00000073,  inset 0 10px 18px -6px #ffffff59,  0 0 60px -10px var(--brand);animation:breathe 4s var(--ease-out) infinite;cursor:pointer;transition:transform var(--t-std) var(--ease-out);place-items:center;display:grid;position:relative}.orb:after{content:"";border-radius:inherit;border:2px solid color-mix(in srgb, var(--brand) 50%, transparent);opacity:0;position:absolute;inset:-10px}.orb[data-state=listening]{background:radial-gradient(circle at 32% 26%, #eafaff 0%, transparent 26%), radial-gradient(circle at 35% 30%, #bfeaff, var(--listen) 58%, #14608c 100%);box-shadow:inset 0 -14px 26px -6px #00000073, inset 0 10px 18px -6px #ffffff59, 0 0 calc(52px + var(--orb-level,0) * 70px) -8px var(--listen);animation:pulse 1.1s var(--ease-out) infinite}.orb[data-state=speaking]{background:radial-gradient(circle at 32% 26%, #eafff8 0%, transparent 26%), radial-gradient(circle at 35% 30%, #b5ffe9, var(--speak) 58%, #0d6b4f 100%);box-shadow:inset 0 -14px 26px -6px #00000073, inset 0 10px 18px -6px #ffffff59, 0 0 70px -8px var(--speak);animation:.9s ease-in-out infinite wave}.orb-label{font-size:var(--fs-39)}.orb-floor-shadow{width:62%;height:22px;animation:floorBreathe 4s var(--ease-out) infinite;background:radial-gradient(#00000073,#0000 72%);border-radius:999px;margin:-6px auto 0}@keyframes floorBreathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.38;transform:scale(.88)}}.orb-floor-shadow[data-state=listening]{animation-duration:1.1s}.orb-floor-shadow[data-state=speaking]{animation-duration:.9s}.orb-ring{border-radius:inherit;pointer-events:none;border:2px solid color-mix(in srgb, var(--listen) 70%, transparent);animation:ripple 1.8s var(--ease-out) infinite;position:absolute;inset:0}.orb-ring-2{animation-delay:.9s}@keyframes ripple{0%{opacity:calc(.55 + var(--orb-level,0) * .4);transform:scale(1)}to{opacity:0;transform:scale(1.75)}}.orb-wave{pointer-events:none;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:0}.orb-bar{background:color-mix(in srgb, #fff 80%, var(--speak));width:5px;height:16px;animation:.7s ease-in-out infinite bar;animation-delay:calc(var(--i) * 90ms);border-radius:99px}@keyframes bar{0%,to{opacity:.6;height:12px}50%{opacity:1;height:46px}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes wave{0%,to{transform:scale(1)}25%{transform:scale(1.04)}75%{transform:scale(.98)}}@keyframes eq-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.eq-shake{animation:.5s eq-shake}@media (prefers-reduced-motion:reduce){.orb-3d{transition:none;transform:none!important}.orb-floor-shadow{opacity:.45;animation:none}}.player{max-width:560px;min-height:100dvh;padding:var(--s-16);flex-direction:column;margin:0 auto;display:flex}.player-top{align-items:center;gap:var(--s-12);display:flex}.icon-btn{border-radius:var(--r-card);background:var(--surface-2);border:1px solid var(--border);width:44px;min-width:44px;height:44px;color:var(--text);cursor:pointer;font-size:var(--fs-16);place-items:center;display:grid}.icon-btn:hover{border-color:var(--brand-2)}.segbar{flex:1;gap:6px;display:flex}.segbar-seg{background:var(--border);height:6px;transition:background var(--t-std);border-radius:999px;flex:1}.segbar-seg.done{background:var(--speak)}.segbar-seg.active{background:var(--brand)}.player-body{justify-content:center;gap:var(--s-16);padding:var(--s-24) 0;flex-direction:column;flex:1;display:flex}.task-prompt{font-size:var(--fs-20);text-align:center;font-weight:500}.chip-tray,.chip-bank{gap:var(--s-8);min-height:56px;padding:var(--s-12);border:1px dashed var(--border);border-radius:var(--r-card);flex-wrap:wrap;place-content:flex-start center;display:flex}.chip-tray{background:var(--surface)}.word-chip{font:inherit;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:transform var(--t-micro) var(--ease-out), border-color var(--t-micro);padding:10px 14px;font-weight:500}.word-chip:hover{border-color:var(--brand)}.word-chip:active{transform:scale(.96)}.word-chip.warn{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, var(--surface-2))}.player-footer{gap:var(--s-12);padding-top:var(--s-12);flex-direction:column;display:flex}.footer-secondary{gap:var(--s-8);justify-content:center;display:flex}.footer-secondary .btn{width:auto;padding:10px 14px}.corner-orb{left:var(--s-16);bottom:var(--s-16);align-items:flex-end;gap:var(--s-8);z-index:20;max-width:calc(100vw - 32px);display:flex;position:fixed}.corner-orb .orb{width:64px;height:64px}.corner-orb .orb-label{font-size:var(--fs-25)}.corner-actions{flex-direction:column;gap:6px;display:flex}.canvas-shell{max-width:480px;min-height:100dvh;padding:var(--s-16) var(--s-24) var(--s-24);gap:var(--s-16);grid-template-rows:auto 1fr auto;margin:0 auto;display:grid;position:relative}.hairline{gap:4px;padding:0 2px;display:flex;position:absolute;top:0;left:0;right:0}.hairline span{background:var(--border);height:3px;transition:background var(--t-std);border-radius:999px;flex:1}.hairline span.done{background:var(--speak)}.hairline span.active{background:var(--brand)}.canvas-top{margin-top:var(--s-8);justify-content:space-between;align-items:center;display:flex}.canvas-top .icon-btn{color:var(--muted);background:0 0;border-color:#0000}.canvas-top .icon-btn:hover{border-color:var(--border);color:var(--text)}.canvas-body{align-content:center;gap:var(--s-24);text-align:center;display:grid}.big-prompt{font-size:var(--fs-25);letter-spacing:-.02em;font-weight:700;line-height:1.2}.check-float{justify-items:center;gap:var(--s-8);margin-bottom:132px;display:grid}.check-float>.btn{border-radius:var(--r-pill);width:auto;box-shadow:0 8px 30px #00000059, 0 0 34px -12px var(--brand);padding:14px 44px}.hint-bubble{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);max-width:240px;font-size:var(--fs-14);text-align:left;animation:fadeRise var(--t-std) var(--ease-out) both;border-bottom-left-radius:4px;padding:10px 14px}.canvas-shell .sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:min(480px,100vw);padding:var(--s-24);z-index:30;animation:sheetUp var(--t-sheet) var(--ease-out) both;gap:var(--s-8);text-align:left;border-bottom:none;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 30px #00000059}.sheet.warm{border-top:4px solid var(--warn)}.sheet.ok{border-top:4px solid var(--speak)}@keyframes sheetUp{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.sheet,.hint-bubble{animation:none}}.feedback-card{border:1px solid var(--border);border-left:4px solid var(--warn);border-radius:var(--r-card);background:var(--surface);padding:var(--s-16)}.feedback-card.ok{border-left-color:var(--speak)}.feedback-card .fc-line{font-size:var(--fs-14);margin:2px 0}.feedback-card .fc-better{color:var(--speak);font-weight:500}.mascot{cursor:pointer;display:inline-block;overflow:visible}.mascot svg{display:block;overflow:visible}.m-body{transform-box:fill-box;transform-origin:50% 60%;animation:2.8s ease-in-out infinite m-float}.m-shadow{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite m-shadow}.m-lid{transform-box:fill-box;transform-origin:50%;animation:4.6s ease-in-out infinite m-blink;transform:scaleY(0)}.m-pupil{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite m-look}.m-mouth{transform-box:fill-box;transform-origin:50%}.m-spark{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite m-spark}.m-wave{opacity:0}@keyframes m-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(-1.5deg)}}@keyframes m-shadow{0%,to{opacity:.35;transform:scaleX(1)}50%{opacity:.22;transform:scaleX(.82)}}@keyframes m-blink{0%,92%,to{transform:scaleY(0)}95%,97%{transform:scaleY(1)}}@keyframes m-look{0%,40%,to{transform:translate(0)}55%,70%{transform:translate(2.2px)}}@keyframes m-spark{0%,to{opacity:.5;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(20deg)}}.mascot[data-state=listening] .m-body{animation:1s ease-in-out infinite m-listen}.mascot[data-state=listening] .m-wave{animation:1.1s ease-out infinite m-ripple}.mascot[data-state=listening] .m-wave.w2{animation-delay:.25s}.mascot[data-state=listening] .m-wave.w3{animation-delay:.5s}@keyframes m-listen{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-4px)rotate(4deg)}}@keyframes m-ripple{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.mascot[data-state=speaking] .m-body{animation:.5s ease-in-out infinite m-speak}.mascot[data-state=speaking] .m-mouth{animation:.26s ease-in-out infinite m-talk}@keyframes m-speak{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.04,.96)}}@keyframes m-talk{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.25)}}.mascot{transition:transform 90ms var(--ease-out), filter 90ms var(--ease-out)}.mascot[data-state=listening]{transform:scale(calc(1 + var(--m-level,0) * .08));filter:drop-shadow(0 0 calc(3px + var(--m-level,0) * 26px) color-mix(in srgb, var(--listen) 80%, transparent))}.mascot[data-state=speaking]{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--speak) 55%, transparent))}.mascot-stage{perspective:700px;place-items:center;display:inline-grid}.mascot-stage:hover{transition:transform .26s var(--ease-out);transform:rotateX(4deg)rotateY(-6deg)}.companion-presence{will-change:transform;place-items:center;display:grid}.companion-presence[data-motion=wandering]{animation:companion-wander 10s var(--ease-in-out,ease-in-out) infinite}.companion-presence[data-motion=leaning-in]{animation:companion-lean-in .68s var(--ease-out) both}.companion-presence[data-motion=settled]{animation:companion-settle .36s var(--ease-out) both}@keyframes companion-wander{0%,to{transform:translate(-9px,3px)rotate(-1deg)}24%{transform:translate(12px,-4px)rotate(1.4deg)}52%{transform:translate(20px,3px)rotate(-.8deg)}76%{transform:translate(-2px,-5px)rotate(.8deg)}}@keyframes companion-lean-in{0%{transform:translate(0,0)rotate(0)}to{transform:translateY(-5px)rotate(-2deg)}}@keyframes companion-settle{0%{transform:translate(5px,-3px)rotate(1deg)}to{transform:translate(0,0)rotate(0)}}@media (prefers-reduced-motion:reduce){.m-body,.m-shadow,.m-lid,.m-pupil,.m-spark,.m-wave{animation:none!important}.m-lid{transform:scaleY(0)}.mascot{transition:none}.mascot[data-state=listening],.mascot-stage:hover{transform:none}.companion-presence{animation:none!important;transform:none!important}}.bolo-splash{place-items:center;display:inline-grid}.bolo-splash svg{display:block;overflow:visible}.bolo-splash-gem{transform-box:view-box;transform-origin:50%;animation:2.4s ease-in-out infinite bolo-breathe}.bolo-splash-orbit{transform-box:view-box;transform-origin:50%;animation:5.6s linear infinite bolo-orbit}.bolo-splash-spark{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite bolo-spark-pulse}@keyframes bolo-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes bolo-orbit{to{transform:rotate(360deg)}}@keyframes bolo-spark-pulse{0%,to{opacity:.7;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.bolo-splash-gem,.bolo-splash-spark{animation:none}.bolo-splash-orbit{animation:none;transform:rotate(-55deg)}}.sayit{gap:var(--s-8);flex-direction:column;display:flex}.sayit-stage{padding:var(--s-8) 0;place-items:center;display:grid}.sayit-caption{min-height:1.25em}.sayit-actions{gap:var(--s-8);margin-top:var(--s-8);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.sayit-fallback{gap:var(--s-8);flex-direction:column;display:flex}.pron-card{border-left-color:var(--speak)}.pron-head{align-items:center;gap:var(--s-16);display:flex}.pron-score{font-size:var(--fs-39);align-items:baseline;font-weight:700;line-height:1;display:flex}.pron-score-max{font-size:var(--fs-14);color:var(--muted);margin-left:2px;font-weight:500}.pron-label{text-align:left}.pron-words{margin-top:var(--s-12);flex-wrap:wrap;gap:6px;display:flex}.pron-word{font-size:var(--fs-14);border:1px solid var(--border);border-radius:999px;padding:3px 8px;transition:background .2s ease-out,border-color .2s ease-out}.pron-word.ok{color:var(--speak);border-color:color-mix(in srgb, var(--speak) 45%, transparent)}.pron-word.weak{color:var(--warn);border-color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);box-shadow:0 0 12px -4px var(--warn)}.pron-note{margin-top:var(--s-12)}.pron-note summary{cursor:pointer}@media (prefers-reduced-motion:reduce){.pron-word{box-shadow:none;transition:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}input[type=range]{min-height:44px;accent-color:var(--brand);cursor:pointer}html:not([data-profiled]) .ssr-splash,html[data-profiled] .ssr-landing{display:none}.faq{gap:8px;margin-top:28px;display:grid}.faq h2{font-size:var(--fs-20);margin:0 0 4px}.faq-item{border:1px solid var(--border,#2a2f3a);background:var(--surface-2);border-radius:12px;padding:12px 14px}.faq-item summary{cursor:pointer;font-weight:600;font-size:var(--fs-14);min-height:var(--tap-min,44px);justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"⌄";color:var(--brand-2);flex-shrink:0;transition:transform .18s}.faq-item[open] summary:after{transform:rotate(180deg)}.faq-item p{color:var(--muted);font-size:var(--fs-14);margin:8px 0 0;line-height:1.6}@media (prefers-reduced-motion:reduce){.faq-item summary:after{transition:none}}.crumbs{margin:0 0 4px}.crumbs ol{font-size:var(--fs-12);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li{align-items:center;gap:6px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--brand-2);text-decoration:underline}.crumbs [aria-current=page]{color:var(--text)}.crumb-sep{opacity:.5}.guide-shell{max-width:720px;padding:var(--s-24) var(--s-16) 96px;gap:var(--s-24);margin:0 auto;display:grid}.guide-shell h1{margin:6px 0 0}.guide-shell h2{font-size:var(--fs-20);margin:28px 0 8px}.guide-shell p{margin:0 0 12px;line-height:1.7}.guide-shell .chapter{color:var(--brand-2)}.guide-answer{font-size:var(--fs-16);border-left:3px solid var(--brand);margin:14px 0 0;padding:4px 0 4px 14px;line-height:1.7}.guide-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.guide-list a{color:inherit;border:1px solid var(--border,#2a2f3a);background:var(--surface-2);border-radius:14px;padding:16px;text-decoration:none;transition:border-color .16s,transform .16s;display:block}.guide-list a:hover{border-color:var(--brand-2);transform:translateY(-2px)}.guide-list h2{font-size:var(--fs-16);margin:0 0 4px}.guide-list .read-on{color:var(--brand-2)}.worked-block{border:1px solid var(--brand-2);background:var(--surface-2);border-radius:14px;padding:16px}.worked-prompt{font-weight:600}.worked-steps{gap:10px;margin:0;padding-left:18px;display:grid}.worked-steps .formula{color:var(--muted);font-variant-numeric:tabular-nums}.worked-steps .detail{color:var(--brand-2);font-variant-numeric:tabular-nums}.engine-note{color:var(--muted);margin-top:14px}.guide-cta{border:1px solid var(--border,#2a2f3a);background:var(--surface-2);border-radius:14px;padding:18px}.guide-cta h2{margin-top:0}.guide-more ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.guide-more a{color:var(--brand-2)}@media (prefers-reduced-motion:reduce){.guide-list a{transition:none}.guide-list a:hover{transform:none}}
:root{--shell-max:480px;--nav-max:480px}@media (min-width:768px){:root{--shell-max:680px;--nav-max:680px}}@media (min-width:1024px){:root{--shell-max:980px;--nav-max:1100px}}@media (min-width:1440px){:root{--shell-max:1100px;--nav-max:1200px}}.appnav{z-index:30;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-top:1px solid var(--border-hairline);position:fixed;bottom:0;left:0;right:0}.appnav-inner{max-width:var(--nav-max);grid-template-columns:repeat(4,1fr);height:64px;margin:0 auto;display:grid}.appnav-tab{min-height:var(--tap-min);color:var(--muted);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex;position:relative}.appnav-tab[aria-current=page]{color:var(--text)}.appnav-pill{z-index:0;background:color-mix(in srgb, var(--brand) 16%, transparent);border:1px solid color-mix(in srgb, var(--brand) 40%, transparent);border-radius:var(--r-pill);position:absolute;inset:8px 10px}.appnav-emoji{z-index:1;font-size:20px;line-height:1;display:flex;position:relative}.appnav-label{z-index:1;font-size:var(--fs-12);font-weight:var(--fw-label);letter-spacing:var(--ls-body);position:relative}.appnav-tab[aria-current=page] .appnav-label{color:var(--brand-2);font-weight:var(--fw-label-strong)}.pt-wrap{min-height:100dvh}.home-shell{max-width:var(--shell-max);min-height:100dvh;padding:var(--s-16) var(--s-24) calc(64px + 96px + env(safe-area-inset-bottom,0px));gap:var(--s-16);flex-direction:column;margin:0 auto;display:flex}.home-header{min-height:var(--tap-min);justify-content:space-between;align-items:center;display:flex}.avatar-btn{width:var(--tap-min);height:var(--tap-min);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-16);cursor:pointer;color:var(--text);transition:border-color var(--t-micro) var(--ease-out), transform var(--t-micro) var(--ease-out);place-items:center;display:grid}.avatar-btn:hover{border-color:var(--brand)}.avatar-btn:active{transform:scale(.94)}.speech{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet);font-size:var(--fs-16);line-height:var(--lh-body);color:var(--text);min-height:calc(var(--fs-16) * var(--lh-body) + 24px);border-top-left-radius:4px;flex:1;padding:12px 16px;position:relative}.status-line{color:var(--muted);font-size:var(--fs-14);font-variant-numeric:tabular-nums}.hero-card{cursor:pointer;background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 10%, var(--surface)), var(--surface) 55%);border:1px solid color-mix(in srgb, var(--brand) 55%, var(--border));border-radius:var(--r-sheet);padding:var(--s-24);gap:var(--s-12);box-shadow:0 0 48px -18px var(--brand);transition:transform var(--t-micro) var(--ease-out), border-color var(--t-micro);display:grid;position:relative;overflow:hidden}.hero-card:hover{border-color:var(--brand)}.hero-card:active{transform:scale(.99)}.dots{gap:6px;display:flex}.dot{border-radius:var(--r-pill);background:var(--border);width:8px;height:8px}.dot.done{background:var(--speak)}.dot.active{background:var(--brand)}.subject-strip{gap:var(--s-8);scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.subject-strip::-webkit-scrollbar{display:none}.tile{min-width:96px;min-height:var(--tap-min);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);font-size:var(--fs-12);color:var(--muted);cursor:pointer;transition:border-color var(--t-micro);flex:none;place-items:center;gap:2px;padding:10px 12px;display:grid}.tile:hover{border-color:var(--brand-2);color:var(--text)}.tile span{font-size:20px}.tile svg{color:var(--brand-2)}.tile:hover svg{color:var(--brand)}.talk-dock{left:50%;bottom:calc(64px + env(safe-area-inset-bottom,0px) + var(--s-12));z-index:20;width:min(432px,100vw - 48px);position:fixed;transform:translate(-50%)}.talk-bar{width:100%;min-height:56px;font:inherit;font-weight:var(--fw-label-strong);font-size:var(--fs-16);cursor:pointer;color:#1b1205;background:linear-gradient(135deg, var(--brand), var(--brand-2));border-radius:var(--r-pill);box-shadow:var(--shadow), 0 0 40px -12px var(--brand);transition:transform var(--t-micro) var(--ease-out), filter var(--t-micro), box-shadow var(--t-std);border:none;justify-content:center;align-items:center;gap:10px;display:flex}.talk-bar:hover{filter:brightness(1.05)}.talk-bar:active{transform:scale(.98)}.talk-bar[data-state=listening]{background:linear-gradient(135deg, #bfeaff, var(--listen));box-shadow:var(--shadow), 0 0 46px -10px var(--listen);color:#08203a;animation:talk-pulse 1.1s var(--ease-out) infinite}.talk-bar[data-state=speaking]{background:linear-gradient(135deg, #b5ffe9, var(--speak));box-shadow:var(--shadow), 0 0 46px -10px var(--speak);color:#06301f}@keyframes talk-pulse{50%{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.talk-bar[data-state=listening]{animation:none}}@media (min-width:1024px){.appnav{border-top:none;border-bottom:1px solid var(--border-hairline);height:64px;padding-bottom:0;top:0;bottom:auto}.appnav-inner{justify-content:center;gap:var(--s-8);grid-template-columns:repeat(4,max-content)}.appnav-tab{border-radius:var(--r-pill);flex-direction:row;gap:8px;padding:0 18px}.appnav-emoji{font-size:16px}.appnav-label{font-size:var(--fs-14)}.home-shell,.coach-shell{padding-top:calc(64px + var(--s-24))}.home-shell{column-gap:var(--s-24);row-gap:var(--s-16);padding-bottom:calc(96px + var(--s-24));grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-content:start;display:grid}.home-header{grid-column:1/-1}.coach-row,.hero-card{grid-column:1}.home-explore{grid-area:2/2/span 2;align-self:start}.home-shell>section:not(.home-explore){grid-column:1}.home-explore .subject-strip{gap:var(--s-8);grid-template-columns:repeat(2,1fr);display:grid;overflow:visible}.home-explore .tile{min-width:0}.talk-dock{bottom:var(--s-24)}}.sheet-backdrop{z-index:40;background:#0000008c;position:fixed;inset:0}.sheet{z-index:41;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:min(480px,100vw);padding:var(--s-12) var(--s-24) calc(var(--s-24) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow);border-bottom:none;max-height:85dvh;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet-grab{border-radius:var(--r-pill);background:var(--border);width:40px;height:4px;margin:0 auto var(--s-16)}.sheet-row{justify-content:space-between;align-items:center;gap:var(--s-12);min-height:var(--tap-min);display:flex}.sheet-section-label{font-size:var(--fs-12);font-weight:var(--fw-label-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:var(--s-16) 0 var(--s-8)}.sheet-divider{border:none;border-top:1px solid var(--border-hairline);margin:var(--s-16) 0}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);gap:2px;padding:3px;display:flex}.seg-btn{min-height:36px;padding:0 var(--s-16);border-radius:var(--r-pill);color:var(--muted);font:inherit;font-size:var(--fs-14);font-weight:var(--fw-label);cursor:pointer;white-space:nowrap;transition:background var(--t-std) var(--ease-out), color var(--t-std);background:0 0;border:none}.seg-btn[aria-pressed=true]{background:var(--brand);color:#1b1205;font-weight:var(--fw-label-strong)}.seg-btn:lang(hi),.seg-btn .deva{font-family:var(--font-deva)}.channel-row{gap:var(--s-8);display:flex}.channel-pill{min-height:var(--tap-min);border-radius:var(--r-pill);cursor:pointer;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font:inherit;font-size:var(--fs-14);font-weight:var(--fw-label);white-space:nowrap;transition:border-color var(--t-micro), color var(--t-micro);flex:1}.channel-pill[aria-pressed=true]{border-color:var(--brand);color:var(--text)}.sheet-input{box-sizing:border-box;width:100%;min-height:var(--tap-min);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-card);color:var(--text);font:inherit;font-size:var(--fs-16);padding:0 var(--s-16);transition:border-color var(--t-micro)}.sheet-input:focus{border-color:var(--brand);outline:none}.sheet-btn{width:100%;min-height:var(--tap-min);border-radius:var(--r-card);cursor:pointer;background:var(--brand);color:#1b1205;font:inherit;font-size:var(--fs-16);font-weight:var(--fw-label-strong);transition:filter var(--t-micro), opacity var(--t-micro), transform var(--t-micro) var(--ease-out);border:none}.sheet-btn:hover:not(:disabled){filter:brightness(1.06)}.sheet-btn:active:not(:disabled){transform:scale(.985)}.sheet-btn:disabled{opacity:.55;cursor:not-allowed}.sheet-btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.sheet-btn.ghost:hover:not(:disabled){border-color:var(--brand)}.otp-row{gap:var(--s-8);cursor:text;justify-content:center;display:flex}.otp-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-card);width:44px;height:56px;font-size:var(--fs-25);font-weight:var(--fw-display);color:var(--text);font-variant-numeric:tabular-nums;transition:border-color var(--t-micro), transform var(--t-micro) var(--ease-out);place-items:center;display:grid}.otp-box.filled{border-color:color-mix(in srgb, var(--brand) 60%, var(--border))}.otp-box.cursor{border-color:var(--brand)}.otp-hidden-input{opacity:0;pointer-events:none;position:absolute}.consent-row{gap:var(--s-8);font-size:var(--fs-12);color:var(--muted);cursor:pointer;line-height:var(--lh-body);align-items:flex-start;display:flex}.consent-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin-top:2px}.consent-row a{color:var(--brand-2)}.auth-status{font-size:var(--fs-12);color:var(--muted);margin-top:var(--s-8);min-height:1.5em}.auth-status[data-tone=error]{color:var(--warn)}.auth-status[data-tone=ok]{color:var(--speak)}.sheet a,.home-shell a{color:var(--brand-2)}.sheet a:hover,.home-shell a:hover{color:var(--brand)}.pt-wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}:is(.pt-wrap:has(>.home-shell),.pt-wrap:has(>.canvas-shell),.pt-wrap:has(>.coach-shell),.pt-wrap:has(>.exam-shell),.pt-wrap:has(>.land)){padding-bottom:0}.onb-signin{top:var(--s-16);right:var(--s-16);z-index:10;position:fixed}.home-shell a.tile{color:var(--muted)}.home-shell a.tile:hover{color:var(--text)}.home-shell a.hero-card{color:inherit;text-decoration:none}.home-shell a.hero-card:hover{color:inherit}
