@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/gym/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/gym/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/gym/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/gym/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/gym/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/gym/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/gym/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/gym/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/gym/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/gym/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/gym/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/gym/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/gym/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/gym/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/gym/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/gym/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/gym/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/gym/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/gym/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/gym/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/gym/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/gym/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");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}:root{--background:#0c1115;--surface:#171e24;--surface-raised:#222c34;--border:#394650;--text-primary:#f5f7f8;--text-secondary:#bac4cc;--text-muted:#98a6b1;--accent:#ff650a;--accent-pressed:#e65300;--accent-soft:#351d10;--on-accent:#0c1115;--success:#54e3ab;--success-surface:#102c24;--error:#ff9a9a;--error-surface:#351d24;--chat-out:#005c4b;--chat-in:#202c33;--chat-text:#e9edef;--chat-meta:#e9edefa6;--chat-pending:#25d366;--chat-panel:#0b141a;--chat-head:#1f2c34;--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--size-display:clamp(32px, 9vw, 36px);--size-section:23px;--size-intro:18px;--size-answer:17px;--size-meta:13px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--gutter:20px;--radius-card:14px;--radius-button:12px;--tap-min:48px;--cta-height:56px;--column:480px;--reading-column:640px;--ease:cubic-bezier(.2, .7, .2, 1);--t-fast:.18s;--safe-bottom:env(safe-area-inset-bottom,0px);--nav-height:64px}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--background);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{width:100%;max-width:var(--column);min-height:100dvh;padding:var(--space-4) var(--gutter) calc(var(--space-8) + var(--safe-bottom));flex-direction:column;margin:0 auto;display:flex}.page--with-nav{padding-bottom:calc(var(--nav-height) + var(--space-8) + var(--safe-bottom))}.page--flush{padding-top:0;padding-left:0;padding-right:0}.page--reading{max-width:var(--reading-column)}.stack>*+*{margin-top:var(--space-4)}.display{font-family:var(--font-display);font-weight:700;font-size:var(--size-display);letter-spacing:-.01em;margin:0;line-height:1.02}.display--xl{font-size:clamp(40px,12vw,52px)}.section-heading{font-family:var(--font-display);font-weight:700;font-size:var(--size-section);margin:0;line-height:1.1}.eyebrow{font-size:var(--size-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-weight:600}.meta{font-size:var(--size-meta);color:var(--text-muted)}.muted{color:var(--text-secondary)}.accent{color:var(--accent)}.draft-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px dashed var(--border);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:11px;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border-radius:var(--radius-button);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--on-accent);min-height:var(--cta-height);font-family:var(--font-display);width:100%;font-size:22px}.btn--primary:active:not(:disabled){background:var(--accent-pressed);transform:translateY(1px)}.btn--secondary{border-color:var(--border);background:0 0;width:100%}.btn--secondary:hover{border-color:var(--text-muted)}.btn--ghost{color:var(--text-secondary);padding-left:var(--space-2);padding-right:var(--space-2);background:0 0}.icon-btn{width:var(--tap-min);height:var(--tap-min);color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface)}.sticky-actions{padding:var(--space-4) 0 calc(var(--space-2) + var(--safe-bottom));background:linear-gradient(to top, var(--background) 75%, transparent);gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex;position:sticky;bottom:0}.topbar{grid-template-columns:var(--tap-min) 1fr var(--tap-min);min-height:var(--tap-min);margin-bottom:var(--space-3);align-items:center;display:grid}.topbar__title{text-align:center;font-size:var(--size-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.bottom-nav{border-top:1px solid var(--surface-raised);padding-bottom:var(--safe-bottom);z-index:10;background:#0c1115f5;position:fixed;bottom:0;left:0;right:0}.bottom-nav ul{max-width:var(--column);grid-template-columns:repeat(3,1fr);margin:0 auto;padding:0;list-style:none;display:grid}.bottom-nav a{height:var(--nav-height);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--accent)}.journey-head{margin:var(--space-6) 0 var(--space-4)}.progress-bar{background:var(--surface-raised);border-radius:999px;height:6px;overflow:hidden}.progress-bar>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.progress-label{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.route{margin:var(--space-6) 0 0;padding:0;list-style:none}.route__item{padding-bottom:var(--space-6);position:relative}.route__item:before{content:"";border-left:2px dotted var(--border);position:absolute;top:64px;bottom:0;left:31px}.route__item:last-child:before{display:none}.route__item--complete:before{border-left:2px solid var(--accent)}.route__link{gap:var(--space-4);color:inherit;border-radius:var(--radius-card);grid-template-columns:64px 1fr;text-decoration:none;display:grid}.route__body{padding-top:var(--space-2)}.route__title{font-family:var(--font-display);margin:0;font-size:22px;font-weight:700;line-height:1.1}.route__item--locked .route__title{color:var(--text-muted)}.route__item--available .route__title{color:var(--text-primary)}.route__state{margin-top:var(--space-1)}.hex{width:64px;height:64px;position:relative}.hex>svg{width:64px;height:64px;display:block}.hex__num{font-family:var(--font-display);place-items:center;font-size:22px;font-weight:700;display:grid;position:absolute;inset:0}.hex__badge{border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:2px;right:-2px}.hex__badge--done{background:var(--accent);color:var(--on-accent)}.hex__badge--lock{background:var(--surface-raised);color:var(--text-secondary)}.hex--current svg{filter:drop-shadow(0 0 10px #ff650a73)}.hero{min-height:300px;padding:var(--space-4) var(--gutter) var(--space-6);background:linear-gradient(to bottom, #0c11151a, var(--background) 92%), repeating-linear-gradient(120deg, transparent 0 22px, #ff650a0d 22px 23px), radial-gradient(circle at 75% 20%, #2a3540 0%, #141b21 55%, var(--background) 100%);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.hero img{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero__back{top:var(--space-4);left:var(--space-2);position:absolute}.hero__context{color:var(--text-secondary);margin:var(--space-2) 0 0}.landing-body{padding:0 var(--gutter)}.intro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-5)}.intro-card__lede{gap:var(--space-4);margin-bottom:var(--space-4);align-items:flex-start;display:flex}.intro-card__icon{border:2px solid var(--accent);width:52px;height:52px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.intro-card .btn+.btn{margin-top:var(--space-3)}.section-label{margin:var(--space-6) 0 var(--space-3);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.tile-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.tile{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);color:inherit;grid-template-columns:52px 1fr auto;text-decoration:none;display:grid}.tile:hover{border-color:var(--text-muted)}.tile__num{font-family:var(--font-display);text-align:center;font-size:22px;font-weight:700}.tile__title{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.1}.tile__state{color:var(--text-muted);font-size:12px}.tile--done .tile__num{color:var(--success)}.tile--progress .tile__num{color:var(--accent)}.mode-switch{max-width:300px;margin:0 auto var(--space-6);border:1px solid var(--border);border-radius:999px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.mode-switch button{cursor:pointer;min-height:40px;color:var(--text-secondary);background:0 0;border:none;border-radius:999px;font-weight:600}.mode-switch button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.reading{font-size:var(--size-intro);color:var(--text-primary);line-height:1.55}.reading h2{margin:var(--space-6) 0 var(--space-2)}.reading p{margin:0 0 var(--space-5)}.reading .sentence{transition:background var(--t-fast) var(--ease);border-radius:6px;margin:0 -2px;padding:1px 2px}.reading .sentence--active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.notice{gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-6);color:var(--text-secondary);align-items:flex-start;display:flex}.notice strong{color:var(--text-primary);display:block}.player{bottom:calc(var(--cta-height) + var(--space-6) + var(--safe-bottom));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);margin-top:var(--space-4);position:sticky}.player__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.player__seek{width:100%;accent-color:var(--accent)}.player__play{cursor:pointer;background:var(--accent);width:64px;height:64px;color:var(--on-accent);border:none;border-radius:50%;place-items:center;display:grid}.player__speed{min-width:var(--tap-min);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;min-height:40px}.toggle{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);font-size:14px;display:inline-flex}.toggle input{accent-color:var(--accent);width:18px;height:18px}.back-to-narration{top:var(--space-2);z-index:2;margin:0 auto var(--space-3);background:var(--surface-raised);border:1px solid var(--accent);color:var(--text-primary);padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:999px;display:flex;position:sticky}.shell-head{text-align:center;margin-bottom:var(--space-5)}.shell-head__title{color:var(--text-secondary);font-size:14px}.segments{margin-top:var(--space-2);grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.segments span{background:var(--surface-raised);border-radius:999px;height:5px}.segments span.done{background:var(--accent);opacity:.55}.segments span.current{background:var(--accent)}.prompt{margin:0 0 var(--space-5);font-size:20px;font-weight:600;line-height:1.4}.prompt-instruction{color:var(--text-secondary);margin:0 0 var(--space-3);font-size:15px}.card-example{background:var(--surface-raised);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-card);padding:var(--space-5);margin:0 0 var(--space-4);font-size:19px;font-weight:600;line-height:1.4}.bank-meta{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.phrase-chip{background:var(--surface-raised);border:1px solid var(--border);padding:var(--space-2) var(--space-3);border-radius:10px;font-weight:600;display:inline-block}.options{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.option{text-align:left;cursor:pointer;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);font-size:var(--size-answer);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-button);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);grid-template-columns:1fr 26px;line-height:1.35;display:grid}.option:hover:not(:disabled){border-color:var(--text-muted)}.option__mark{border:2px solid var(--text-muted);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.option--viewed{background:var(--surface-raised)}.option--viewed .option__mark{border-style:dashed}.option--selected.option--valid{border-color:var(--success);background:var(--success-surface)}.option--selected.option--valid .option__mark{background:var(--success);color:var(--on-accent);border:none}.option--selected.option--invalid{border-color:var(--error);background:var(--error-surface)}.option--selected.option--invalid .option__mark{background:var(--error);color:var(--on-accent);border:none}.feedback{margin-top:var(--space-4);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-3);animation:rise var(--t-fast) var(--ease);grid-template-columns:28px 1fr;display:grid}.feedback--valid{background:var(--success-surface);border:1px solid #54e3ab59}.feedback--invalid{background:var(--error-surface);border:1px solid #ff9a9a59}.feedback__heading{margin:0;font-weight:700}.feedback--valid .feedback__heading,.feedback--valid .feedback__icon{color:var(--success)}.feedback--invalid .feedback__heading,.feedback--invalid .feedback__icon{color:var(--error)}.feedback__text{color:var(--text-primary);margin:2px 0 0}.explore-hint{margin-top:var(--space-3);text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.scene{color:var(--text-secondary);margin:0 0 var(--space-4);font-size:15px}.chat-panel{background:var(--chat-panel);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:var(--space-5);overflow:hidden}.chat-panel__head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--chat-head);border-bottom:1px solid #e9edef14;display:flex}.chat-panel__avatar{background:var(--chat-in);width:36px;height:36px;color:var(--chat-meta);border-radius:50%;flex:none;place-items:center;display:grid}.chat-panel__name{color:var(--chat-text);font-weight:600}.chat{gap:var(--space-2);padding:var(--space-4) var(--space-3);flex-direction:column;min-height:96px;display:flex}.chat__empty{color:var(--chat-meta);text-align:center;margin:auto;font-size:14px}.bubble{max-width:85%;padding:var(--space-3) var(--space-4);animation:rise var(--t-fast) var(--ease);border-radius:18px;line-height:1.4}.bubble--you{background:var(--chat-out);color:var(--chat-text);border-bottom-right-radius:4px;align-self:flex-end}.bubble--them{background:var(--chat-in);color:var(--chat-text);border-bottom-left-radius:4px;align-self:flex-start}.bubble__who{letter-spacing:.06em;text-transform:uppercase;color:var(--chat-meta);margin-bottom:2px;font-size:11px;display:block}.done-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6) var(--space-5);text-align:center}.done-card__icon{color:var(--accent);margin-bottom:var(--space-3)}.assembled{background:var(--accent-soft);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);text-align:left;border:1px solid #ff650a73;font-size:19px;font-weight:600;line-height:1.4}.recap-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.recap-list li{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-button);display:flex}.review-item{color:inherit;text-decoration:none}.pill{background:var(--surface-raised);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill--accent{background:var(--accent-soft);color:var(--accent)}.empty{text-align:center;color:var(--text-secondary);padding:var(--space-8) 0}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--surface-raised);display:flex}select{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);min-height:40px;padding:0 var(--space-3);border-radius:10px}.error-state{text-align:center;padding:var(--space-8) var(--space-4)}.error-state code{color:var(--text-muted);font-size:12px}.action-caption{color:var(--text-secondary);margin:var(--space-1) 0;max-width:85%;animation:rise var(--t-fast) var(--ease);font-size:15px;font-style:italic}.action-caption--right{text-align:right;align-self:flex-end}.action-caption--left{align-self:flex-start}.turn--pending{outline:1px dashed var(--chat-pending);outline-offset:3px}.action-caption.turn--pending{outline:none}.learnings{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.learnings li{padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 14px);background:var(--surface);border-radius:var(--radius-button);font-weight:600;line-height:1.4;position:relative}.learnings li:before{content:"";left:var(--space-4);background:var(--accent);width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;transform:rotate(45deg)}.variation{gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);flex-direction:column;display:flex}.variation .scene,.variation .bubble{margin:0}.chapter-description{color:var(--text-secondary);margin:var(--space-1) 0 0}.route__context{color:var(--text-secondary);margin-top:2px;font-size:14px}.tile--locked{opacity:.6}.tile--locked .tile__num{color:var(--text-muted)}.reading__end{height:1px}.intro-btn{width:auto;min-width:var(--tap-min);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:0;display:inline-flex}.intro-btn__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:10px}body:has(dialog[open]){overflow:hidden}.intro-sheet{color:var(--text-primary);width:100%;max-width:var(--reading-column);background:0 0;border:none;max-height:100dvh;margin:auto auto 0;padding:0}.intro-sheet::backdrop{background:#05080ab8}.intro-sheet__panel{background:var(--background);border:1px solid var(--border);max-height:92dvh;animation:rise var(--t-fast) var(--ease);border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;display:flex}.intro-sheet__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--gutter) var(--space-3);border-bottom:1px solid var(--surface-raised);display:flex}.intro-sheet__body{padding:var(--space-5) var(--gutter) 0;overscroll-behavior:contain;overflow-y:auto}.intro-sheet__foot{padding:var(--space-3) var(--gutter) calc(var(--space-4) + var(--safe-bottom));border-top:1px solid var(--surface-raised)}@media (width>=700px){.intro-sheet{margin:auto}.intro-sheet__panel{border-bottom:1px solid var(--border);border-radius:20px;max-height:86dvh}}.app-menu{color:var(--text-primary);background:0 0;border:none;width:min(320px,86vw);max-width:none;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0}.app-menu::backdrop{background:#05080ab8}.app-menu__panel{background:var(--surface);border-left:1px solid var(--border);height:100%;padding:var(--space-4) var(--space-4) calc(var(--space-6) + var(--safe-bottom));animation:slide-in var(--t-fast) var(--ease)}.app-menu__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.app-menu__brand{font-family:var(--font-display);letter-spacing:.3em;color:var(--accent);padding-left:var(--space-2);font-size:22px;font-weight:700}.app-menu__list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.app-menu__link{align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-3);border-radius:var(--radius-button);color:var(--text-primary);font-weight:600;text-decoration:none;display:flex}.app-menu__link:hover{background:var(--surface-raised)}.app-menu__link.active{color:var(--accent);background:var(--accent-soft)}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.hero__menu{top:var(--space-4);right:var(--space-2);position:absolute}.account-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-5);gap:var(--space-3);display:grid}.account-row{justify-content:space-between;gap:var(--space-3);display:flex}.account-row dt{color:var(--text-secondary)}.account-row dd{text-align:right;margin:0;font-weight:600}.placeholder-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px dashed var(--border);margin-left:var(--space-2);vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.btn--danger{color:var(--error);background:0 0;border-color:#ff9a9a80;width:100%}.btn--danger:hover{background:var(--error-surface)}.modal{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text-primary);padding:var(--space-5);width:min(420px,90vw)}.modal::backdrop{background:#05080ab8}.reading .word{transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:4px}.reading .word--active{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 2px var(--accent)}.intro-sheet__foot{gap:var(--space-3);flex-direction:column;display:flex}.player--compact{padding:var(--space-3) var(--space-4);margin:0;position:static}.player--compact .player__play{width:52px;height:52px}.player--compact .back-to-narration{margin:0 auto var(--space-2);position:static}.reading .intro-title{margin:0 0 var(--space-5)}.intro-sheet .reading .intro-title{font-size:28px}.auth-page{justify-content:center;gap:var(--space-4)}.auth-brand{font-family:var(--font-display);letter-spacing:.4em;color:var(--accent);font-size:26px;font-weight:700}.auth-title{margin:var(--space-4) 0 0}.auth-lede{margin:0}.auth-form{gap:var(--space-4);margin-top:var(--space-2);display:grid}.auth-link{width:100%}.field{gap:var(--space-2);display:grid}.field label{font-size:15px;font-weight:600}.field input{min-height:52px;padding:0 var(--space-4);font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-button);font-size:17px}.field input:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field__password{position:relative}.field__password input{width:100%;padding-right:56px}.field__password .icon-btn{color:var(--text-secondary);position:absolute;top:50%;right:2px;transform:translateY(-50%)}.form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-button);background:var(--error-surface);color:var(--error);border:1px solid #ff9a9a59;margin:0}.app-menu__panel{flex-direction:column;display:flex}.app-menu__foot{border-top:1px solid var(--surface-raised);padding-top:var(--space-3);margin-top:auto}.app-menu__foot .app-menu__link{cursor:pointer;width:100%;font:inherit;background:0 0;border:none;font-weight:600}.app-menu__email{padding:0 var(--space-3);margin:0 0 var(--space-1);overflow-wrap:anywhere}.sync-status{padding-left:22px;position:relative}.sync-status:before{content:"";background:var(--text-muted);border-radius:50%;width:9px;height:9px;position:absolute;top:.55em;left:4px}.sync-status--synced:before{background:var(--success)}.sync-status--pending:before,.sync-status--loading:before{background:var(--accent)}.sync-status--offline:before,.sync-status--error:before{background:var(--error)}.brand-link{min-height:var(--tap-min);font-family:var(--font-display);letter-spacing:.35em;color:var(--accent);align-self:flex-start;align-items:center;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.brand-link:hover{color:var(--accent-pressed)}.brand-link--center{letter-spacing:.3em;place-self:center;padding-left:.3em;font-size:20px}
