:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fdf9f5;--surface:#fff;--surface-2:#f6f1fb;--text:#2b2740;--muted:#6a6582;--border:#ebe4f3;--border-strong:#d6cce6;--accent:#7a5cf0;--accent-hover:#6748e0;--accent-2:#e879b9;--accent-text:#fff;--accent-soft:#ece6ff;--danger:#c2334d;--danger-soft:#ffe6ea;--success-soft:#dcf6e8;--success:#1c7a4c;--info-soft:#e2f0ff;--idiom:#8a3fa8;--idiom-soft:#f5e1fb;--phrase:#0d7272;--phrase-soft:#d6f4f0;--focus:#7a5cf0;--star:#e09a1a;--star-soft:#fff1c9;--lavender:#ece6ff;--lavender-ink:#5a3fc4;--mint:#d9f6e6;--mint-ink:#1c7a52;--peach:#ffe4d3;--peach-ink:#b4541c;--sky:#dcefff;--sky-ink:#1f6aa8;--pink:#ffe0ee;--pink-ink:#b83a7c;--butter:#fff4c7;--butter-ink:#8a6a08;--radius:22px;--radius-sm:14px;--shadow:0 1px 2px #5a468c0f, 0 10px 30px #5a468c17;--shadow-lift:0 2px 4px #5a468c14, 0 18px 40px #5a468c24;--glow:0 8px 22px #7a5cf052;--ease:cubic-bezier(.22, .8, .3, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--font:ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-text:"Iowan Old Style", "Palatino Linotype", Palatino, "Noto Serif", Georgia, serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171528;--surface:#211e37;--surface-2:#2a2645;--text:#efecfa;--muted:#aba6c4;--border:#353056;--border-strong:#4a4474;--accent:#b3a1ff;--accent-hover:#c9bcff;--accent-2:#f5a3d2;--accent-text:#1b1436;--accent-soft:#322a5c;--danger:#ff9aa9;--danger-soft:#45202b;--success-soft:#1b3a2c;--success:#8fe0b4;--info-soft:#1f3350;--idiom:#e6b2f5;--idiom-soft:#3d2548;--phrase:#8be0d8;--phrase-soft:#173a39;--focus:#b3a1ff;--star:#fc6;--star-soft:#443616;--lavender:#322a5c;--lavender-ink:#cfc4ff;--mint:#1c3d30;--mint-ink:#9be8c1;--peach:#4a2e22;--peach-ink:#ffc4a3;--sky:#1e3552;--sky-ink:#a8d6ff;--pink:#4a2439;--pink-ink:#ffb3d6;--butter:#40371a;--butter-ink:#ffe28a;--shadow:0 1px 2px #0006, 0 10px 30px #0000004d;--shadow-lift:0 2px 4px #00000073, 0 18px 40px #0006;--glow:0 8px 22px #b3a1ff38}}:root:where([data-mode=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--danger:#c2334d;--danger-soft:#ffe6ea;--success:#1c7a4c;--success-soft:#dcf6e8;--star:#d98e0f;--shadow:0 1px 2px #0000000d, 0 10px 30px color-mix(in srgb, var(--text) 10%, transparent);--shadow-lift:0 2px 4px #00000012, 0 18px 40px color-mix(in srgb, var(--text) 16%, transparent);--lavender:color-mix(in srgb, var(--h1) 15%, var(--surface));--mint:color-mix(in srgb, var(--h2) 15%, var(--surface));--peach:color-mix(in srgb, var(--h3) 15%, var(--surface));--sky:color-mix(in srgb, var(--h4) 15%, var(--surface));--pink:color-mix(in srgb, var(--h5) 15%, var(--surface));--butter:color-mix(in srgb, var(--h6) 20%, var(--surface));--lavender-ink:color-mix(in srgb, var(--h1) 80%, var(--text));--mint-ink:color-mix(in srgb, var(--h2) 80%, var(--text));--peach-ink:color-mix(in srgb, var(--h3) 80%, var(--text));--sky-ink:color-mix(in srgb, var(--h4) 80%, var(--text));--pink-ink:color-mix(in srgb, var(--h5) 80%, var(--text));--butter-ink:color-mix(in srgb, var(--h6) 70%, var(--text))}:root:where([data-mode=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ff9aa9;--danger-soft:#45202b;--success:#8fe0b4;--success-soft:#1b3a2c;--star:#fc6;--shadow:0 1px 2px #0006, 0 10px 30px #0000004d;--shadow-lift:0 2px 4px #00000073, 0 18px 40px #0006;--lavender:color-mix(in srgb, var(--h1) 24%, var(--surface));--mint:color-mix(in srgb, var(--h2) 22%, var(--surface));--peach:color-mix(in srgb, var(--h3) 22%, var(--surface));--sky:color-mix(in srgb, var(--h4) 22%, var(--surface));--pink:color-mix(in srgb, var(--h5) 22%, var(--surface));--butter:color-mix(in srgb, var(--h6) 20%, var(--surface));--lavender-ink:color-mix(in srgb, var(--h1) 55%, var(--text));--mint-ink:color-mix(in srgb, var(--h2) 60%, var(--text));--peach-ink:color-mix(in srgb, var(--h3) 60%, var(--text));--sky-ink:color-mix(in srgb, var(--h4) 60%, var(--text));--pink-ink:color-mix(in srgb, var(--h5) 60%, var(--text));--butter-ink:color-mix(in srgb, var(--h6) 60%, var(--text))}:root:where([data-theme]){--surface-2:color-mix(in srgb, var(--accent) 7%, var(--surface));--border:color-mix(in srgb, var(--text) 10%, var(--surface));--border-strong:color-mix(in srgb, var(--text) 22%, var(--surface));--accent-hover:color-mix(in srgb, var(--accent) 84%, var(--text));--accent-soft:color-mix(in srgb, var(--accent) 15%, var(--surface));--focus:var(--accent);--info-soft:var(--sky);--idiom:var(--lavender-ink);--idiom-soft:var(--lavender);--phrase:var(--mint-ink);--phrase-soft:var(--mint);--star-soft:var(--butter);--glow:0 8px 22px color-mix(in srgb, var(--accent) 30%, transparent)}:root[data-theme=prismatic]{--bg:#fbfaff;--surface:#fff;--text:#261f4d;--muted:#696389;--accent:#845ef7;--accent-2:#f783ac;--accent-text:#fff;--h1:#7048e8;--h2:#0f8f6f;--h3:#e0701a;--h4:#0e8fa6;--h5:#d6457d;--h6:#a37a00;--lavender:#e5dbff;--sky:#c5f6fa;--pink:#ffdeeb;--butter:#fff0c2;--star:#f0a800}:root[data-theme=brutalist]{--bg:#fffdf5;--outline:#161616;--surface:#fff;--surface-2:#fff6c2;--text:#161616;--muted:#4a4a4a;--border:#161616;--border-strong:#161616;--accent:#5b5fef;--accent-hover:#4347d6;--accent-2:#5b5fef;--accent-text:#fff;--accent-soft:#fd0;--h1:#161616;--h2:#161616;--h3:#161616;--h4:#161616;--h5:#161616;--h6:#161616;--lavender:#c9cbff;--mint:#9be7c4;--peach:#ffb38a;--sky:#9fd3ff;--pink:#ff9c9c;--butter:#fd0;--danger:#c81e1e;--danger-soft:#ffb3b3;--star:#161616;--radius:8px;--radius-sm:6px;--shadow:4px 4px 0 #161616;--shadow-lift:7px 7px 0 #161616;--glow:4px 4px 0 #161616;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif}:root[data-theme=arcade]{--bg:#f2f2f7;--surface:#fff;--surface-2:#e4e4ef;--text:#111118;--muted:#4a4a5c;--border:#111118;--border-strong:#111118;--accent:#6a3df0;--accent-hover:#5527dd;--accent-2:#6a3df0;--accent-text:#fff;--accent-soft:#ffe14d;--h1:#111118;--h2:#111118;--h3:#111118;--h4:#111118;--h5:#111118;--h6:#111118;--lavender:#c7b3ff;--mint:#8ff0b8;--peach:#ffc48a;--sky:#8fe3ff;--pink:#ff9dbd;--butter:#ffe14d;--star:#111118;--outline:#111118;--shadow:4px 4px 0 #4dd8ff;--shadow-lift:7px 7px 0 #ff6b9d;--glow:4px 4px 0 #111118;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif}:root[data-theme=arcade][data-mode=dark]{--bg:#111118;--surface:#1b1b26;--surface-2:#26263a;--text:#f5f5f0;--muted:#b4b4c8;--border:#f5f5f0;--border-strong:#f5f5f0;--accent:#ffe14d;--accent-hover:#fff07a;--accent-2:#ffe14d;--accent-text:#111118;--accent-soft:#33334d;--focus:#4dd8ff;--h1:#b388ff;--h2:#5cf2a0;--h3:#ffa94d;--h4:#4dd8ff;--h5:#ff6b9d;--h6:#ffe14d;--lavender:color-mix(in srgb, var(--h1) 26%, var(--surface));--mint:color-mix(in srgb, var(--h2) 24%, var(--surface));--peach:color-mix(in srgb, var(--h3) 24%, var(--surface));--sky:color-mix(in srgb, var(--h4) 24%, var(--surface));--pink:color-mix(in srgb, var(--h5) 24%, var(--surface));--butter:color-mix(in srgb, var(--h6) 22%, var(--surface));--star:#ffe14d;--outline:#f5f5f0;--glow:4px 4px 0 #f5f5f0}:root[data-theme=pixel]{--bg:#f4ecd8;--surface:#fffaf0;--surface-2:#ece0c4;--text:#2b1d0e;--muted:#5e4a34;--border:#2b1d0e;--border-strong:#2b1d0e;--accent:#3f8a24;--accent-hover:#327219;--accent-2:#3f8a24;--accent-text:#fff;--accent-soft:#b6e39a;--h1:#2b1d0e;--h2:#2b1d0e;--h3:#2b1d0e;--h4:#2b1d0e;--h5:#2b1d0e;--h6:#2b1d0e;--lavender:#cfcfcf;--mint:#b6e39a;--peach:#d9b38c;--sky:#a9d8ff;--pink:#ff9d94;--butter:#ffd94d;--star:#2b1d0e;--outline:#2b1d0e;--shadow:4px 4px 0 #2b1d0e;--shadow-lift:7px 7px 0 #2b1d0e;--glow:4px 4px 0 #2b1d0e;--font:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}:root[data-theme=brutalist][data-mode=dark]{--bg:#161616;--surface:#232323;--surface-2:#303030;--text:#fffdf5;--muted:#c9c6b8;--border:#fffdf5;--border-strong:#fffdf5;--accent:#fd0;--accent-hover:#ffe84d;--accent-2:#fd0;--accent-text:#161616;--accent-soft:#3d3d3d;--h1:#8b8fff;--h2:#4fd6a0;--h3:#ff9a5c;--h4:#6cc3ff;--h5:#ff6b6b;--h6:#fd0;--lavender:color-mix(in srgb, var(--h1) 26%, var(--surface));--mint:color-mix(in srgb, var(--h2) 24%, var(--surface));--peach:color-mix(in srgb, var(--h3) 24%, var(--surface));--sky:color-mix(in srgb, var(--h4) 24%, var(--surface));--pink:color-mix(in srgb, var(--h5) 24%, var(--surface));--butter:color-mix(in srgb, var(--h6) 22%, var(--surface));--danger:#ff8a8a;--danger-soft:#4a2020;--star:#fd0;--outline:#fffdf5;--shadow:4px 4px 0 #fd0;--shadow-lift:7px 7px 0 #ff6b6b;--glow:4px 4px 0 #fffdf5}:root[data-theme=pixel][data-mode=dark]{--bg:#1a2238;--surface:#26304d;--surface-2:#313c5e;--text:#f4ecd8;--muted:#b8b09a;--border:#f4ecd8;--border-strong:#f4ecd8;--accent:#6fbf3f;--accent-hover:#86d455;--accent-2:#6fbf3f;--accent-text:#10200a;--accent-soft:#2f4a2a;--h1:#b0b0c0;--h2:#6fbf3f;--h3:#c98d5a;--h4:#7ec8ff;--h5:#ff8a80;--h6:#ffd94d;--lavender:color-mix(in srgb, var(--h1) 26%, var(--surface));--mint:color-mix(in srgb, var(--h2) 24%, var(--surface));--peach:color-mix(in srgb, var(--h3) 24%, var(--surface));--sky:color-mix(in srgb, var(--h4) 24%, var(--surface));--pink:color-mix(in srgb, var(--h5) 24%, var(--surface));--butter:color-mix(in srgb, var(--h6) 22%, var(--surface));--star:#ffd94d;--outline:#f4ecd8;--shadow:4px 4px 0 #6fbf3f;--shadow-lift:7px 7px 0 #7ec8ff;--glow:4px 4px 0 #f4ecd8}:root[data-theme=prismatic][data-mode=dark]{--bg:#15122b;--surface:#1f1b3d;--text:#f1eeff;--muted:#aaa3d0;--accent:#a78bfa;--accent-2:#f783ac;--accent-text:#15122b;--h1:#a78bfa;--h2:#38d9a9;--h3:#ffa94d;--h4:#3bc9db;--h5:#f783ac;--h6:#ffd166;--lavender:color-mix(in srgb, var(--h1) 26%, var(--surface));--mint:color-mix(in srgb, var(--h2) 24%, var(--surface));--peach:color-mix(in srgb, var(--h3) 24%, var(--surface));--sky:color-mix(in srgb, var(--h4) 24%, var(--surface));--pink:color-mix(in srgb, var(--h5) 24%, var(--surface));--butter:color-mix(in srgb, var(--h6) 22%, var(--surface));--star:#ffd166}:root:is([data-theme=brutalist],[data-theme=arcade],[data-theme=pixel]) :is(.translator,.ai,.home-history,.panel,.auth-card,.quiz-play,.quiz-langs,.quiz-progress,.topbar,.btn,.input,.quiz-card,.hist-list,.theme-list){border:2px solid var(--outline,var(--text))}:root:is([data-theme=brutalist],[data-theme=arcade],[data-theme=pixel]) :is(.btn-primary,.btn-secondary,.quiz-option,.level-btn,.chip,.swap){box-shadow:3px 3px 0 var(--outline,var(--text))}:root:is([data-theme=brutalist],[data-theme=arcade],[data-theme=pixel]) :is(.btn-primary,.btn-secondary,.quiz-option,.level-btn,.chip,.swap):hover:not(:disabled,[aria-disabled]){box-shadow:4px 4px 0 var(--outline,var(--text));filter:none;transform:translate(-1px,-1px)}:root:is([data-theme=brutalist],[data-theme=arcade],[data-theme=pixel]) :is(.btn-primary,.btn-secondary,.quiz-option,.level-btn,.chip,.swap):active:not(:disabled,[aria-disabled]){box-shadow:0 0 0 var(--outline,var(--text));transform:translate(3px,3px)}:root:is([data-theme=arcade],[data-theme=pixel]) :is(*):not(.spinner,.theme-swatch){border-radius:0!important}:root:is([data-theme=arcade],[data-theme=pixel]) body:before{opacity:.5;background:linear-gradient(color-mix(in srgb, var(--text) 9%, transparent) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, color-mix(in srgb, var(--text) 9%, transparent) 1px, transparent 1px) 0 0 / 28px 28px;animation:none;inset:0}:root:is([data-theme=brutalist],[data-theme=arcade],[data-theme=pixel])[data-mode=dark] :is(.pane-target,.quiz-progress,.quiz-prompt){background:var(--surface-2)}:root[data-theme=pixel] :is(.page-title,.quiz-card-title,.section-title,.panel-title,.brand){text-transform:uppercase;letter-spacing:.02em}.theme-switching,.theme-switching *,.theme-switching :before{transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease)!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38% 32% at 18% 22%, var(--pink) 0%, transparent 70%), radial-gradient(34% 30% at 82% 14%, var(--sky) 0%, transparent 70%), radial-gradient(40% 34% at 76% 82%, var(--lavender) 0%, transparent 70%), radial-gradient(34% 30% at 16% 86%, var(--mint) 0%, transparent 70%), radial-gradient(28% 24% at 50% 50%, var(--butter) 0%, transparent 72%);opacity:.85;animation:40s ease-in-out infinite alternate drift;position:fixed;inset:-20%}@keyframes drift{to{transform:translate(3%,-2%)rotate(4deg)scale(1.05)}}h1,h2,h3,h4,p,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);transition:color .2s var(--ease)}a:hover{color:var(--accent-hover)}::selection{background:var(--pink);color:var(--text)}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 55%, transparent);outline-offset:2px;border-radius:8px}[tabindex="-1"]:focus,.result:focus-visible,.main:focus-visible{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);border-radius:var(--radius-sm);border:2px solid var(--focus);transition:top .2s var(--ease);padding:8px 14px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.muted{color:var(--muted)}.small{font-size:.875rem}.strong{font-weight:600}.text-error{color:var(--danger)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-end{justify-content:flex-end}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.45)rotate(-10deg)}to{transform:scale(1)}}@keyframes ripple{0%{opacity:.22;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%, -50%) scale(var(--rs,12))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes sheen{to{background-position:200% 0}}.topbar{background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);border:1px solid var(--border);width:min(1460px,100% - 24px);box-shadow:var(--shadow);z-index:20;animation:fade-in .4s var(--ease);border-radius:999px;align-items:center;gap:16px;margin:12px auto 0;padding:8px 10px 8px 16px;display:flex;position:sticky;top:12px}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{transition:transform .45s var(--spring);border-radius:9px}.brand:hover{color:var(--text)}.brand:hover img{transform:rotate(-8deg)scale(1.08)}.topnav{align-items:center;gap:4px;margin-inline-end:auto;display:flex}.topnav a:not(.btn){color:var(--muted);transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--spring);border-radius:999px;padding:7px 14px;font-weight:600;text-decoration:none}.topnav a:not(.btn):hover{background:var(--surface-2);color:var(--text)}.topnav a:not(.btn):active{transform:scale(.95)}.topnav a[aria-current=page]{background:var(--accent-soft);color:var(--lavender-ink)}.topnav-icon{display:none}.public .topnav{margin-inline:auto 0}a.user-chip{transition:background .2s var(--ease);border-radius:999px;padding:3px 10px 3px 3px;text-decoration:none}a.user-chip:hover,a.user-chip[aria-current=page]{background:var(--accent-soft)}.topbar-user{align-items:center;gap:6px;display:flex}.user-chip{align-items:center;gap:8px;min-width:0;display:inline-flex}.avatar{background:linear-gradient(135deg, var(--pink), var(--lavender) 55%, var(--sky));width:32px;height:32px;color:var(--lavender-ink);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--muted);overflow:hidden}.main{max-width:1500px;margin:0 auto;padding:24px 20px 48px}.main-narrow{max-width:580px;padding-top:44px}.main>*{animation:fade-up .45s var(--ease) both}.splash{place-items:center;min-height:60vh;padding:24px;display:grid}.home-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:24px;display:grid}.home-history{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 108px);box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:18px;position:sticky;top:88px;overflow:auto}.tabs,.auth-tabs{background:var(--surface-2);border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.tabs{margin-bottom:16px}.tabs:before,.auth-tabs:before{content:"";background:var(--surface);width:calc(50% - 4px);box-shadow:var(--shadow);transition:transform .4s var(--spring);border-radius:999px;position:absolute;inset-block:4px;inset-inline-start:4px}.tabs:has(.tab:last-child[aria-selected=true]):before{transform:translate(100%)}.auth-tabs:has(a:last-child[aria-current=page]):before{transform:translate(100%)}.tab,.auth-tabs a{cursor:pointer;color:var(--muted);text-align:center;min-height:44px;transition:color .25s var(--ease);background:0 0;border:0;border-radius:999px;place-items:center;padding:9px 12px;font-weight:700;text-decoration:none;display:grid;position:relative;overflow:hidden}.tab[aria-selected=true],.auth-tabs a[aria-current=page]{color:var(--text)}[role=tabpanel]:not([hidden]){animation:fade-up .35s var(--ease)}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;min-height:44px;transition:transform .25s var(--spring), background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), box-shadow .25s var(--ease), opacity .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transition-duration:80ms;transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:after,.tab:after,.seg-btn:after,.letter:after,.hist-main:after,.hist-group-toggle:after{content:"";left:var(--rx,50%);top:var(--ry,50%);opacity:0;pointer-events:none;background:currentColor;border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)scale(0)}.is-rippling:after{animation:ripple .6s var(--ease)}.btn-sm{min-height:36px;padding:0 14px;font-size:.9rem}.btn-primary{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--accent-2)));color:var(--accent-text);box-shadow:var(--glow)}.btn-primary:hover:not(:disabled){color:var(--accent-text);box-shadow:var(--glow), 0 2px 0 #ffffff40 inset;filter:saturate(1.1)brightness(1.04)}.btn-primary:disabled{box-shadow:none}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent);color:var(--text)}.btn-ghost{color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:var(--surface)}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover:not(:disabled){background:var(--danger-soft)}.btn-toggle{border-color:var(--border-strong);background:var(--surface)}.btn-toggle:hover:not(:disabled){border-color:var(--star)}.btn-toggle[aria-pressed=true]{background:var(--star-soft);border-color:var(--star);color:var(--butter-ink)}.btn-ghost[aria-pressed=true]{color:var(--star);background:var(--star-soft)}.btn-icon{border-color:var(--border);min-width:44px;padding:0}.btn-icon.btn-sm{min-width:36px}.btn-icon[aria-pressed=true]{color:var(--star)}[aria-pressed=true]>span[aria-hidden=true]:first-child{animation:pop .45s var(--spring);display:inline-block}.btn-copy.is-done{color:var(--mint-ink);background:var(--mint)}.btn-copy.is-done>span{animation:pop .45s var(--spring);display:inline-block}.btn-block{width:100%}.swap{background:var(--surface);border:1px solid var(--border-strong);color:var(--lavender-ink);box-shadow:var(--shadow);align-self:end;font-size:1.2rem}.swap:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.swap-glyph{transition:transform .5s var(--spring);display:inline-block}.kbd{font:inherit;white-space:nowrap;background:#ffffff38;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.input{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);width:100%;min-height:44px;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), background .2s var(--ease);padding:8px 14px}.input:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--accent) 50%, var(--border-strong))}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.input::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.input:disabled{opacity:.6}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 18%, transparent)}.textarea{font-family:var(--font-text);resize:vertical;min-height:190px;padding:14px;font-size:1.3rem;line-height:1.45}.textarea-sm{resize:vertical;min-height:64px}.select-sm{cursor:pointer;border-radius:999px;width:auto;min-height:36px;padding:4px 10px}.field-label,.pane-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.75rem;font-weight:800;display:block}.inline-label{color:var(--muted);font-size:.875rem}.check{align-items:center;gap:10px;display:flex}.check input{appearance:none;background:var(--border-strong);cursor:pointer;width:42px;height:24px;transition:background .25s var(--ease);border-radius:999px;flex:none;margin:0;position:relative}.check input:before{content:"";width:18px;height:18px;transition:transform .35s var(--spring), width .2s var(--ease);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.check input:checked{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--accent-2)))}.check input:checked:before{transform:translate(18px)}.check input:active:not(:disabled):before{width:22px}.check input:checked:active:not(:disabled):before{transform:translate(14px)}.check input:disabled{opacity:.55;cursor:not-allowed}.check label{cursor:pointer;font-size:.925rem}.spinner{border:2px solid;vertical-align:-.15em;border-inline-end-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite spin;display:inline-block}.combo{min-width:0;position:relative}.combo-box{position:relative}.combo-box .input{cursor:pointer;border-radius:999px;padding-inline-end:34px;font-weight:700}.combo-box .input:focus{cursor:text}.combo-chevron{inset-inline-end:14px;pointer-events:none;color:var(--muted);transition:transform .3s var(--spring);position:absolute;top:50%;transform:translateY(-50%)}.combo-box:has([aria-expanded=true]) .combo-chevron{transform:translateY(-50%)rotate(180deg)}.combo-list{z-index:30;inset-inline:0;background:var(--surface);border:1px solid var(--border-strong);max-height:320px;box-shadow:var(--shadow-lift);transform-origin:top;min-width:220px;animation:pop-in .22s var(--spring);scrollbar-width:thin;border-radius:18px;padding:6px;position:absolute;top:calc(100% + 6px);overflow:auto}.combo-option{cursor:pointer;transition:background .12s var(--ease), padding .2s var(--ease);border-radius:12px;align-items:center;gap:8px;padding:9px 12px;display:flex}.combo-option.is-active{background:var(--accent-soft);padding-inline-start:16px}.combo-option.is-selected{color:var(--lavender-ink);font-weight:800}.combo-check{order:2;margin-inline-start:auto}.combo-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.combo-secondary,.combo-empty{color:var(--muted);font-size:.85rem;font-weight:400}.combo-secondary{margin-inline-start:auto}.combo-empty{padding:10px}.combo-inline{align-items:center;gap:8px;min-width:220px;display:flex}.combo-inline .field-label{white-space:nowrap;margin:0}.combo-inline .combo-box{flex:1}.workspace{gap:20px;min-width:0;display:grid}.translator{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);transition:box-shadow .3s var(--ease)}.translator:focus-within{box-shadow:var(--shadow-lift)}.lang-bar{border:0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;min-width:0;margin:0;padding:16px 18px;display:grid}.lang-side{min-width:0}.lang-hint{animation:fade-up .25s var(--ease);padding:10px 18px 0}.panes{grid-template-columns:1fr 1fr;display:grid}.pane{flex-direction:column;gap:12px;min-width:0;padding:18px;display:flex}.pane-target{background:linear-gradient(160deg, var(--lavender), var(--pink) 60%, var(--peach));border-inline-start:1px solid var(--border);border-end-end-radius:calc(var(--radius) + 3px)}.source-field{flex:1;display:flex;position:relative}.pane-source .textarea{box-shadow:none;background:0 0;border-color:#0000;border-radius:8px;flex:1;padding:4px 40px 4px 2px}.pane-source .textarea:hover:not(:disabled):not(:focus),.pane-source .textarea:focus{box-shadow:none;border-color:#0000}.clear-text{top:0;color:var(--muted);animation:pop-in .25s var(--spring);border-color:#0000;position:absolute;inset-inline-end:0}.clear-text:hover:not(:disabled){background:var(--surface-2);color:var(--text);transform:rotate(90deg)}.pane-foot{border-top:1px dashed var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.btn-translate{width:100%;min-height:50px;font-size:1.05rem}.btn-translate[aria-busy=true]{opacity:1;background:linear-gradient(100deg, transparent 30%, #ffffff59 50%, transparent 70%) 0 0 / 200% 100%, linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--accent-2)));animation:1.3s linear infinite sheen}.counter{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.placeholder{text-align:center;min-height:190px;color:var(--muted);animation:fade-in .3s var(--ease);flex:1;place-content:center;justify-items:center;gap:10px;display:grid}.placeholder .spinner{color:var(--accent);font-size:1.6rem}.placeholder-idle{text-align:start;place-content:start;justify-items:start}.result{animation:fade-up .4s var(--ease);gap:14px;display:grid}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.result-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.result-head .pane-title{margin:0}.result-actions{gap:2px;margin-inline-end:-8px;display:flex}.btn-pronounce{white-space:nowrap}.pane-foot .btn-pronounce{margin-inline-start:auto}.pane-target .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 65%, transparent)}.translation{font-family:var(--font-text);overflow-wrap:anywhere;white-space:pre-wrap;font-size:1.6rem;line-height:1.35}.badges{flex-wrap:wrap;gap:6px;display:inline-flex}.badge{letter-spacing:.02em;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:800;display:inline-block}.badge-idiom{background:var(--idiom-soft);color:var(--idiom)}.badge-phrase{background:var(--phrase-soft);color:var(--phrase)}.badge-plain{background:var(--butter);color:var(--butter-ink)}.fields{gap:12px;display:grid}.fields-compact{gap:10px}.field dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.72rem;font-weight:800}.field dd{overflow-wrap:anywhere;white-space:pre-wrap}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips li{background:var(--surface);border:1px solid var(--border);transition:transform .25s var(--spring);border-radius:999px;padding:3px 12px}.chips li:hover{transform:translateY(-2px)}.pane-target .chips li{background:color-mix(in srgb, var(--surface) 70%, transparent);border-color:#0000}.bullets{gap:2px;padding-inline-start:20px;list-style:outside;display:grid}.card-extras{animation:fade-up .45s var(--ease) 80ms both;gap:20px;display:grid}.notes{background:var(--butter);border-radius:var(--radius);gap:8px;padding:16px 18px;display:grid}.notes .field-label{color:var(--butter-ink);margin:0}.notes .input{background:color-mix(in srgb, var(--surface) 70%, transparent);border-color:#0000}.notes .input:focus{border-color:var(--star);box-shadow:0 0 0 4px color-mix(in srgb, var(--star) 20%, transparent);background:var(--surface)}.ai{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:18px;display:grid}.ai-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title{font-size:1.1rem;font-weight:800}.hint{color:var(--muted);font-size:.9rem}.ai-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}[data-feature]{--tint:var(--lavender);--ink:var(--lavender-ink)}[data-feature=examples]{--tint:var(--mint);--ink:var(--mint-ink)}[data-feature=colloquial]{--tint:var(--peach);--ink:var(--peach-ink)}[data-feature=word_details]{--tint:var(--sky);--ink:var(--sky-ink)}.btn-action{background:var(--tint);min-height:84px;color:var(--ink);text-align:center;border:1.5px solid #0000;border-radius:18px;flex-direction:column;gap:2px;padding:10px}.btn-action:before{transition:transform .35s var(--spring);font-size:1.3rem;line-height:1.35}.btn-action[data-feature=examples]:before{content:"💬" / ""}.btn-action[data-feature=colloquial]:before{content:"☕" / ""}.btn-action[data-feature=phrase]:before{content:"🧩" / ""}.btn-action[data-feature=word_details]:before{content:"🔎" / ""}.btn-action:hover:not(:disabled){box-shadow:0 10px 22px color-mix(in srgb, var(--ink) 18%, transparent);transform:translateY(-3px)}.btn-action:hover:not(:disabled):before{transform:scale(1.2)rotate(-8deg)}.btn-action.is-saved{border-color:color-mix(in srgb, var(--ink) 45%, transparent)}.btn-action[aria-busy=true]{opacity:1;background:linear-gradient(100deg, transparent 30%, #ffffff8c 50%, transparent 70%) 0 0 / 200% 100%, var(--tint);animation:1.3s linear infinite sheen}.btn-state{opacity:.8;min-height:1em;font-size:.75rem;font-weight:600}.ai-result{border-inline-start:4px solid var(--tint);background:color-mix(in srgb, var(--tint) 35%, transparent);animation:fade-up .4s var(--ease);border-radius:6px 18px 18px 6px;gap:10px;padding:14px 16px;display:grid}.ai-result h3{color:var(--ink);font-size:1rem;font-weight:800}.ai-result .badges{margin-bottom:8px}.loading{color:var(--muted);align-items:center;gap:8px;display:flex}.examples{counter-reset:ex;gap:12px;display:grid}.example{border-inline-start:3px solid var(--ink,var(--accent));grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding-inline-start:14px;display:grid}.example>p{grid-column:1}.example .save-btn{grid-area:1/2/span 2;align-self:start}.example-src{font-family:var(--font-text);font-size:1.1rem}.example-tr{font-family:var(--font-text);color:var(--muted);font-size:1.1rem}.example-note{color:var(--muted);font-size:.875rem;font-style:italic}.notice{border-radius:var(--radius-sm);animation:fade-up .3s var(--ease);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.notice-error{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent)}.notice-info{background:var(--info-soft);border:1px solid color-mix(in srgb, var(--sky-ink) 25%, transparent)}.notice-success{background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 35%, transparent);margin-bottom:16px}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);max-width:min(440px,100vw - 32px);padding:0;box-shadow:0 24px 64px #3c286e59}.dialog[open]{animation:dialog-in .3s var(--spring)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.94)}}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .25s var(--ease);background:#2b274066}.dialog-body{gap:12px;padding:22px;display:grid}.dialog-title{font-size:1.2rem;font-weight:800}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.panel-title{margin-bottom:12px;font-size:1.25rem;font-weight:800}.hist-controls{gap:10px;display:grid}.search{position:relative}.search:before{content:"⌕" / "";inset-inline-start:14px;color:var(--muted);pointer-events:none;font-size:1.25rem;position:absolute;top:50%;transform:translateY(-52%)}.search .input{background:var(--surface-2);border-color:#0000;border-radius:999px;padding-inline-start:40px}.search .input:focus{background:var(--surface);border-color:var(--accent)}.hist-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{background:var(--surface-2);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.seg-btn{color:var(--muted);cursor:pointer;min-height:32px;transition:background .25s var(--ease), color .2s var(--ease), transform .25s var(--spring), box-shadow .25s var(--ease);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:.85rem;font-weight:700;position:relative;overflow:hidden}.seg-btn:hover{color:var(--text)}.seg-btn:active{transform:scale(.94)}.seg-btn[aria-pressed=true]{background:var(--surface);color:var(--lavender-ink);box-shadow:var(--shadow)}.letters{animation:fade-up .3s var(--ease);flex-wrap:wrap;gap:4px;display:flex}.letter{background:var(--surface-2);cursor:pointer;min-width:32px;min-height:32px;transition:background .2s var(--ease), color .2s var(--ease), transform .25s var(--spring);border:1px solid #0000;border-radius:10px;padding:0 6px;font-weight:700;position:relative;overflow:hidden}.letter:hover{background:var(--accent-soft);transform:translateY(-2px)}.letter:active{transform:scale(.9)}.letter[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.letters-note{flex-basis:100%}.more-filters{background:var(--surface-2);border-radius:var(--radius-sm);animation:fade-up .3s var(--ease);gap:10px;padding:12px;display:grid}.hist-status{min-height:1.3em;margin:10px 2px 8px}.hist-groups{transition:opacity .25s var(--ease);gap:14px;display:grid}.hist-list-wrap[data-refreshing] .hist-groups{opacity:.55}.hist-group{animation:fade-up .35s var(--ease) both;gap:6px;display:grid}.hist-group-toggle{width:100%;min-height:32px;color:var(--muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;text-align:start;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:2px 6px;font-size:.78rem;font-weight:800;display:flex;position:relative;overflow:hidden}.hist-group-toggle:hover{background:var(--surface-2);color:var(--text)}.hist-group-label{flex:1;min-width:0}.hist-count{background:var(--surface-2);min-width:26px;color:var(--muted);letter-spacing:0;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px;font-size:.75rem}.chevron{border-inline-end:2px solid;width:7px;height:7px;transition:transform .25s var(--ease);border-bottom:2px solid;flex:none;transform:rotate(-45deg)}[dir=rtl] .chevron{transform:rotate(135deg)}[aria-expanded=true]>.chevron{transform:translateY(-2px)rotate(45deg)}.hist-list{border:1px solid var(--border);background:var(--surface);border-radius:16px;display:grid;overflow:hidden}.hist-item{transition:background .2s var(--ease);position:relative}.hist-item+.hist-item{border-top:1px solid var(--border)}.hist-item:hover:not(.skeleton),.hist-item.is-open{background:color-mix(in srgb, var(--surface-2) 60%, var(--surface))}.hist-item.is-selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.hist-line{align-items:center;display:flex}.hist-main{text-align:start;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:12px;min-width:0;min-height:44px;padding:9px 4px 9px 14px;display:grid;position:relative;overflow:hidden}.hist-src,.hist-tr{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hist-src{font-weight:700}.hist-tr{color:var(--muted)}.hist-item.is-open :is(.hist-src,.hist-tr){white-space:normal;overflow-wrap:anywhere}.hist-actions{flex:none;align-self:flex-start;padding:4px 6px 4px 0;display:flex}:root .hist-item .hist-actions .btn{color:var(--muted);border-color:#0000}:root .hist-item .hist-actions .btn[aria-pressed=true],.hist-actions .btn[aria-pressed=true]{color:var(--star)}.hist-actions .btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.hist-actions .btn[aria-pressed]:hover:not(:disabled){background:var(--star-soft);color:var(--star)}.hist-details{animation:fade-up .25s var(--ease);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:0 8px 8px 14px;display:flex}.hist-phonetic{color:var(--muted);font-size:.85rem}.hist-meta{min-width:0;color:var(--muted);flex-wrap:wrap;flex:1;align-items:center;gap:4px 10px;font-size:.78rem;display:flex}.hist-delete{min-height:30px;color:var(--muted);flex:none;padding:0 10px;font-size:.8rem}.hist-delete:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.save-btn{background:var(--surface);color:var(--muted);flex:none}.save-btn:hover:not(:disabled){background:var(--star-soft);color:var(--star)}.save-btn[aria-pressed=true]{border-color:color-mix(in srgb, var(--star) 55%, transparent);background:var(--star-soft);color:var(--star)}.save-btn[aria-busy=true]{opacity:.6}.save-btn svg{display:block}.toast{z-index:60;top:calc(76px + env(safe-area-inset-top));border:1px solid var(--outline,transparent);background:var(--text);width:fit-content;color:var(--bg);box-shadow:var(--shadow-lift);pointer-events:none;animation:toast-in .35s var(--spring);border-radius:999px;margin-inline:auto;padding:10px 18px;font-size:.92rem;font-weight:700;position:fixed;inset-inline:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.94)}}.skeleton{background:linear-gradient(90deg, var(--lavender), var(--pink), var(--sky), var(--lavender));opacity:.6;background-size:200% 100%;border-color:#0000;height:44px;animation:1.6s linear infinite shimmer}.empty{text-align:center;animation:fade-up .35s var(--ease);justify-items:center;gap:8px;padding:32px 12px;display:grid}.empty:before{content:"🌱" / "";font-size:2rem}.load-more{width:100%;margin-top:12px}.auth-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);gap:16px;padding:28px;display:grid}.auth-title,.page-title{letter-spacing:-.01em;font-size:1.7rem;font-weight:800}.form{gap:14px;display:grid}.form-field{gap:2px;display:grid}.password-wrap{position:relative}.password-wrap .input{padding-inline-end:72px}.password-toggle{inset-inline-end:4px;min-height:36px;position:absolute;top:4px}.password-toggle:hover:not(:disabled),.password-toggle:active:not(:disabled){transform:none}.auth-footer{text-align:center}.hero{gap:22px;padding:16px 0;display:grid}.hero>*{animation:fade-up .5s var(--ease) both}.hero>:nth-child(2){animation-delay:60ms}.hero>:nth-child(3){animation-delay:.12s}.hero>:nth-child(4){animation-delay:.18s}.hero-title{letter-spacing:-.02em;background:linear-gradient(120deg, var(--lavender-ink), var(--pink-ink) 55%, var(--peach-ink));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,6vw,2.9rem);font-weight:800;line-height:1.12}.hero-lead{color:var(--muted);font-size:1.1rem}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.hero-points{gap:10px;display:grid}.hero-points li{background:var(--lavender);color:var(--text);transition:transform .3s var(--spring);border-radius:18px;padding:14px 18px}.hero-points li:nth-child(2){background:var(--mint)}.hero-points li:nth-child(3){background:var(--peach)}.hero-points li:hover{transform:translate(6px)}.profile{gap:20px;max-width:640px;margin:0 auto;display:grid}.quiz{gap:22px;max-width:1180px;margin:0 auto;display:grid}.quiz-browser{gap:22px;display:grid}.quiz-head{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:end;gap:20px;display:grid}.quiz-head .muted{margin-top:4px}.quiz-langs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.quiz-progress{border-radius:var(--radius);background:linear-gradient(120deg, var(--lavender), var(--pink) 55%, var(--peach));animation:fade-up .4s var(--ease) both;grid-template-columns:repeat(3,auto) minmax(120px,1fr);align-items:center;gap:12px 28px;padding:16px 22px;display:grid}.quiz-stat{display:grid}.quiz-stat-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1.1}.quiz-stat-of{color:var(--muted);font-size:1rem;font-weight:700}.quiz-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.meter{background:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:999px;height:12px;overflow:hidden}.meter>span{background:linear-gradient(90deg, var(--accent), var(--accent-2));min-width:0;height:100%;transition:width .6s var(--spring);border-radius:999px;display:block}.quiz-filters{gap:12px;display:grid}.chip-row{flex-wrap:wrap;gap:8px;display:flex}[data-category]{--tint:var(--lavender);--ink:var(--lavender-ink)}[data-category=places]{--tint:var(--sky);--ink:var(--sky-ink)}[data-category=nouns]{--tint:var(--mint);--ink:var(--mint-ink)}[data-category=verbs]{--tint:var(--peach);--ink:var(--peach-ink)}[data-category=adjectives]{--tint:var(--pink);--ink:var(--pink-ink)}[data-category=numbers-time]{--tint:var(--butter);--ink:var(--butter-ink)}.chip{background:var(--surface);border-color:var(--border-strong);color:var(--muted)}.chip:hover:not(:disabled){border-color:var(--ink,var(--accent));color:var(--text)}.chip[aria-pressed=true]{background:var(--tint,var(--accent-soft));border-color:var(--ink,var(--accent));color:var(--ink,var(--lavender-ink))}.quiz-group{gap:12px;display:grid}.quiz-group-title{align-items:center;gap:8px;font-size:1.15rem;font-weight:800;display:flex}.quiz-group-count{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.quiz-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;display:grid}.quiz-grid>li{animation:fade-up .4s var(--ease) both;display:grid}.quiz-grid>li:nth-child(2){animation-delay:30ms}.quiz-grid>li:nth-child(3){animation-delay:60ms}.quiz-grid>li:nth-child(4){animation-delay:90ms}.quiz-grid>li:nth-child(n+5){animation-delay:.12s}.quiz-card{transition:transform .25s var(--spring), box-shadow .25s var(--ease);border-radius:var(--radius);background:var(--tint);min-height:150px;color:var(--text);text-align:start;white-space:normal;border:1.5px solid #0000;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.quiz-card.skeleton{height:auto;min-height:150px}.quiz-card:hover:not(.skeleton){box-shadow:0 14px 28px color-mix(in srgb, var(--ink) 20%, transparent);transform:translateY(-4px)}.quiz-card.is-done{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.quiz-card-top{justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;display:flex}.quiz-card-emoji{transition:transform .4s var(--spring);font-size:2rem;line-height:1.2}.quiz-card:hover .quiz-card-emoji{transform:scale(1.2)rotate(-8deg)}.quiz-card-score{justify-items:end;gap:2px;display:grid}.quiz-card-best{color:var(--ink);background:color-mix(in srgb, var(--surface) 75%, transparent);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:800}.quiz-card-new{background:color-mix(in srgb, var(--surface) 75%, transparent);color:var(--ink)}.quiz-card-title{color:var(--ink);font-size:1.05rem;font-weight:800}.quiz-card-desc{font-size:.9rem;font-weight:500;line-height:1.35}.quiz-card-meta{color:var(--muted);margin-top:auto;padding-top:8px;font-size:.78rem;font-weight:700}.stars{gap:1px;font-size:1rem;line-height:1;display:inline-flex}.star{color:color-mix(in srgb, var(--muted) 35%, transparent)}.star.is-on{color:var(--star)}.quiz-empty .btn{margin-top:8px}.quiz-play{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);max-width:640px;box-shadow:var(--shadow-lift);gap:18px;margin:0 auto;padding:22px;display:grid}.quiz-play-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.quiz-play-title{text-align:center;font-size:1.05rem;font-weight:800}.quiz-play-score{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:800;display:flex}.quiz-points{background:var(--star-soft);color:var(--butter-ink);animation:pop .45s var(--spring);border-radius:999px;padding:4px 12px;display:inline-block}.quiz-streak{background:var(--peach);color:var(--peach-ink);animation:pop-in .3s var(--spring);border-radius:999px;padding:4px 10px}.quiz-question{animation:quiz-slide .4s var(--ease);gap:10px;display:grid}@keyframes quiz-slide{0%{opacity:0;transform:translate(24px)}}.quiz-question .pane-title{margin:0}.quiz-prompt{font-family:var(--font-text);text-align:center;border-radius:var(--radius);background:linear-gradient(140deg, var(--lavender), var(--sky));overflow-wrap:anywhere;padding:26px 18px;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.2}.quiz-prompt.is-sentence{font-size:clamp(1.25rem,4vw,1.6rem)}.quiz-options{gap:10px;margin-top:6px;display:grid}.quiz-option{border:1.5px solid var(--border-strong);background:var(--surface);text-align:start;white-space:normal;border-radius:18px;justify-content:flex-start;gap:12px;width:100%;min-height:58px;padding:10px 16px;font-size:1.15rem}.quiz-option:hover:not([aria-disabled]){border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.quiz-option[aria-disabled]{cursor:default}.quiz-option[aria-disabled]:hover,.quiz-option[aria-disabled]:active{transform:none}.quiz-key{background:var(--surface-2);width:28px;height:28px;color:var(--muted);font:inherit;border-radius:9px;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.quiz-mark{margin-inline-start:auto;font-weight:800}.quiz-option.is-correct{border-color:var(--mint-ink);background:var(--mint);color:var(--mint-ink);animation:quiz-yes .5s var(--spring)}.quiz-option.is-wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);animation:quiz-no .4s var(--ease)}.quiz-option.is-dim{opacity:.5}@keyframes quiz-yes{40%{transform:scale(1.04)}}@keyframes quiz-no{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.quiz-feedback{animation:fade-up .3s var(--ease);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px 12px 16px;display:flex}.quiz-feedback.is-correct{background:var(--mint);color:var(--mint-ink)}.quiz-feedback.is-wrong{background:var(--danger-soft);color:var(--danger)}.quiz-feedback .small{color:var(--text);margin-top:2px}.quiz-feedback .btn{flex:none}.quiz-feedback-actions{flex:none;align-items:center;gap:8px;display:flex}.quiz-result{text-align:center;justify-items:center;gap:12px;padding-block:34px;position:relative;overflow:hidden}.quiz-result-emoji{animation:pop .7s var(--spring);font-size:3.4rem;line-height:1}.quiz-result-score{color:var(--muted);font-size:1.4rem;font-weight:800}.quiz-result-points{color:#0000;background:linear-gradient(120deg, var(--lavender-ink), var(--pink-ink));-webkit-background-clip:text;background-clip:text;font-size:3.4rem}.quiz-result .stars{gap:6px;font-size:2.2rem}.quiz-result .star.is-on{animation:pop .6s var(--spring) both}.quiz-result .star.is-on:nth-child(2){animation-delay:.15s}.quiz-result .star.is-on:nth-child(3){animation-delay:.3s}.quiz-result-status{min-height:2em}.quiz-new-best{background:var(--star-soft);color:var(--butter-ink);animation:pop .6s var(--spring) .4s both;padding:6px 16px;font-size:.95rem}.quiz-review{text-align:start;gap:8px;width:100%;display:grid}.quiz-review ul{gap:6px;display:grid}.quiz-review li{background:var(--surface-2);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:8px 12px;display:grid}.quiz-review li.has-save{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center}.quiz-review-answer{color:var(--mint-ink);font-weight:800}.quiz-review-wrong{color:var(--danger);text-decoration:line-through}.quiz-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{animation:confetti 2.4s var(--ease) both;font-size:1.3rem;position:absolute;top:-2em}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420px)rotate(260deg)}}@media (width<=820px){.quiz-head{grid-template-columns:1fr}.quiz-progress{grid-template-columns:repeat(3,1fr);padding:14px 16px}.quiz-progress .meter{grid-column:1/-1}}@media (width<=520px){.topbar .btn{white-space:nowrap}.topnav a:not(.btn){padding:7px 9px}.quiz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quiz-card{min-height:140px;padding:12px}.quiz-play{padding:16px 14px}.quiz-feedback{flex-direction:column;align-items:stretch}.quiz-feedback-actions .btn-primary{flex:1}.quiz-review li,.quiz-review li.has-save{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.quiz-review li>:not(.save-btn){grid-column:1}.quiz-review li .save-btn{grid-area:1/2/span 3}}.level-bars{flex:none;align-items:flex-end;gap:2px;height:14px;display:inline-flex}.level-bars>span{background:color-mix(in srgb, currentColor 25%, transparent);width:4px;transition:background .25s var(--ease);border-radius:2px}.level-bars>span:first-child{height:40%}.level-bars>span:nth-child(2){height:70%}.level-bars>span:nth-child(3){height:100%}.level-bars>span.is-on{background:currentColor}.quiz-card-levels{background:color-mix(in srgb, var(--surface) 75%, transparent);color:var(--ink);align-items:center;gap:6px;display:inline-flex}.level-list{gap:6px;width:100%;margin-top:auto;padding-top:10px;display:grid}.level-btn{background:color-mix(in srgb, var(--surface) 72%, transparent);width:100%;min-height:46px;color:var(--text);text-align:start;border:1.5px solid #0000;border-radius:14px;justify-content:flex-start;gap:10px;padding:6px 12px}.level-btn .level-bars{color:var(--ink)}.level-btn:hover:not(:disabled){background:var(--surface);border-color:var(--ink);transform:translate(3px)}.level-btn.is-next{background:var(--surface);border-color:color-mix(in srgb, var(--ink) 55%, transparent)}.level-text{min-width:0;line-height:1.2;display:grid}.level-name{font-size:.92rem;font-weight:800}.level-meta{color:var(--muted);font-size:.74rem;font-weight:600}.level-score,.level-play{flex:none;justify-items:end;margin-inline-start:auto;display:grid}.level-score .stars{font-size:.8rem}.level-best{color:var(--ink);font-size:.72rem;font-weight:800}.level-play{color:var(--ink);font-size:.82rem;font-weight:800}.level-filter{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.level-filter .seg-btn{align-items:center;gap:6px;display:inline-flex}.quiz-play-level{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:.78rem;font-weight:700;display:flex}.quiz-reading{font-family:var(--font);color:var(--muted);font-size:.85rem;font-style:italic;font-weight:500;display:block}.quiz-prompt .quiz-reading{margin-top:6px;font-size:1rem}.quiz-option-text{gap:4px;min-width:0;line-height:1.5;display:grid}.quiz-option.is-correct .quiz-reading,.quiz-option.is-wrong .quiz-reading{color:inherit;opacity:.8}.view-seg{justify-self:start}.speak-btn[aria-busy=true]{opacity:.6}.mic-btn.is-listening{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);animation:pulse 1.2s var(--ease) infinite}@keyframes pulse{50%{transform:scale(1.03)}}.review{gap:18px;display:grid}.review-formats{flex-wrap:wrap;justify-self:start}.review-card{box-sizing:border-box;text-align:center;justify-items:center;width:100%;max-width:640px;margin:0 auto}.review-card .pane-title{justify-content:center;align-items:center;gap:8px;display:flex}.review-new{background:var(--butter);color:var(--butter-ink)}.review-heading{color:var(--muted);margin:0;font-size:1rem;font-weight:700}.review-meaning{margin:4px 0 0;font-size:1.35rem;font-weight:700}.review-answer{margin:2px 0 0;font-size:1.1rem}.review-grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.review-grade{background:var(--surface-2);border-color:var(--border-strong);gap:2px;padding:10px 6px;display:grid}.review-grade[data-grade=again]{background:var(--danger-soft);color:var(--danger)}.review-grade[data-grade=hard]{background:var(--peach);color:var(--peach-ink)}.review-grade[data-grade=good]{background:var(--mint);color:var(--mint-ink)}.review-grade[data-grade=easy]{background:var(--sky);color:var(--sky-ink)}.review-grade-hint{opacity:.85;font-size:.72rem;font-weight:600}.review-type{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.review-say{justify-items:center;gap:8px;display:grid}.review-card .quiz-options,.review-card .quiz-feedback{text-align:start;width:100%}.review-done{justify-items:center;gap:8px;display:grid}@media (width<=520px){.review-grades{grid-template-columns:repeat(2,minmax(0,1fr))}}.scene-maker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) minmax(280px,460px);align-items:end;gap:10px 20px;padding:16px 18px;display:grid}.scene-maker>p,.scene-maker>.notice{grid-column:1/-1;margin:0}.scene-maker-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.scene-play{gap:16px;max-width:680px;margin:0 auto;display:grid}.scene-turn{gap:14px;display:grid}.scene-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:fade-up .35s var(--ease) both;justify-items:start;gap:10px;padding:18px 20px;display:grid}.scene-card>.quiz-options,.scene-card>form,.scene-card>.transcript,.scene-card>.notice,.scene-card>.quiz-feedback-actions,.scene-card>.quiz-result-actions{width:100%}.scene-card .pane-title,.scene-card p{margin:0}.scene-title-target{font-size:1.35rem;font-weight:800}.scene-setting{font-family:var(--font-text);font-size:1.05rem;line-height:1.55}.scene-facts{gap:8px;width:100%;margin:0;display:grid}.scene-facts>div{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 14px}.scene-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.scene-facts dd{margin:2px 0 0;font-weight:600}.scene-question,.scene-task{font-size:1.1rem;font-weight:700}.scene-help{gap:6px;width:100%;display:grid}.scene-suggestion{text-align:start;background:var(--surface-2);border-color:var(--border);justify-content:stretch;justify-items:start;gap:2px;padding:10px 14px;font-weight:600;display:grid}.scene-hints{margin:0;padding-inline-start:18px}.scene-reply{gap:8px;display:grid}.scene-reply-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scene-feedback.is-achieved{border-color:var(--success);background:color-mix(in srgb, var(--success-soft) 55%, var(--surface))}.scene-feedback.is-missed{border-color:var(--danger);background:color-mix(in srgb, var(--danger-soft) 45%, var(--surface))}.scene-verdict{font-size:1.15rem;font-weight:800}.scene-model,.scene-why,.scene-words,.scene-line{justify-items:start;gap:8px;width:100%;display:grid}.scene-model{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);padding:12px 14px}.scene-reading{color:var(--muted);font-size:.9rem;font-style:italic}.scene-rule-link{white-space:nowrap;font-weight:700}.scene-summary{text-align:center;justify-items:center}.scene-summary .scene-line,.scene-summary .scene-words,.scene-summary .scene-why{text-align:start;border-radius:var(--radius-sm);background:var(--surface-2);padding:12px 14px}.transcript{gap:8px;width:100%;display:grid}.transcript-text{margin:0;font-size:1.2rem;font-weight:600;line-height:1.7}.sentence{cursor:pointer;border-radius:6px}.sentence.is-open{background:var(--accent-soft)}.word{all:unset;cursor:pointer;border-bottom:2px dotted var(--border-strong);border-radius:5px}.word:hover,.word.is-open{background:var(--butter);color:var(--butter-ink)}.word:focus-visible,.sentence-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sentence-toggle{all:unset;cursor:pointer;color:var(--muted);background:var(--surface-2);border-radius:6px;margin-inline-start:4px;padding:0 5px;font-size:.8rem}.sentence-translation{color:var(--muted);margin:2px 0 4px;font-size:.95rem;font-weight:500;display:block}.word-panel{border-radius:var(--radius-sm);background:var(--butter);color:var(--butter-ink);animation:pop-in .2s var(--spring);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 12px;display:flex}.word-panel-word{font-weight:800}.word-panel-actions{gap:4px;margin-inline-start:auto;display:inline-flex}.chat-log{gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.chat-msg{border-radius:var(--radius-sm);background:var(--surface-2);justify-items:start;gap:6px;max-width:88%;padding:10px 14px;display:grid}.chat-msg.is-learner{background:var(--accent-soft);justify-self:end}.chat-msg p{margin:0}.chat-msg .transcript-text{font-size:1.05rem}.chat-correction{border-top:1px dashed var(--border-strong);padding-top:6px}@media (width<=820px){.scene-maker{grid-template-columns:1fr}}.rule-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.rule-card{text-align:start;width:100%;height:100%;min-height:132px;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s var(--spring), box-shadow .2s var(--ease);align-content:start;gap:6px;padding:16px 18px;display:grid}.rule-card:hover:not(.skeleton){box-shadow:var(--shadow-lift);transform:translateY(-2px)}.rule-card.is-done{background:color-mix(in srgb, var(--mint) 55%, var(--surface))}.rule-card-title{font-weight:800;line-height:1.25}.rule-card-summary{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.rule-card-meta{color:var(--lavender-ink);flex-wrap:wrap;gap:4px 12px;margin-top:auto;font-size:.8rem;font-weight:700;display:flex}.rule-mastered{background:var(--mint);color:var(--mint-ink)}.weak-rules{border-radius:var(--radius);background:color-mix(in srgb, var(--peach) 60%, var(--surface));border:1px solid var(--border);gap:10px;padding:16px 18px;display:grid}.weak-rules .quiz-group-title,.weak-rules p{margin:0}.weak-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.weak-rule{border-radius:var(--radius-sm);text-align:start;background:var(--surface);border-color:var(--border-strong);justify-content:stretch;justify-items:start;gap:2px;width:100%;height:100%;padding:10px 14px;display:grid}.weak-rule-title{font-weight:800}.weak-rule-rate{color:var(--peach-ink);font-size:.8rem}.rule-view{gap:14px;max-width:760px;margin:0 auto;display:grid}.rule-view .page-title,.rule-view .quiz-play-level{margin:0}.rule-view .quiz-play-level{align-items:center;gap:8px;display:inline-flex}.rule-summary{color:var(--muted);margin:0;font-size:1.1rem}.rule-view .section-title{align-items:baseline;gap:10px;width:100%;margin:0;display:flex}.rule-score{color:var(--muted);margin-inline-start:auto;font-size:.8rem;font-weight:700}.rule-explanation p{line-height:1.6}.rule-table-wrap{width:100%;overflow-x:auto}.rule-table{border-collapse:collapse;width:100%;font-size:.95rem}.rule-table th,.rule-table td{text-align:start;border-bottom:1px solid var(--border);padding:7px 10px}.rule-table thead th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.rule-examples{gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.rule-examples li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.rule-examples li>span{gap:2px;display:grid}.rule-example-text{font-size:1.1rem;font-weight:600}.rule-focus{background:var(--butter);color:var(--butter-ink);border-radius:5px;padding:0 3px}.rule-start,.rule-quiz,.rule-drill{justify-items:start;gap:10px;width:100%;display:grid}.rule-quiz .quiz-options,.rule-quiz .quiz-feedback,.rule-drill .quiz-feedback,.rule-drill .review-type{width:100%}.rule-result{font-size:2rem;font-weight:800}.rule-drill-dots{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rule-dot{border:1px solid var(--border-strong);background:var(--surface-2);width:32px;height:32px;color:var(--muted);font:inherit;cursor:pointer;border-radius:50%;font-size:.85rem;font-weight:800}.rule-dot.is-done{background:var(--mint);color:var(--mint-ink)}.rule-dot[aria-current=step]{outline:2px solid var(--accent);outline-offset:2px}.word-marks{flex-wrap:wrap;gap:4px 6px;margin:4px 0;font-size:1.15rem;font-weight:700;display:flex}.word-mark{border-radius:6px;padding:1px 6px}.word-mark.is-ok{background:var(--success-soft);color:var(--success)}.word-mark.is-close{background:var(--butter);color:var(--butter-ink);text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.word-mark.is-missing{background:var(--danger-soft);color:var(--danger)}.learn{gap:12px;display:grid}.learn-actions{flex-wrap:wrap;gap:8px;display:flex}.learn-actions .is-saved{border-color:var(--success)}.practise-choices{gap:8px;margin:12px 0;display:grid}.practise-choice{text-align:start;background:var(--surface-2);border-color:var(--border);grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:center;gap:12px;padding:12px 14px;display:grid}.practise-choice>span:last-child{gap:2px;display:grid}.practise-icon{font-size:1.5rem}.explain{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.explain-body{gap:16px;display:grid}.explain-part{gap:8px;display:grid}.explain-part p,.explain-part .pane-title{margin:0}.align-row{flex-wrap:wrap;gap:5px;font-size:1.1rem;font-weight:600;display:flex}.align-chunk{border-radius:7px;padding:2px 8px}.align-chunk[data-tint=lavender]{background:var(--lavender);color:var(--lavender-ink)}.align-chunk[data-tint=mint]{background:var(--mint);color:var(--mint-ink)}.align-chunk[data-tint=peach]{background:var(--peach);color:var(--peach-ink)}.align-chunk[data-tint=sky]{background:var(--sky);color:var(--sky-ink)}.align-chunk[data-tint=pink]{background:var(--pink);color:var(--pink-ink)}.align-chunk[data-tint=butter]{background:var(--butter);color:var(--butter-ink)}.word-grammar{border-radius:var(--radius-sm);background:var(--butter);color:var(--butter-ink);gap:6px;margin:0;padding:10px 14px;display:grid}.word-grammar>div{grid-template-columns:130px minmax(0,1fr);gap:8px;display:grid}.word-grammar dt{letter-spacing:.05em;text-transform:uppercase;opacity:.8;font-size:.75rem;font-weight:800}.word-grammar dd{margin:0;font-weight:600}.word-grammar-other{font-weight:500;display:block}.explain-exercises{gap:14px;margin:0;padding-inline-start:20px;display:grid}.explain-exercise{gap:6px;display:grid}.explain-prompt{font-size:1.05rem}.today-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.today-placement{border-radius:var(--radius);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--butter) 70%, var(--surface));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:16px 18px;display:grid}.today-placement p{margin:0}.today-placement-actions{flex-wrap:wrap;gap:8px;display:flex}.today-placement>.notice{grid-column:1/-1}.today-session{gap:12px;display:grid}.today-session .quiz-group-title,.today-session .notice{margin:0}.today-steps,.today-path{gap:10px;margin:0;padding:0;list-style:none;display:grid}.today-steps{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.today-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.today-step.is-next{border-color:var(--accent)}.today-step.is-done{background:color-mix(in srgb, var(--mint) 55%, var(--surface))}.today-step-icon{background:var(--surface-2);border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:800;display:grid}.today-step.is-done .today-step-icon{background:var(--mint);color:var(--mint-ink)}.today-step-text{gap:2px;min-width:0;display:grid}.today-level{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.today-level .field-label{margin:0}.today-unit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:14px 16px;display:grid}.today-unit.is-current{border-color:var(--accent);box-shadow:var(--shadow-lift)}.today-unit.is-done{background:color-mix(in srgb, var(--mint) 40%, var(--surface))}.today-unit-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.today-unit-number{background:var(--accent-soft);width:30px;height:30px;color:var(--lavender-ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.today-unit-title{margin:0;font-size:1.05rem}.today-next{background:var(--accent);color:var(--accent-text)}.today-unit-parts{gap:8px;display:grid}.today-unit-part{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.today-unit-label{letter-spacing:.06em;text-transform:uppercase;width:56px;color:var(--muted);font-size:.72rem;font-weight:800}.chip.is-done{background:var(--mint);color:var(--mint-ink)}a.chip{text-decoration:none}.today-check{box-sizing:border-box;gap:14px;width:100%;max-width:640px;margin:0 auto;display:grid}.today-result{text-align:center;justify-items:center}@media (width<=720px){.today-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.today-placement{grid-template-columns:1fr}}.theme-slot{display:contents}.theme-slot .theme-dock{z-index:40;position:relative;inset:auto;transform:none}.theme-slot .theme-toggle{width:40px;min-height:40px;box-shadow:none;padding:0;font-size:1.1rem}.theme-slot .theme-list{top:80px;bottom:auto;width:min(290px,100vw - 24px);position:fixed;inset-inline:auto 12px}@media (width<=420px){.app:not(.public) .topbar .brand span{display:none}.topbar .btn{padding-inline:12px}}.quiz,.quiz-browser,.review,.scene-play,.scene-turn,.scene-card,.rule-view,.today-session,.today-check,.learn,.explain-body,.explain-part,.quiz-group,.quiz-filters{grid-template-columns:minmax(0,1fr)}.quiz>*,.quiz-browser>*,.review>*,.scene-card>*,.rule-view>*,.today-unit>*,.today-step>*,.quiz-card>*,.explain-part>*{min-width:0;max-width:100%}.page-title,.quiz-card,.rule-card,.scene-card,.today-step,.today-unit,.weak-rule,.quiz-option,.quiz-prompt,.quiz-feedback,.chat-msg,.word-panel,.word-marks,.transcript,.review-card,.explain,.practise-choice,.scene-suggestion,.level-btn,.notice,.empty{overflow-wrap:anywhere}.chip,.level-btn,.scene-suggestion,.weak-rule,.practise-choice,.review-grade,.quiz-option{white-space:normal;text-align:start;height:auto}.chip{border-radius:18px;min-height:36px;padding-block:6px;line-height:1.25}.scene-suggestion,.practise-choice,.review-grade{border-radius:var(--radius-sm)}.seg{border-radius:var(--radius);flex-wrap:wrap;max-width:100%}.quiz-play-head,.quiz-feedback-actions,.quiz-result-actions,.scene-reply-actions{flex-wrap:wrap}.scene-reading,.quiz-reading{overflow-wrap:anywhere;display:block}.main{overflow-x:clip}@media (width<=1000px){.app:not(.public) .user-name{display:none}.app:not(.public) .topnav a:not(.btn){padding-inline:10px}.app:not(.public) .topbar{gap:8px}}@media (width<=420px){.quiz-langs.lang-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:12px}.today-step{grid-template-columns:auto minmax(0,1fr)}.today-step>.btn{grid-column:1/-1}.today-unit-label{width:100%}.word-grammar>div{grid-template-columns:1fr;gap:0}.review-type,.scene-maker-row{grid-template-columns:1fr}.scene-card{padding:14px}.quiz-prompt{font-size:1.35rem}}.theme-dock{inset-inline-end:10px;z-index:40;position:fixed;top:50%;transform:translateY(-50%)}.theme-toggle{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-lift);font-size:1.2rem;display:none}.theme-list{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;gap:6px;padding:8px 6px;display:grid}.theme-mode{background:var(--surface-2);width:36px;height:36px;color:var(--text);cursor:pointer;transition:transform .4s var(--spring), background .2s var(--ease);border:0;border-radius:50%;place-items:center;padding:0;font-size:1.05rem;display:grid}.theme-mode:hover{background:var(--accent-soft);transform:rotate(25deg)scale(1.1)}.theme-mode:active{transform:scale(.9)}.theme-list>li:first-child{border-bottom:1px solid var(--border);gap:6px;margin-bottom:2px;padding-bottom:6px;display:grid}.theme-option{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;align-items:center;padding:3px;display:flex;position:relative}.theme-swatch{width:30px;height:30px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 25%, transparent), 0 0 0 0 var(--accent);transition:transform .35s var(--spring), box-shadow .25s var(--ease);border-radius:50%;flex:none;display:flex;overflow:hidden;transform:rotate(-35deg)}.theme-swatch>span{flex:1}.theme-option:hover .theme-swatch,.theme-option:focus-visible .theme-swatch{transform:rotate(-35deg)scale(1.18)}.theme-option:active .theme-swatch{transform:rotate(-35deg)scale(.92)}.theme-option[aria-pressed=true]>span.theme-swatch{animation:none;display:flex}.theme-option[aria-pressed=true] .theme-swatch{box-shadow:0 0 0 2px var(--surface), 0 0 0 4.5px var(--accent);transform:rotate(10deg)scale(1.1)}.theme-label{inset-inline-end:calc(100% + 12px);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:max-content;max-width:240px;box-shadow:var(--shadow-lift);text-align:start;opacity:0;pointer-events:none;transition:opacity .18s var(--ease), transform .25s var(--spring);padding:8px 12px;display:grid;position:absolute;top:50%;transform:translate(8px,-50%)}.theme-option:hover .theme-label,.theme-option:focus-visible .theme-label{opacity:1;transform:translateY(-50%)}.theme-name{color:var(--text);font-size:.9rem;font-weight:800}.theme-blurb{color:var(--muted);font-size:.78rem}@media (width>=821px){.app{padding-inline-end:54px}}@media (width<=820px){.theme-dock{top:auto;bottom:16px;inset-inline-end:12px;transform:none}.theme-toggle{margin-inline-start:auto;display:inline-flex}.theme-list{bottom:calc(100% + 10px);border-radius:var(--radius);background:var(--surface);width:min(290px,100vw - 24px);max-height:min(70vh,560px);box-shadow:var(--shadow-lift);animation:pop-in .22s var(--spring);padding:8px;display:none;position:absolute;inset-inline-end:0;overflow:auto}.theme-dock.is-open .theme-list{display:grid}.theme-mode{border-radius:var(--radius-sm);width:100%}.theme-option{border-radius:var(--radius-sm);gap:12px;width:100%;padding:6px 8px}.theme-option[aria-pressed=true]{background:var(--accent-soft)}.theme-label{width:auto;max-width:none;box-shadow:none;opacity:1;background:0 0;border:0;padding:0;position:static;transform:none}.theme-option:hover .theme-label,.theme-option:focus-visible .theme-label{transform:none}}@media (width<=999px){.home-grid{grid-template-columns:1fr}.home-history{max-height:none;position:static}.ai-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.main{padding:16px 12px 40px}.brand span{display:none}.panes{grid-template-columns:1fr}.pane-target{border-inline-start:0;border-top:1px solid var(--border);border-end-start-radius:calc(var(--radius) + 3px)}.topbar{gap:8px;padding:6px 8px 6px 12px}.user-name{display:none}.lang-bar{grid-template-columns:1fr auto 1fr;gap:8px;padding:14px}.pane{padding:14px}.combo-inline{width:100%;min-width:0}.auth-card,.panel{padding:20px}.result-actions{margin-inline-start:-8px}.kbd{display:none}.pane-source .textarea{height:132px;min-height:96px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}.app:not(.public) .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface);justify-content:space-between}.app:not(.public) .brand span{display:inline}.app:not(.public) .topnav{z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);border-top:1px solid var(--border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin:0;display:grid;position:fixed;inset:auto 0 0}.app:not(.public) .topnav a:not(.btn){border-radius:var(--radius-sm);justify-items:center;gap:2px;padding:6px 2px;font-size:.72rem;line-height:1.1;display:grid}.topnav-icon{font-size:1.25rem;display:block}.app:not(.public) .main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}@media (width<=420px){.lang-bar{gap:6px}.combo-box .input{padding-inline:12px 26px}.combo-chevron{inset-inline-end:10px}.ai-actions{grid-template-columns:1fr 1fr}.topnav a:not(.btn){padding:7px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.spinner{border-style:dotted;animation:none}}@media (forced-colors:active){.btn,.input,.letter,.seg{border:1px solid buttontext}.seg-btn[aria-pressed=true],.letter[aria-pressed=true],.btn-toggle[aria-pressed=true]{outline:2px solid highlight}.check input{border:1px solid buttontext}.check input:checked{background:highlight}}
