@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f0f3f9;--border:#e2e7f0;--text:#0f172a;--muted:#5b6474;--primary:#2563eb;--primary-strong:#1d4ed8;--primary-soft:#e8efff;--on-primary:#fff;--success:#15803d;--success-soft:#e6f6ec;--warning:#b45309;--warning-soft:#fdf3e1;--danger:#dc2626;--danger-soft:#fdecec;--teal:#0f766e;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #1018280a, 0 6px 20px #1018280f;--nav-h:64px;--sticky-top:8px;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--heat-1:#cde2fb;--heat-2:#86b6ef;--heat-3:#3987e5;--heat-4:#1c5cab;--grid:#e8ebf1;--axis:#c3c9d4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--surface:#131b2d;--surface-2:#19233a;--border:#26324b;--text:#e7ecf5;--muted:#9aa6ba;--primary:#6b96ff;--primary-strong:#86a9ff;--primary-soft:#1a2a4d;--on-primary:#0b1120;--success:#4ade80;--success-soft:#11301f;--warning:#fbbf24;--warning-soft:#33280e;--danger:#f87171;--danger-soft:#3a1717;--teal:#2dd4bf;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--heat-1:#104281;--heat-2:#1c5cab;--heat-3:#3987e5;--heat-4:#86b6ef;--grid:#222d44;--axis:#34405a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--primary)}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}.app{max-width:640px;padding:0 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:.75rem;padding:14px 0;display:flex}.brand{color:var(--text);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.brand img,.brand .logo{flex:none}.brand img{border-radius:8px;width:30px;height:30px}.topbar-right{align-items:center;gap:10px;display:flex}.avatar{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;width:36px;height:36px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:50%;font-weight:700}.avatar[aria-current=page]{border-color:var(--surface);box-shadow:0 0 0 2px var(--primary)}.nav{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-inner{grid-template-columns:repeat(5,1fr);width:100%;max-width:640px;display:grid}.nav button{height:var(--nav-h);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.72rem;display:flex;position:relative}.nav button .icon{font-size:1.35rem;line-height:1}.nav button[aria-current=page]{color:var(--primary);font-weight:600}.nav .dot{background:var(--danger);color:#fff;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:18px;position:absolute;top:8px;left:calc(50% + 6px)}.nav-brand{display:none}@media (width>=760px){:root{--sticky-top:62px}.app{max-width:880px;padding-bottom:32px}.nav-inner{max-width:880px}.nav{border-top:none;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 -16px 8px;position:sticky;top:0;bottom:auto}.nav button{flex-direction:row;gap:8px;height:52px;font-size:.92rem}.nav button .icon{font-size:1.1rem}.nav .dot{position:static}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;padding:18px}.card.soft{background:var(--surface-2);box-shadow:none}.card.center{text-align:center}.page-header{margin:8px 0 4px}.page-header .back{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;margin-bottom:6px;padding:0}.page-header p,.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.75rem}.error{color:var(--danger)}.success{color:var(--success)}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.spread{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stack>*+*{margin-top:.75rem}.field{gap:.35rem;display:grid}.break{overflow-wrap:anywhere}.btn{min-height:46px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.2rem;font-weight:600;text-decoration:none;transition:transform 50ms,background .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.block{width:100%}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-danger{background:var(--danger);color:#fff}.btn-teal{background:var(--teal);color:var(--on-primary)}.btn-outline{border-color:var(--primary);color:var(--primary);background:0 0}.btn-link{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.btn-link.quiet{color:var(--muted)}.input,textarea.input,select.input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .8rem;font-size:max(1rem,1em)}.input:focus{outline:2px solid var(--primary);outline-offset:1px}select.input{width:auto;padding:.4rem .6rem}textarea.input{resize:vertical;min-height:160px}.segmented{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.segmented button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.45rem .9rem}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.hero{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;border:none}.hero h1{font-size:1.5rem}.hero p{opacity:.92}.hero .btn-primary{color:#1e3a8a;background:#fff}.steps{counter-reset:step;gap:12px;display:grid}.step{align-items:flex-start;gap:12px;display:flex}.step:before{counter-increment:step;content:counter(step);background:var(--primary-soft);height:30px;color:var(--primary);border-radius:50%;flex:0 0 30px;place-items:center;font-weight:700;display:grid}.tiles{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.tile{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font:inherit;color:var(--text);cursor:pointer;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:16px;display:flex}.tile .emoji{margin-bottom:8px;font-size:1.7rem;line-height:1}.tile strong{display:block}.tile span.muted{font-size:.82rem;line-height:1.35}.stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat .value{font-size:1.5rem;font-weight:700}.stat .label{color:var(--muted);font-size:.75rem}.progress{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--success);border-radius:4px;height:100%;transition:width .4s}.cta{background:var(--primary-soft);border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;display:flex}.score{margin-bottom:14px}.score .top{justify-content:space-between;margin-bottom:4px;font-weight:600;display:flex}.score .bar{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.score .bar>div{border-radius:5px;height:100%}.score .why{color:var(--muted);margin-top:4px;font-size:.85rem}.fill-great{background:var(--success)}.fill-good{background:var(--primary)}.fill-mid{background:var(--warning)}.fill-low{background:var(--danger)}.txt-great{color:var(--success)}.txt-good{color:var(--primary)}.txt-mid{color:var(--warning)}.txt-low{color:var(--danger)}.corrections{margin:0;padding:0;list-style:none}.corrections li{border-radius:var(--radius-sm);background:var(--surface-2);margin-bottom:8px;padding:10px 12px}.corrections s{color:var(--danger)}.corrections strong{color:var(--success)}.quote{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted);padding:12px}.encourage{background:var(--success-soft);color:var(--success);border-radius:var(--radius-sm);padding:10px 12px;font-weight:600}.option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.6rem;margin-bottom:6px;padding:10px 12px;display:flex}.option.correct{background:var(--success-soft);border-color:var(--success)}.option.wrong{background:var(--danger-soft);border-color:var(--danger)}.option input{accent-color:var(--primary);margin-top:.3rem}fieldset{border:none;margin:0 0 1rem;padding:0}legend{margin-bottom:.4rem;font-weight:600}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--border);padding:10px 0}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.85rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:.45rem .5rem}.flash-front{margin:.75rem 0;font-size:1.35rem;line-height:1.4}.flash-back{color:var(--success);font-size:1.2rem;font-weight:700}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grades .btn{color:#fff;flex-direction:column;gap:0;min-height:58px;padding:.5rem .25rem}.grades .btn small{opacity:.9;font-size:.66rem;font-weight:400}.g-again{background:#dc2626}.g-hard{background:#d97706}.g-good{background:#16a34a}.g-easy{background:#2563eb}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.recording-dot{background:#fff;border-radius:50%;width:10px;height:10px;animation:1s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart svg:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:6px}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-tooltip{pointer-events:none;z-index:5;background:var(--surface);min-width:140px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);white-space:nowrap;border-radius:10px;padding:8px 10px;font-size:.8rem;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.chart-tooltip .tt-title{color:var(--muted);margin-bottom:4px}.chart-tooltip .tt-row{align-items:center;gap:8px;display:flex}.chart-tooltip .tt-row strong{text-align:right;font-variant-numeric:tabular-nums;min-width:26px}.chart-tooltip .tt-row span.name{color:var(--muted)}.line-key{border-radius:1px;width:14px;height:2px;display:inline-block}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-bottom:8px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:2px;width:11px;height:11px;display:inline-block}.heat-0{fill:var(--surface-2);background:var(--surface-2)}.heat-1{fill:var(--heat-1);background:var(--heat-1)}.heat-2{fill:var(--heat-2);background:var(--heat-2)}.heat-3{fill:var(--heat-3);background:var(--heat-3)}.heat-4{fill:var(--heat-4);background:var(--heat-4)}.badges{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.badge-card{text-align:center;border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 6px}.badge-card .emoji{font-size:1.6rem;line-height:1.2}.badge-card .title{font-size:.78rem;font-weight:600}.badge-card.locked{opacity:.45;filter:grayscale()}.level-ring{align-items:center;gap:14px;display:flex}.level-num{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;border-radius:50%;flex:0 0 64px;place-items:center;height:64px;font-size:1.5rem;font-weight:800;display:grid}.leaderboard{margin:0;padding:0;list-style:none}.leaderboard li{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 10px;display:flex}.leaderboard li.me{background:var(--primary-soft);font-weight:600}.leaderboard .rank{text-align:center;font-variant-numeric:tabular-nums;width:28px}.leaderboard .xp{font-variant-numeric:tabular-nums;margin-left:auto}.word{cursor:pointer;border-radius:3px}.word:hover,.word:focus-visible{background:var(--primary-soft);outline:none}.sheet-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;color:var(--text);padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow);border-radius:18px 18px 0 0}@media (width>=760px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px}}.switch{cursor:pointer;align-items:center;gap:10px;display:flex}.switch input{width:20px;height:20px;accent-color:var(--primary)}.vocab-search{gap:8px;margin-bottom:12px;display:flex}.vocab-search .input{flex:1;min-width:0}.chips{flex-wrap:wrap;gap:8px;margin:4px 0 6px;display:flex}.chips button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:.35rem .8rem;font-size:.85rem}.chips button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.chips .n{opacity:.75;margin-left:2px}.vocab-list{margin:8px 0 0;padding:0;list-style:none}.vocab-list .card{margin-bottom:10px;padding:14px 16px}.vocab-word{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vocab-word strong{font-size:1.12rem}.vocab-meaning{margin-top:4px;font-weight:600}.status{border-radius:999px;flex:none;padding:2px 8px;font-size:.72rem;font-weight:600}.status-new{background:var(--primary-soft);color:var(--primary)}.status-learning{background:var(--warning-soft);color:var(--warning)}.status-known{background:var(--success-soft);color:var(--success)}.cta .btn{white-space:nowrap;flex:none}.lang-select{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:6px 10px;font-size:.8rem;font-weight:600}@media (width<=400px){.brand .brand-name{display:none}}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.5rem}.google-button{justify-content:center;min-height:44px;display:flex}.divider{color:var(--muted);align-items:center;gap:10px;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.usage{color:var(--muted);margin:4px 0 12px}.usage-empty{color:var(--warning)}.danger-zone{border:1px solid var(--danger);background:var(--danger-soft);border-radius:12px;padding:12px}.choice{text-align:left;background:var(--surface);width:100%;min-height:56px;color:var(--text);border:2px solid var(--border);cursor:pointer;font:inherit;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.choice:hover{border-color:var(--primary)}.choice[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface))}.choice:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:2px}.plan-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.plan-item.done .plan-title{color:var(--muted);text-decoration:line-through}.choice.correct{border-color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--surface))}.choice.wrong{border-color:var(--danger,#c0392b);background:color-mix(in srgb, var(--danger,#c0392b) 10%, var(--surface))}.choice:disabled{opacity:.55;cursor:default}.password-field{display:block;position:relative}.password-field .input{width:100%;padding-right:52px}.password-toggle{cursor:pointer;background:0 0;border:0;border-radius:8px;width:44px;height:44px;font-size:1.2rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent)}.shadow-series{margin-top:18px}.shadow-series-title{margin:0 0 8px;font-size:1.05rem}.shadow-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.shadow-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font:inherit;color:var(--text);cursor:pointer;flex-direction:column;padding:0;display:flex;overflow:hidden}.shadow-card.is-done{border-color:var(--success)}.shadow-thumb{aspect-ratio:16/10;background:var(--surface-2);justify-content:center;align-items:center;display:flex;position:relative}.shadow-thumb img{object-fit:cover;width:100%;height:100%}.shadow-thumb-chars{align-items:flex-end;gap:2px;display:flex}.shadow-level,.shadow-ep,.shadow-done{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700;position:absolute}.shadow-level{color:#1f2937;background:#fbbf24;top:6px;right:6px}.shadow-ep{color:#fff;background:#0f172ab8;top:6px;left:6px}.shadow-done{background:var(--success);color:#fff;bottom:6px;right:6px}.shadow-card-body{flex-direction:column;gap:2px;padding:8px 10px 10px;display:flex}.shadow-meta{flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 10px;display:flex}.shadow-before{color:var(--success);font-weight:600}.shadow-media{background:var(--bg);z-index:4;flex-direction:column;gap:8px;padding-bottom:8px;display:flex}@media (width<=759px){.shadow-media{margin:0 -16px;padding:8px 16px;position:sticky;top:0;box-shadow:0 6px 12px -10px #00000059}}.shadow-video{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#000;position:relative;overflow:hidden}.shadow-video-frame,.shadow-video-frame iframe{border:0;width:100%;height:100%;display:block}.shadow-overlay{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.shadow-overlay .karaoke{color:#fff;background:#000000ad;border-radius:8px;padding:4px 10px;font-size:1.02rem;font-weight:600;line-height:1.4}.shadow-overlay-tr{color:var(--muted);font-size:.85rem}.shadow-overlay .shadow-overlay-tr{color:#e5e7eb;background:#0000008c;border-radius:6px;padding:1px 8px}.shadow-video-error{background:var(--surface);border-radius:8px;padding:8px;position:absolute;inset:8px 8px auto}.karaoke .said{color:#93c5fd}.karaoke .now{color:#fde047;text-underline-offset:3px;text-decoration:underline}.karaoke .kw{font-weight:800}.shadow-stage{background:linear-gradient(var(--primary-soft), var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:6px;padding:8px 8px 10px;display:flex}.shadow-actors{justify-content:center;align-items:flex-end;gap:40px;display:flex}.character{opacity:.7;transition:transform .2s,opacity .2s}.character.active,.character.talking{opacity:1}.shadow-actor.speaking .character{transform:translateY(-4px)scale(1.05)}.shadow-bubble{background:var(--surface);border:2px solid var(--primary);text-align:center;border-radius:14px;flex-direction:column;gap:2px;max-width:100%;padding:8px 12px;font-size:1.05rem;font-weight:600;line-height:1.4;display:flex;position:relative}.shadow-bubble:before{content:"";border:8px solid #0000;border-top:0;border-bottom-color:var(--primary);margin-left:-8px;position:absolute;top:-9px;left:50%}.shadow-bubble.left:before{left:32%}.shadow-bubble.right:before{left:68%}.shadow-bubble .karaoke .said{color:var(--primary)}.shadow-bubble .karaoke .now{color:var(--warning)}.shadow-bubble .shadow-overlay-tr{font-weight:400}.shadow-status{border-radius:var(--radius-sm);background:var(--success-soft);color:var(--teal);flex-direction:column;gap:4px;padding:6px 10px;display:flex}.shadow-status.rec{background:var(--danger-soft);color:var(--danger)}.shadow-status.mine{background:var(--primary-soft);color:var(--primary)}.shadow-countdown{height:100%;animation-name:shadow-count;animation-timing-function:linear;animation-fill-mode:forwards;background:currentColor!important}@keyframes shadow-count{0%{width:100%}to{width:0%}}.shadow-modebar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.shadow-modehint{margin:6px 0 4px}.shadow-lines{flex-direction:column;gap:8px;margin:10px 0 12px;padding:0;scroll-margin:260px;list-style:none;display:flex}.shadow-lines>li{scroll-margin-top:280px;scroll-margin-bottom:160px}.shadow-line{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.shadow-line.current{cursor:default;border:2px solid var(--primary);background:var(--primary-soft);flex-direction:column;align-items:stretch;gap:8px}.shadow-line-head{align-items:center;gap:8px;display:flex}.shadow-line-head .shadow-score{margin-left:auto}.shadow-line-text{margin:0;font-size:1.25rem;font-weight:700;line-height:1.5}.shadow-line .n{min-width:2em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:.8rem}.shadow-line .who{flex:none;display:flex}.shadow-line .who .character{opacity:1}.shadow-line .txt{flex-direction:column;flex:1;gap:2px;display:flex}.shadow-line .tr,.shadow-line-text+.tr{color:var(--muted);font-size:.85rem;font-weight:400}.shadow-line .kw,.tap-text .kw{color:var(--primary);font-weight:700}.shadow-line.current .kw{color:var(--primary-strong)}.tap-text .w-ok{color:var(--success)}.tap-text .w-bad{color:var(--danger);text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.shadow-line .mini{color:var(--success);flex:none;font-size:.8rem;font-weight:700}.shadow-rec-buttons{flex-wrap:wrap;gap:8px;display:flex}.shadow-rec-buttons .btn{flex:130px;min-height:42px;padding:.45rem .8rem}.shadow-rec-live{color:var(--danger);margin:0}.shadow-score{font-weight:700}.shadow-result{background:var(--surface);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.shadow-finished{color:var(--success);margin:0;font-weight:600}.shadow-dock{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:5;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;margin-top:12px;padding:8px 10px;display:flex;position:sticky}@media (width>=760px){.shadow-dock{bottom:12px}}.shadow-controls{grid-template-columns:repeat(5,1fr);align-items:center;gap:6px;display:grid}.shadow-ctl{background:var(--primary-soft);color:var(--primary);aspect-ratio:1;width:100%;max-width:56px;font:inherit;cursor:pointer;border:none;border-radius:999px;flex-direction:column;justify-content:center;justify-self:center;align-items:center;gap:2px;display:flex}.shadow-ctl span{font-size:1.05rem;line-height:1}.shadow-ctl small{color:var(--muted);white-space:nowrap;font-size:.58rem}.shadow-ctl.main{background:var(--primary);color:var(--on-primary);max-width:64px}.shadow-ctl.main small{color:var(--on-primary)}.shadow-ctl[aria-pressed=true]{outline:2px solid var(--primary)}.shadow-ctl:disabled{opacity:.45;cursor:not-allowed}.shadow-speeds{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.shadow-speeds button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem 0;font-size:.8rem}.shadow-speeds button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.bot-features{gap:4px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.bot-promo .spread .btn{flex:none}.demo-banner{border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:12px 0 0;padding:10px 14px;font-size:.9rem;display:flex}.demo-banner .btn-link{padding:0;font-weight:600}@media (width>=1024px){:root{--sticky-top:12px;--sidebar-w:244px}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"nav top""nav main";max-width:none;min-height:100vh;margin:0;padding:0;display:grid}.topbar{grid-area:top;justify-content:flex-end;padding:14px clamp(24px,3vw,48px) 6px}.topbar .brand{display:none}.nav{border:none;border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;grid-area:nav;justify-content:flex-start;align-self:start;gap:18px;height:100vh;margin:0;padding:20px 14px;position:sticky;top:0}.nav-brand{padding:0 10px;display:flex}.nav-inner{flex-direction:column;gap:4px;max-width:none;display:flex}.nav button{border-radius:var(--radius-sm);justify-content:flex-start;height:46px;padding:0 14px;font-size:.98rem}.nav button:hover{background:var(--surface-2);color:var(--text)}.nav button[aria-current=page]{background:var(--primary-soft)}.nav .dot{margin-left:auto}main{grid-area:main;width:100%;padding:0 clamp(24px,3vw,48px) 48px}main.page-wide{max-width:1360px;margin:0 auto}main.page-medium>*{max-width:1000px;margin-left:auto;margin-right:auto}main.page-narrow>*{max-width:760px;margin-left:auto;margin-right:auto}.page-header h1{font-size:1.9rem}.split{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:0 28px;display:grid}.split.half{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tiles{grid-template-columns:repeat(4,1fr)}.exam-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 20px;display:grid}.exam-pane{overscroll-behavior:contain;height:max(420px,100vh - 250px);overflow-y:auto}.practice-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 28px;display:grid}.practice-split>:first-child{top:var(--sticky-top);position:sticky}.practice-split>:first-child textarea{min-height:320px}.shadow-wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:0 28px;display:grid}.shadow-left{top:var(--sticky-top);position:sticky}.shadow-wide .shadow-media{box-shadow:none;margin:0;position:static}.shadow-wide .shadow-dock{position:static}.shadow-wide .shadow-lines>li{scroll-margin-top:24px;scroll-margin-bottom:24px}.shadow-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.comp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 32px;display:grid}.comp-grid>:first-child{top:var(--sticky-top);line-height:1.7;position:sticky}.exam-editor{flex-direction:column;display:flex}.exam-editor textarea{resize:none;flex:1;min-height:260px}.exam-split.sticky-left>:first-child{top:calc(var(--sticky-top) + 96px);max-height:calc(100vh - var(--sticky-top) - 110px);height:auto;position:sticky;overflow-y:auto}.card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 20px;display:grid}.masonry{columns:2;column-gap:24px;padding-top:16px}.masonry>*{break-inside:avoid;margin:0 0 16px}}kbd{border:1px solid color-mix(in srgb, currentColor 35%, transparent);min-width:1.4em;font:inherit;text-align:center;opacity:.85;border-bottom-width:2px;border-radius:5px;margin-right:.35em;padding:0 .35em;font-size:.78em;line-height:1.5;display:inline-block}.source-choice{flex-wrap:wrap;gap:8px;display:flex}.source-choice>.btn{flex:200px}.topic-text{margin:0 0 12px;font-size:1.1rem;font-weight:600}.learn-card{text-align:left;font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;width:100%;display:flex}.learn-card:hover{border-color:var(--primary)}.learn-prompt{margin:4px 0 10px;font-size:1.05rem;font-weight:600}.learn-option{width:100%;font:inherit;color:inherit;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.learn-option:disabled{cursor:default}.learn-examples,.learn-mistakes{gap:6px;margin:0;padding-left:18px;display:grid}.learn-examples li{font-style:italic}.learn-word{flex-direction:column;gap:2px;display:flex}@media (width>=1024px){.learn-lesson{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:0 28px;display:grid}.learn-lesson>aside{top:var(--sticky-top);position:sticky}}.pick-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.pick-progress{flex-direction:column;flex:200px;gap:6px;min-width:180px;max-width:360px;display:flex}.pick-progress-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.pick-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--teal));height:100%;transition:width .4s;display:block}.pick-actions{flex-wrap:wrap;gap:8px;display:flex}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pick-card{text-align:left;width:100%;height:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.pick-card:hover{border-color:var(--primary);transform:translateY(-1px)}.pick-card:focus-visible{outline:3px solid var(--primary-soft);border-color:var(--primary)}.pick-card.done{border-left:4px solid var(--success)}.pick-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pick-num{margin-right:auto;font-size:1.02rem;font-weight:700}.badge.badge-done{background:var(--success-soft);color:var(--success)}.pick-topics{color:var(--muted);flex-direction:column;gap:4px;font-size:.84rem;line-height:1.35;display:flex}.pick-topics span:before{content:"• ";color:var(--axis)}.pick-go{color:var(--primary);margin-top:auto;font-size:.85rem;font-weight:600}.practice-pick-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.practice-pick-list button{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;display:flex}.practice-pick-list button:hover:not(:disabled){border-color:var(--primary)}.practice-pick-list .lvl{color:var(--primary);background:var(--primary-soft);border-radius:6px;flex:none;padding:2px 6px;font-size:.72rem;font-weight:700}.practice-pick-list .ttl{flex:1;min-width:0}.practice-pick-list .ok{color:var(--success);font-weight:700}.practice-pick-list button.done .ttl{color:var(--muted)}.inapp-note{border:1px solid var(--warning);background:var(--warning-soft);border-radius:var(--radius-sm);padding:12px 14px}.btn.btn-sm{padding:.4rem .8rem;font-size:.85rem;text-decoration:none}:root{--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#f3f5fa;--border:#e3e8f1;--radius:18px;--radius-sm:12px;--shadow:0 1px 2px #1018280a, 0 8px 24px -8px #1018281a;--shadow-lift:0 2px 4px #1018280d, 0 16px 32px -12px #2563eb40;--accent:#7c3aed;--grad:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--k-speaking:#2563eb;--k-speaking-soft:#e8efff;--k-writing:#ea580c;--k-writing-soft:#fff0e6;--k-reading:#059669;--k-reading-soft:#e3f7ee;--k-listening:#9333ea;--k-listening-soft:#f3e8ff}@media (prefers-color-scheme:dark){:root{--bg:#0a0f1c;--border:#243049;--shadow:0 1px 2px #00000059, 0 10px 28px -10px #0000008c;--shadow-lift:0 2px 4px #00000059, 0 16px 32px -12px #6b96ff4d;--accent:#a78bfa;--grad:linear-gradient(135deg, #3b6fe8 0%, #7c4ddb 100%);--k-speaking:#7aa2ff;--k-speaking-soft:#1a2a4d;--k-writing:#fb923c;--k-writing-soft:#3a2212;--k-reading:#34d399;--k-reading-soft:#0f2e22;--k-listening:#c084fc;--k-listening-soft:#2c1a44}.btn-primary,.btn-primary:hover:not(:disabled){color:#fff}}html,body{font-family:var(--font);font-feature-settings:"cv11", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:-.015em}h1{font-weight:750}.card{border-color:var(--border)}.btn{border-radius:var(--radius-sm);transition:transform .12s,background .15s,box-shadow .15s,border-color .15s}.btn-primary{background:var(--grad);box-shadow:0 6px 16px -8px #2563eb99}.btn-primary:hover:not(:disabled){background:var(--grad);filter:brightness(1.06);transform:translateY(-1px)}.btn-outline{border-width:1.5px}.btn-outline:hover:not(:disabled){background:var(--primary-soft)}.hero .btn-primary{background:#fff;box-shadow:0 6px 16px -8px #0006}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:2px}.cta{background:linear-gradient(135deg, var(--primary-soft) 0%, color-mix(in srgb, var(--primary-soft) 60%, var(--surface)) 100%);border:1px solid color-mix(in srgb, var(--primary) 14%, transparent)}button.card.cta:hover{border-color:var(--primary)}.tile{--k:var(--primary);--k-soft:var(--primary-soft);gap:4px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.tile[data-kind=speaking]{--k:var(--k-speaking);--k-soft:var(--k-speaking-soft)}.tile[data-kind=writing]{--k:var(--k-writing);--k-soft:var(--k-writing-soft)}.tile[data-kind=reading]{--k:var(--k-reading);--k-soft:var(--k-reading-soft)}.tile[data-kind=listening]{--k:var(--k-listening);--k-soft:var(--k-listening-soft)}.tile:before{content:"";background:var(--k);opacity:.85;height:4px;position:absolute;inset:0 0 auto}.tile .emoji{background:var(--k-soft);border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:10px;font-size:1.45rem;display:grid}.tile strong{color:var(--text);font-size:1.02rem}.tile:hover{border-color:color-mix(in srgb, var(--k) 45%, var(--border));box-shadow:var(--shadow-lift);transform:translateY(-2px)}.stat .value{letter-spacing:-.02em;font-size:1.65rem;font-weight:750}.progress{border-radius:999px;height:10px}.progress>div{border-radius:inherit;background:linear-gradient(90deg, var(--success), #22c55e)}.page-header.hero{border-radius:var(--radius);box-shadow:var(--shadow-lift);background:radial-gradient(120% 140% at 100% 0%, #ffffff2e 0%, transparent 55%), var(--grad);justify-content:space-between;align-items:center;gap:16px;margin:8px 0 4px;padding:22px;display:flex}.page-header.hero h1{margin:0 0 4px;font-size:1.55rem}.page-header.hero p{color:#fff;opacity:.9;margin:0}.goal-ring{--p:0;background:conic-gradient(#fff calc(var(--p) * 1%), #ffffff38 0);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;display:grid}.goal-ring span{background:#403fdb;border-radius:50%;place-items:center;width:56px;height:56px;font-size:.95rem;font-weight:750;display:grid}.nav button{transition:color .15s,background .15s}.nav button[aria-current=page] .icon{transform:translateY(-1px)}@media (width<=759px){.nav{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -6px 20px -12px #10182840}.nav button[aria-current=page]:before{content:"";background:var(--primary-soft);z-index:-1;border-radius:999px;width:52px;height:30px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.nav button{z-index:0}.page-header.hero{padding:18px}.page-header.hero h1{font-size:1.35rem}.goal-ring{width:62px;height:62px}.goal-ring span{width:48px;height:48px;font-size:.85rem}}@media (width>=1024px){.nav button[aria-current=page]{background:var(--primary-soft);font-weight:650;position:relative}.nav button[aria-current=page]:before{content:"";background:var(--grad);border-radius:0 4px 4px 0;width:4px;position:absolute;top:10px;bottom:10px;left:0}.nav-brand{font-size:1.1rem}.page-header h1{font-size:1.9rem}.page-header.hero h1{font-size:1.75rem}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}main>*{animation:.28s both rise-in}main>:nth-child(2){animation-delay:30ms}main>:nth-child(3){animation-delay:60ms}main>:nth-child(4){animation-delay:90ms}@media (prefers-reduced-motion:reduce){main>*,.tile,.btn,.pick-card{transition:none!important;animation:none!important}}.mistake-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:0 16px;display:grid}@media (width<=420px){.mistake-grid{grid-template-columns:1fr}}.mistake-card{flex-direction:column;gap:10px;display:flex}.mistake-card.top{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.mistake-head{align-items:center;gap:12px;display:flex}.mistake-icon{background:var(--primary-soft);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.mistake-bar{background:var(--surface-2);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.mistake-bar span{border-radius:inherit;background:var(--grad);height:100%;display:block}.mistake-count{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.mistake-count .good{color:var(--success)}.mistake-count .bad{color:var(--danger)}.mistake-examples{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.mistake-examples li{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px;font-size:.9rem}.mistake-examples s{color:var(--danger)}.progress-links{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.progress-links .card{margin-top:0}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f1c8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:12px;width:min(440px,100%);max-height:calc(100vh - 32px);margin:0;display:flex;overflow:auto}.share-preview{object-fit:contain;background:var(--surface-2);border-radius:14px;width:100%;max-height:60vh}.talk-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.talk-chat{flex-direction:column;gap:10px;margin-top:16px;display:flex}.talk-row{flex-direction:column;gap:6px;display:flex}.talk-row.user{align-items:flex-end}.talk-row.ai{align-items:flex-start}.bubble{max-width:min(85%,560px);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:2px;padding:10px 14px;line-height:1.45;display:flex}.bubble .who{font-weight:600}.bubble.ai{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble.user{background:var(--grad);color:#fff;border-bottom-right-radius:6px}.bubble.user .who{color:#fffc}.bubble .btn-link{align-self:flex-start}.bubble.typing{flex-direction:row;gap:5px;padding:14px 16px}.bubble.typing span{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite talk-dot}.bubble.typing span:nth-child(2){animation-delay:.15s}.bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes talk-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.talk-tip{background:var(--warning-soft);border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);border-radius:12px;max-width:min(85%,560px);padding:8px 12px}.talk-tip s{color:var(--danger)}.talk-controls{bottom:calc(var(--nav-h) + 8px + env(safe-area-inset-bottom));z-index:5;flex-direction:column;gap:10px;display:flex;position:sticky}@media (width>=760px){.talk-controls{bottom:12px}}.rec-dot{background:var(--danger);vertical-align:middle;border-radius:50%;width:10px;height:10px;animation:1s infinite pulse;display:inline-block}.talk-phrases{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.talk-phrases li{background:var(--primary-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.dict-input{min-height:96px;font-size:max(1.05rem,16px);line-height:1.5}.dict-marks{flex-wrap:wrap;gap:6px;font-size:1.05rem;display:flex}.dict-w{border-radius:8px;padding:2px 8px}.dict-w.ok{background:var(--success-soft);color:var(--success)}.dict-w.wrong{background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.dict-w.wrong small{color:var(--text);font-weight:600;text-decoration:none;display:inline-block}.dict-w.missing{background:var(--warning-soft);color:var(--warning);border:1px dashed var(--warning)}.dict-w.extra{background:var(--surface-2);color:var(--muted);text-decoration:line-through}.dict-score{letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:800}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:40px;padding:16px 0 8px}.site-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;font-size:.85rem;display:flex}.site-footer-links a{color:var(--muted)}.site-footer-links .btn-link{font-size:.85rem}.site-footer .modal-backdrop{text-align:start}@media (width>=1024px){.app{grid-template-rows:auto 1fr auto;grid-template-areas:"nav top""nav main""nav foot"}.site-footer{grid-area:foot;margin:0 clamp(24px,3vw,48px) 24px}}.server-wake{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 10px);z-index:40;pointer-events:none;justify-content:center;padding:0 12px;display:flex;position:fixed}.server-wake-inner{border:1px solid var(--border);background:var(--surface);max-width:520px;color:var(--text);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;line-height:1.4;animation:.25s both rise-in;display:flex}.server-wake-spinner{border:2px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;flex:none;width:16px;height:16px;animation:.9s linear infinite wake-spin}@keyframes wake-spin{to{transform:rotate(360deg)}}@media (width>=760px){.server-wake{bottom:20px}}@media (prefers-reduced-motion:reduce){.server-wake-inner,.server-wake-spinner{animation:none}}@media (pointer:coarse){.btn,.input,select.input,.lang-select,.chips button,.segmented button,.shadow-speeds button,.choice,.avatar{min-height:44px}.avatar{min-width:44px}.nav button{min-height:48px}.btn-link{position:relative}.btn-link:after{content:"";min-width:44px;height:44px;position:absolute;top:50%;left:-6px;right:-6px;transform:translateY(-50%)}}.btn-telegram{color:#fff;background:#229ed9;border:1px solid #1c8cc2;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.btn-telegram:hover:not(:disabled){background:#1c8cc2}.btn-telegram:focus-visible{outline-offset:2px;outline:3px solid #229ed973}.tg-login.card.soft{margin:0;padding:14px 16px}.tg-steps{gap:4px;margin:0;padding-left:20px;display:grid}.tg-code{text-align:center;letter-spacing:.12em;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);background:var(--primary-soft);min-width:4ch;color:var(--primary-strong);align-self:center;padding:4px 22px;font-size:2.6rem;font-weight:800}.signin-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.signin-list li{border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.badge.success{background:var(--success-soft);color:var(--success)}.feedback-item{border-top:1px solid var(--border);padding:10px 0}.feedback-item:first-of-type{border-top:0}@media (prefers-color-scheme:dark){.tg-code{background:color-mix(in srgb, var(--primary) 22%, transparent);color:#c7d7ff}}
