:root{--bg:#f7f6f2;--panel:#fff;--text:#1f2328;--muted:#667085;--border:#e3e1da;--accent:#2d5bd7;--accent-soft:#e8eefc;--ok:#1f7a4d;--ok-soft:#e3f4ea;--warn:#9a5b00;--warn-soft:#fdf1dc;--bad:#b42318;--bad-soft:#fde8e6;--info-soft:#eef2f6;--reviewed:#6941c6;--reviewed-soft:#efe9fb;--target:#fff1b8;--radius:10px;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15171b;--panel:#1d2026;--text:#e6e8eb;--muted:#9aa3ae;--border:#2e333b;--accent:#7ea2ff;--accent-soft:#23304f;--ok:#5fd39b;--ok-soft:#173a2a;--warn:#f0b35a;--warn-soft:#3b2d14;--bad:#ff8a80;--bad-soft:#3d1e1c;--info-soft:#262b33;--reviewed:#b69cff;--reviewed-soft:#2d2446;--target:#5a4a12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif}a{color:var(--accent)}code{font-family:var(--mono);background:var(--info-soft);border-radius:4px;margin-right:3px;padding:0 4px;font-size:.85em}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{font-weight:700}.lang-tag{color:var(--muted);margin-left:4px;font-weight:500}nav{flex-wrap:wrap;gap:4px;display:flex}nav a{color:var(--text);border-radius:8px;padding:6px 10px;text-decoration:none}nav a.active{background:var(--accent-soft);color:var(--accent)}.mode{border:1px solid var(--border);border-radius:99px;margin-left:auto;padding:3px 8px;font-size:12px}.mode-live{color:var(--ok)}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:20px 24px 60px}.footer{text-align:center;border-top:1px solid var(--border);padding:16px}h1{margin:8px 0 16px;font-size:24px}h2{margin:0;font-size:17px}h3{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 6px;font-size:15px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:14px 0;padding:14px 18px}.panel.inset{background:var(--bg)}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.big{font-size:1.25em}.ro{font-family:Georgia,Noto Serif,serif}.warn{color:var(--warn)}.ok{color:var(--ok)}.error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin:8px 0;padding:8px 12px}.notice{background:var(--warn-soft);border-radius:8px;margin:12px 0;padding:8px 14px}button,.button{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 12px;text-decoration:none;display:inline-block}button.primary,.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.big{padding:10px 20px;font-size:16px}button.link{color:var(--accent);background:0 0;border:none;padding:2px 4px;text-decoration:underline}input:not([type=checkbox]):not([type=radio]){font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;min-width:0;padding:6px 10px}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.add-form input{flex:1;min-width:240px;font-size:18px}.add-form label{font-weight:600}table{border-collapse:collapse}.table-scroll{overflow-x:auto}table.list,table.caps,table.matrix{width:100%}table.list th,table.list td,table.caps th,table.caps td,table.matrix th,table.matrix td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.num{text-align:right}.clickable{cursor:pointer}.clickable:hover{background:var(--info-soft)}.badge{background:var(--info-soft);white-space:nowrap;border-radius:99px;margin:1px 3px 1px 0;padding:1px 7px;font-size:12px;display:inline-block}.state-reference_matched{background:var(--ok-soft);color:var(--ok)}.state-manually_reviewed{background:var(--reviewed-soft);color:var(--reviewed)}.state-structurally_valid{background:var(--accent-soft);color:var(--accent)}.state-parsed{background:var(--info-soft)}.state-needs_review,.state-unsupported,.state-suppressed{background:var(--bad-soft);color:var(--bad)}.state-unavailable,.state-missing{background:var(--info-soft);color:var(--muted)}.cap-supported{background:var(--ok-soft);color:var(--ok)}.cap-unavailable{background:var(--bad-soft);color:var(--bad)}td.cap{text-align:center;font-weight:600}.status-ok{background:var(--ok-soft);color:var(--ok)}.status-form_of_only,.status-no_supported_entries{background:var(--warn-soft);color:var(--warn)}.status-missing_page,.status-no_language_section,.status-acquisition_error,.status-fixture_missing,.status-rate_limited,.status-parse_error,.status-invalid_input{background:var(--bad-soft);color:var(--bad)}.chips{flex-wrap:wrap;gap:3px;display:inline-flex}.chip{background:var(--info-soft);font-size:12px;font-family:var(--mono);border-radius:6px;padding:1px 7px;display:inline-block}.chip-na{opacity:.6}.diagnostics{margin:8px 0;padding:0;list-style:none}.diag{border-radius:6px;margin:3px 0;padding:4px 10px;font-size:13px}.diag-info{background:var(--info-soft)}.diag-warning{background:var(--warn-soft)}.diag-error{background:var(--bad-soft)}.diag-level{text-transform:uppercase;margin-right:6px;font-size:11px;font-weight:700}dl.kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{grid-column:2;margin:0}.tabs{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.tabs button.active{background:var(--accent);color:#fff}fieldset{border:none;margin:0;padding:0}.senses .sense{cursor:pointer;border-radius:8px;padding:6px 10px;display:block}.senses .sense.chosen{background:var(--accent-soft)}.sense-ref{font-family:var(--mono);color:var(--muted);margin:0 6px;font-size:12px}.labels{color:var(--muted);margin-right:4px;font-style:italic}.example{color:var(--muted);margin-left:30px}table.grid{border-collapse:separate;border-spacing:2px}table.grid th{color:var(--muted);text-align:left;white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600}table.grid td{background:var(--bg);border-radius:6px;min-width:72px;padding:3px 5px}.cell-empty{text-align:center}.form-pill{border:1px solid #0000;border-radius:6px;margin:1px;padding:1px 8px;font-family:Georgia,Noto Serif,serif;font-size:14px}.form-pill.selected{border-color:var(--text)}.nonfinite{margin:6px 0}.flat-forms{padding:0;list-style:none}.form-detail-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}ul.checks{margin:0;padding:0;font-size:13px;list-style:none}.check-pass .check-mark{color:var(--ok)}.check-fail{color:var(--bad)}.check-mark{width:14px;font-weight:700;display:inline-block}ul.plain{margin:0;padding-left:16px}.legend{gap:4px;margin:8px 0;display:grid}.legend-item{align-items:baseline;gap:8px;display:flex}.count{white-space:nowrap;margin-right:12px}.diff .added{color:var(--ok)}.diff .removed{color:var(--bad)}.apply-bar{background:var(--bg);border-top:1px solid var(--border);padding:12px 0;position:sticky;bottom:0}.override-actions label{margin:6px 0;display:block}.override-actions label input{width:100%}.study-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px;display:grid}.opt-group{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.opt-group.wide{grid-column:1/-1}.opt-group legend{padding:0 4px;font-weight:600}.opt-group label{margin:3px 0;display:block}.opt-group input[type=number]{width:90px}.word-picks{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.session{flex-direction:column;align-items:stretch;gap:14px;max-width:760px;margin:0 auto;display:flex}.flashcard{background:var(--panel);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:16px;outline:none;min-height:260px;padding:36px 28px;box-shadow:0 1px 3px #0000000f}.flashcard.revealed{cursor:default}.prompt{font-size:30px;font-weight:600}.context{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.context .chip{font-family:inherit;font-size:13px}.hint{margin-top:28px}.typed{margin-top:18px}.typed input{text-align:center;width:100%;font-size:20px}.typed-result{border-radius:8px;margin:14px auto 0;padding:6px 12px;display:inline-block}.tr-correct{background:var(--ok-soft);color:var(--ok)}.tr-diacritics{background:var(--warn-soft);color:var(--warn)}.tr-no_match{background:var(--info-soft)}.card-back{border-top:1px dashed var(--border);text-align:left;margin-top:22px;padding-top:18px}.answer-line{text-align:center;margin-bottom:12px;font-size:30px}.answer.big{font-size:30px}.tok.origin-rule{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.alternatives ul{margin:4px 0 10px}.grammar{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.explanation{margin:8px 0;padding-left:20px}.provenance summary{cursor:pointer}.ratings{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rate{padding:12px;font-size:16px}.rate kbd{opacity:.6;margin-left:4px;font-size:11px}.rate-again{color:var(--bad)}.rate-hard{color:var(--warn)}.rate-good{color:var(--ok)}.rate-easy{color:var(--accent)}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.stat-n{font-size:28px;font-weight:700}.stat-l{color:var(--muted)}table.bars{width:100%}.bar-cell{width:60%}.bar{background:var(--accent);border-radius:5px;height:10px;display:block}.rule{border-bottom:1px solid var(--border);padding-bottom:8px}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-right .mode{margin-left:0}.signin{text-align:center;max-width:460px;margin:60px auto}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.lookup-senses{padding:0;list-style:none}.lookup-senses li{border-bottom:1px solid var(--border);padding:6px 0}.lookup-senses .gloss{min-width:220px;color:var(--muted);margin-right:10px;display:inline-block}.candidate{white-space:nowrap;margin-right:10px}.candidate button{padding:2px 10px;font-family:Georgia,Noto Serif,serif}.speak{vertical-align:middle;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px}.speak.small{font-size:15px}.speak:disabled{opacity:.35;cursor:help}.tts-options{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}html{-webkit-text-size-adjust:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}button,.button,nav a{min-height:40px}.center{text-align:center}.center-actions{justify-content:center}.desktop-only,.top-nav{display:none}.bottom-nav{z-index:20;background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 0 8px;font-size:11px;text-decoration:none;display:flex}.bottom-nav a span{font-size:20px;line-height:1}.topbar{gap:6px 12px;padding:8px 16px}.topbar .lang-tag{display:none}main{padding:12px 16px calc(84px + env(safe-area-inset-bottom))}.footer{display:none}h1{font-size:21px}.vocab-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.vocab-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.vocab-card.disabled{opacity:.55}.vocab-card-main{align-items:baseline;gap:8px;display:flex}.vocab-word{font-size:19px;text-decoration:none}.study-toggle{color:var(--muted);align-items:center;gap:4px;margin-left:auto;display:flex}.vocab-card-meaning{margin:2px 0}.vocab-card-meta{color:var(--muted);flex-wrap:wrap;gap:4px;display:flex}.more-list{gap:8px;margin-bottom:16px;display:grid}.more-list a{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;padding:12px 14px;font-weight:600;text-decoration:none;display:flex}.session{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;display:flex}.study-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--panel);border-radius:99px;padding:6px 14px}.flashcard{flex-direction:column;justify-content:center;min-height:42vh;padding:22px 16px;display:flex}.prompt{font-size:clamp(22px,6.5vw,34px)}.answer-line,.answer.big{font-size:clamp(22px,6.5vw,32px)}.card-back{font-size:15px}.tts-options{justify-content:center}.tts-options label{align-items:center;gap:4px;min-height:36px;display:inline-flex}.action-bar{bottom:calc(64px + env(safe-area-inset-bottom));z-index:10;background:var(--bg);padding:8px 0;position:sticky}button.wide{width:100%}.rate{padding:14px 4px;font-size:15px;font-weight:600}.sheet-backdrop{z-index:40;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:88vh;display:flex;box-shadow:0 -4px 24px #0003}.sheet-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sheet-body{padding:4px 16px 12px;overflow-y:auto}.sheet-body section{border-bottom:1px solid var(--border);padding:8px 0}.sheet-body h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 6px;font-size:13px}.sheet-body .numbers label{justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}.sheet-body .numbers input[type=number]{width:96px}.sheet-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.sheet-foot button{width:100%}.chip-options{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.opt-chip{background:var(--bg);border-radius:99px;padding:6px 12px;font-size:14px}.opt-chip.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.table-scroll{-webkit-overflow-scrolling:touch}table.matrix td:first-child,table.matrix th:first-child,table.grid th:first-child{background:var(--panel);z-index:1;position:sticky;left:0}.add-form input{width:100%;min-width:0}.add-form .row{flex-wrap:nowrap}.lookup-senses .gloss{min-width:0;margin-bottom:4px;display:block}.candidate{margin:2px 8px 2px 0;display:inline-block}dl.kv{grid-template-columns:1fr}dl.kv dd{grid-column:1;margin-bottom:4px}.avatar{object-fit:cover;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar-initial{background:var(--accent-soft);color:var(--accent);font-weight:700}.avatar-link{border:2px solid #0000;border-radius:50%;align-items:center;min-height:0;padding:2px;display:inline-flex}.avatar-link.active{border-color:var(--accent);background:0 0}.account-head{align-items:center;gap:14px;margin:8px 0 16px;display:flex}.account-name{font-size:19px;font-weight:600}.account-links{margin-top:20px}.footer-links{white-space:nowrap}.segmented{background:var(--panel);border:1px solid var(--border);border-radius:99px;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:36px;color:var(--muted);background:0 0;border:none;border-radius:99px;padding:6px 16px;font-weight:600}.segmented button.active{background:var(--accent-soft);color:var(--accent)}.link.danger-link{color:var(--bad);min-height:0;margin-left:auto}.tabs+.phrase-form,.tabs+.add-form{margin-top:12px}.phrase-form{gap:12px;max-width:560px;display:grid}.phrase-form label{gap:4px;font-weight:600;display:grid}.phrase-form details{gap:10px;display:grid}.phrase-form details[open] label{margin-top:10px}.phrase-form input,.phrase-form select{width:100%;font-weight:400}.starter{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:10px 14px}.starter summary{cursor:pointer;min-height:32px;display:list-item}.starter-head{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.starter-head h3{margin:0;font-size:15px}.starter-list{margin:6px 0 0;padding:0;list-style:none}.starter-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.starter-list .icon-button{min-width:40px;padding:4px 0;font-size:18px}.mature-badge{background:var(--bad-soft);color:var(--bad);vertical-align:middle;margin-left:8px;font-size:11px}.mature-toggle{border-top:1px solid var(--border);align-items:center;gap:6px;margin-top:14px;padding-top:10px;display:flex}.starter-added{white-space:nowrap}@media (width>=768px){.desktop-only{display:inline}.top-nav{display:flex}.bottom-nav{display:none}.topbar{padding:10px 24px}.topbar .lang-tag{display:inline}main{padding:20px 24px 60px}.footer{display:block}h1{font-size:24px}.vocab-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.flashcard{min-height:260px;padding:36px 28px}.action-bar{background:0 0;position:static}.apply-bar{bottom:0}.sheet-backdrop{align-items:center}.sheet{border-radius:16px;max-height:84vh}.lookup-senses .gloss{min-width:220px;display:inline-block}dl.kv{grid-template-columns:max-content 1fr}dl.kv dd{grid-column:2;margin-bottom:0}}:root{--bg:#f5f6fb;--bg-glow-1:#3d6bff21;--bg-glow-2:#ffc83d24;--panel:#fff;--panel-2:#f8f9fd;--glass:#ffffffb8;--text:#0f1729;--muted:#5d6882;--border:#e4e7f1;--accent:#2f5bff;--accent-2:#1b3fd6;--accent-soft:#eaf0ff;--on-accent:#fff;--sun:#ffc83d;--sun-soft:#fff4d4;--ok:#0f9960;--ok-soft:#e2f7ee;--warn:#b26a00;--warn-soft:#fff1d9;--bad:#e5484d;--bad-soft:#ffe9ea;--info-soft:#eef1f8;--target:#ffe7a3;--radius:16px;--radius-lg:24px;--shadow-sm:0 1px 2px #1018300f, 0 1px 1px #1018300a;--shadow:0 1px 2px #1018300d, 0 8px 24px -8px #1018301f;--shadow-lg:0 2px 4px #1018300a, 0 24px 48px -16px #10183038;--ring:0 0 0 4px #2f5bff2e;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-ro:"Fraunces", Georgia, "Times New Roman", serif;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--bg:#0c0f16;--bg-glow-1:#3d6bff29;--bg-glow-2:#ffc83d0f;--panel:#141925;--panel-2:#181e2c;--glass:#141925b8;--text:#eef1f8;--muted:#97a1ba;--border:#252c3d;--accent:#7c9bff;--accent-2:#5b7cff;--accent-soft:#1c2748;--on-accent:#0c0f16;--sun:#ffd166;--sun-soft:#3a3016;--ok:#3ddc97;--ok-soft:#12301f;--warn:#ffb547;--warn-soft:#3a2a10;--bad:#ff6b6f;--bad-soft:#3a1618;--info-soft:#1b2130;--target:#5c4b12;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px -8px #0009;--shadow-lg:0 2px 4px #0000004d, 0 24px 48px -16px #000000b3;--ring:0 0 0 4px #7c9bff40}}body{font-family:var(--font);letter-spacing:-.005em;background:radial-gradient(900px 480px at 8% -10%, var(--bg-glow-1), transparent 60%), radial-gradient(700px 420px at 100% 0%, var(--bg-glow-2), transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-size:15px}h1,h2,h3{letter-spacing:-.025em;line-height:1.2}h1{font-weight:800}h2{font-weight:700}.ro{font-family:var(--font-ro);font-optical-sizing:auto;letter-spacing:-.01em}a{text-underline-offset:3px}::selection{background:var(--sun-soft)}:focus-visible{box-shadow:var(--ring);border-radius:10px;outline:none}button,.button{border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm);transition:transform .15s var(--ease), box-shadow .2s var(--ease), background-color .2s, border-color .2s;cursor:pointer;border-radius:999px;padding:8px 16px;font-family:inherit;font-weight:600}button:hover:not(:disabled),.button:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}button:active:not(:disabled),.button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:var(--on-accent);box-shadow:0 1px 0 #ffffff40 inset, 0 8px 20px -8px color-mix(in srgb, var(--accent) 70%, transparent);border-color:#0000}button.primary:hover:not(:disabled),.button.primary:hover{filter:brightness(1.06);border-color:#0000}button.big,.button.big{padding:13px 22px;font-size:16px}button.link{box-shadow:none;background:0 0;border:none;border-radius:4px;padding:0;font-weight:600}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:11px 14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.icon{flex:none}.panel,.notice,.vocab-card,.more-list a,.starter{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow)}.panel{padding:18px 20px}.notice{background:var(--panel-2);box-shadow:none}.chip,.badge{border-radius:999px;font-weight:600}.error{border-radius:var(--radius)}.topbar{background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);min-height:60px}.brand{color:var(--text);align-items:center;gap:10px;min-height:0;padding:0;text-decoration:none;display:inline-flex}.brand.active{background:0 0}.wordmark{letter-spacing:-.03em;font-size:18px;font-weight:800}.wordmark em,.signin h1 em{font-family:var(--font-ro);color:var(--accent);font-style:italic;font-weight:600}.logo-mark{filter:drop-shadow(0 4px 10px #2f5bff47);flex:none}.top-nav a{color:var(--muted);border-radius:999px;padding:7px 14px;font-weight:600}.top-nav a:hover{color:var(--text)}.top-nav a.active{color:var(--accent);background:var(--accent-soft)}.topbar{flex-wrap:nowrap}.topbar-right{margin-left:auto}.mode{background:var(--panel);font-weight:600;display:none}.avatar-link{text-decoration:none}.avatar{box-shadow:0 0 0 2px var(--panel), 0 0 0 3px var(--border)}.avatar-link.active .avatar{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.avatar-link.active{border-color:#0000}.bottom-nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);box-shadow:var(--shadow-lg);border-radius:22px;padding:6px}.bottom-nav a{color:var(--muted);border-radius:16px;gap:3px;padding:7px 0 6px;font-size:11.5px;font-weight:700;transition:color .2s,background-color .2s}.bottom-nav a.active{color:var(--accent);background:var(--accent-soft)}.bottom-nav a .icon{width:22px;height:22px}main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.action-bar{bottom:calc(86px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);padding:14px 0 8px}.apply-bar{bottom:calc(86px + env(safe-area-inset-bottom))}.page-head{align-items:center;margin-bottom:14px}.segmented{background:var(--panel-2);padding:4px;box-shadow:inset 0 1px 2px #1018300f}.segmented button{box-shadow:none;font-size:14.5px;transition:background-color .2s,color .2s,box-shadow .2s}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.tabs{border:none;flex-wrap:wrap;gap:6px}.tabs button{border-radius:999px}.tabs button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.vocab-cards{gap:12px}.vocab-card{transition:transform .2s var(--ease), box-shadow .2s var(--ease);padding:14px 16px}@media (hover:hover){.vocab-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.vocab-word{color:var(--text);font-size:22px;font-weight:500}.vocab-card-meaning{margin:4px 0 6px;font-weight:500}.vocab-card-meta{gap:6px 8px}.study-toggle{font-weight:600}.starter{padding:14px 18px}.starter summary{font-size:16px}.starter-group{margin-top:6px}.starter-list li{padding:10px 0}.starter-list .ro{font-size:17px;font-weight:600}.starter-list .icon-button{width:38px;height:38px;min-height:0;color:var(--accent);background:var(--accent-soft);box-shadow:none;border-color:#0000;place-items:center;padding:0;font-size:20px;line-height:1;display:inline-grid}.starter-added{color:var(--ok);font-weight:700}.study-toolbar{flex-wrap:wrap;row-gap:10px;position:relative}.session-progress{background:var(--border);border-radius:999px;flex-basis:100%;order:3;height:6px;overflow:hidden}.session-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #7a5cff);height:100%;transition:width .4s var(--ease);display:block}[data-testid=session-head]{color:var(--muted);letter-spacing:.01em;font-size:13px;font-weight:700}.icon-button{align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:inline-flex}.flashcard{border:1px solid var(--border);background:radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 70%), var(--panel);box-shadow:var(--shadow-lg);animation:card-in .35s var(--ease);border-radius:28px;padding:28px 20px 24px;position:relative;overflow:hidden}.flashcard:before{content:"";background:linear-gradient(90deg, var(--accent), #7a5cff 55%, var(--sun));opacity:.85;height:4px;position:absolute;inset:0 0 auto}.prompt{letter-spacing:-.03em;font-size:clamp(26px,7.2vw,40px);font-weight:800;line-height:1.15}.context{gap:6px;margin-top:10px}.context .chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:3px 10px;font-size:12.5px}.hint{margin-top:18px;font-weight:500}.typed input{font-family:var(--font-ro);text-align:center;border-radius:16px;font-size:20px}.card-back{border-top:1px dashed var(--border);animation:rise .35s var(--ease);margin-top:18px;padding-top:18px}.answer-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.answer.big{font-size:clamp(26px,7.5vw,38px);font-weight:500}.tok.target{background:linear-gradient(transparent 58%, var(--target) 58%, var(--target) 92%, transparent 92%);border-radius:2px;padding:0 1px}.grammar .chip{font-family:var(--font);background:var(--info-soft);border:none}.explanation{line-height:1.55}.explanation li::marker{color:var(--accent)}.provenance summary{color:var(--muted);font-weight:600}.speak{width:42px;height:42px;min-height:0;color:var(--accent);background:var(--accent-soft);box-shadow:none;border-color:#0000;border-radius:50%;place-items:center;padding:0;display:inline-grid}.speak.small{width:30px;height:30px}.tts-options{gap:14px}.typed-result{border-radius:14px;font-weight:600}.action-bar .primary.big{padding:16px 22px;font-size:17px}.ratings{grid-template-columns:repeat(3,1fr);gap:8px}.auto-rating{justify-items:center;gap:8px;display:grid}.change-rating{align-items:center;gap:12px;display:flex}.next-again{background:linear-gradient(#ef5a5f,#d63d42)}.next-hard{background:linear-gradient(#f0a13a,#d9861a)}.next-good{background:linear-gradient(#19b374,#0f9960)}.typed-result.tr-near{background:var(--warn-soft);color:var(--warn)}.rate{box-shadow:none;border:1px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:14px 4px;font-size:15px;font-weight:700;display:flex}.rate kbd{font-family:var(--font);opacity:.6;background:0 0;border:none;padding:0;font-size:11px}.rate-again{background:var(--bad-soft);color:var(--bad)}.rate-hard{background:var(--warn-soft);color:var(--warn)}.rate-good{background:var(--ok-soft);color:var(--ok)}.rate-easy{background:var(--accent-soft);color:var(--accent)}@media (hover:hover){.rate:hover:not(:disabled){border-color:currentColor;transform:translateY(-2px)}}[data-testid=session-done] h2{font-size:26px}[data-testid=session-done] .count{background:var(--panel-2);border-radius:999px;margin:4px;padding:6px 12px;font-weight:600;display:inline-block}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080c186b;animation:.2s fade}.sheet{border:1px solid var(--border);animation:sheet-up .32s var(--ease);border-radius:28px 28px 0 0}.sheet-head{padding-top:20px;position:relative}.sheet-head:before{content:"";background:var(--border);border-radius:999px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-head h2{margin:0;font-size:19px}.sheet-body h3{letter-spacing:.08em;font-size:11.5px;font-weight:800}.opt-chip{box-shadow:none;padding:7px 14px;font-weight:600}.opt-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:20px;padding:16px 12px}.stat-n{letter-spacing:-.03em;background:linear-gradient(135deg, var(--accent), #7a5cff);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,7vw,36px);font-weight:800}.stat-l{color:var(--muted);font-weight:600}.bar{background:linear-gradient(90deg, var(--accent), #7a5cff);border-radius:999px}.signin{text-align:center;max-width:420px;animation:rise .5s var(--ease);justify-items:center;gap:10px;margin:8vh auto 0;display:grid}.signin h1{letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(38px,11vw,52px)}.signin-tagline{color:var(--muted);max-width:30ch;margin:0 0 12px;font-size:17px}.signin .primary{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:10px;display:inline-flex}.signin .primary:hover:not(:disabled){filter:none;border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.account-head{border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);padding:18px}.voice-usage{gap:8px;margin-bottom:16px;display:grid}.lang-switcher{position:relative}.lang-button{letter-spacing:.04em;align-items:center;gap:6px;min-height:36px;padding:4px 12px 4px 8px;font-size:13px;font-weight:700;display:inline-flex}.lang-flag{font-size:18px;line-height:1}.lang-menu{z-index:30;background:var(--panel);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lg);animation:rise .18s var(--ease);border-radius:18px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.lang-menu button{text-align:left;box-shadow:none;background:0 0;border:none;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px;display:flex}.lang-menu button.active{background:var(--accent-soft)}.topbar-right{align-items:center;gap:10px;display:inline-flex}.own-field{gap:6px;display:grid}.own-defs{gap:6px;margin:0;padding:0;list-style:none;display:grid}.own-defs label{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;font-weight:400;display:flex}.own-defs label.chosen{border-color:var(--accent);background:var(--accent-soft)}.strong{font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width>=768px){main{padding-bottom:60px}.action-bar{background:0 0;padding:8px 0 0}.apply-bar{bottom:0}.flashcard{padding:44px 36px 32px}.sheet{border-radius:28px}.sheet-head:before{display:none}.sheet-head{padding-top:14px}.wordmark{font-size:19px}.topbar{gap:8px 28px}.mode{display:inline-block}}
