@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f7f6f2;--surface: #ffffff;--surface-2: #f1efe9;--surface-3: #e8e5dc;--border: #e4e0d6;--text: #1c1c21;--muted: #6b6b73;--primary: #3358e8;--primary-soft: #e6ecff;--primary-text: #ffffff;--success: #1f9d55;--success-soft: #e3f6ea;--warning: #c77700;--warning-soft: #fff3dc;--danger: #d13a3a;--danger-bg: #fdecec;--danger-text: #a12a2a;--note-bg: #fff8e1;--flame: #f2611d;--ice: #2a9fd6;--zap: #8a5cf6;--masculine: #2f6fde;--feminine: #d6336c;--neuter: #2b9a5b;--nominative: #6b7280;--accusative: #d97706;--dative: #0f9aa8;--genitive: #8b5cf6;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(20, 20, 30, .04), 0 3px 10px rgba(20, 20, 30, .05);--shadow-lg: 0 12px 40px rgba(20, 20, 30, .18);--font: "Inter Variable", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--header-h: 60px;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121216;--surface: #1b1b21;--surface-2: #24242b;--surface-3: #2e2e36;--border: #32323b;--text: #ececf1;--muted: #9d9da8;--primary: #7b96ff;--primary-soft: #232b4a;--primary-text: #0d0d12;--success: #4ad386;--success-soft: #16301f;--warning: #ffb547;--warning-soft: #33280f;--danger: #ff6b6b;--danger-bg: #3a1d1d;--danger-text: #ffb3b3;--note-bg: #2e2914;--flame: #ff8a4c;--ice: #6cc8f5;--zap: #b69cff;--masculine: #6ea0ff;--feminine: #ff7aa8;--neuter: #5fd391;--nominative: #a3a3ad;--accusative: #fbbf24;--dative: #3fd2df;--genitive: #b69cff;--shadow: none;--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);color-scheme:dark}}:root[data-theme=dark]{--bg: #121216;--surface: #1b1b21;--surface-2: #24242b;--surface-3: #2e2e36;--border: #32323b;--text: #ececf1;--muted: #9d9da8;--primary: #7b96ff;--primary-soft: #232b4a;--primary-text: #0d0d12;--success: #4ad386;--success-soft: #16301f;--warning: #ffb547;--warning-soft: #33280f;--danger: #ff6b6b;--danger-bg: #3a1d1d;--danger-text: #ffb3b3;--note-bg: #2e2914;--flame: #ff8a4c;--ice: #6cc8f5;--zap: #b69cff;--masculine: #6ea0ff;--feminine: #ff7aa8;--neuter: #5fd391;--nominative: #a3a3ad;--accusative: #fbbf24;--dative: #3fd2df;--genitive: #b69cff;--shadow: none;--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s}body.modal-open{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}input,select,textarea{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h2,h3{margin:0 0 .6rem;line-height:1.25;letter-spacing:-.01em}h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}ul{margin:0;padding-left:1.2rem}.muted{color:var(--muted)}.small{font-size:.82rem}.danger-text{color:var(--danger)}[hidden]{display:none!important}svg{flex-shrink:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.25rem;height:var(--header-h);padding:0 1.5rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:1.35rem;letter-spacing:-.03em}.brand span{color:var(--primary)}.brand.big{font-size:2.6rem}.lang-pair{color:var(--muted);font-size:.85rem;white-space:nowrap}.tab-bar{display:flex;gap:.25rem;margin:0 auto}.tab{display:inline-flex;align-items:center;gap:.45rem;border:none;background:none;padding:.5rem .85rem;border-radius:10px;color:var(--muted);font-weight:600;transition:background .15s,color .15s}.tab:hover{background:var(--surface-2);color:var(--text)}.tab.active{background:var(--primary-soft);color:var(--primary)}.tab-short{display:none}.header-actions{display:flex;align-items:center;gap:.4rem}.streak-pill{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .7rem;font-weight:700;color:var(--muted)}.streak-pill.lit{color:var(--flame);border-color:color-mix(in srgb,var(--flame) 40%,transparent);background:color-mix(in srgb,var(--flame) 10%,var(--surface))}.app-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem}.app-footer{text-align:center;color:var(--muted);font-size:.78rem;padding:1rem}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:10px;padding:.55rem 1.1rem;font-weight:600;white-space:nowrap;transition:transform .08s,filter .15s,background .15s}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5}.button.primary{background:var(--primary);color:var(--primary-text);box-shadow:0 1px #0000000f,0 4px 12px color-mix(in srgb,var(--primary) 25%,transparent)}.button.primary:hover:not(:disabled){filter:brightness(1.08)}.button.primary:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}.button.secondary{background:var(--surface-2);border-color:var(--border)}.button.secondary:hover:not(:disabled){background:var(--surface-3)}.button.ghost{background:none;color:var(--muted)}.button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.button.danger{background:var(--danger);color:#fff}.button.small{padding:.3rem .7rem;font-size:.85rem;border-radius:8px}.button.large{padding:.8rem 1.6rem;font-size:1.05rem;border-radius:12px}.button.block{width:100%}.icon-button,.link-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--muted);padding:.35rem;border-radius:8px}.icon-button:hover,.link-button:hover{background:var(--surface-2);color:var(--text)}.icon-button.round{width:36px;height:36px;border-radius:50%}.icon-button.small{font-size:.75rem}.icon-button.danger:hover{color:var(--danger);background:var(--danger-bg)}.text-button{display:inline-flex;align-items:center;gap:.3rem;border:none;background:none;color:var(--primary);font-weight:600;padding:.2rem 0}.text-button:hover{text-decoration:underline}.error-box{background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius);padding:.9rem 1.1rem;margin:1rem 0;white-space:pre-wrap}.error-box.compact{margin:0;padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.9rem}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem;max-width:520px;margin:0 auto}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.ref-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:.15rem .6rem;font-size:.78rem}.ref-chip:hover{border-color:var(--primary);color:var(--primary)}.speak-button{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.speak-button.sm{padding:.2rem .4rem;font-size:.75rem}.speak-button:hover,.speak-button.speaking{border-color:var(--primary);color:var(--primary)}.speak-button.speaking svg{animation:pulse 1s ease-in-out infinite}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}.analyzer-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.25rem;align-items:start}.analyzer-layout:has(>:only-child){grid-template-columns:minmax(0,1fr)}.phrase-input textarea{width:100%;border:none;outline:none;resize:vertical;background:transparent;color:var(--text);font:inherit;font-size:1.1rem}.phrase-input-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.loading{display:flex;align-items:center;gap:.9rem;margin-top:1rem}.analysis{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.sentence-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.learning-sentence{font-size:1.7rem;font-weight:700;letter-spacing:-.01em}.speak-group{display:flex;gap:.4rem}.sentence-translations{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:.8rem 0 0}.sentence-translations dt{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;padding-top:.15rem}.sentence-translations dd{margin:0}.corrections{background:var(--note-bg);padding:.75rem .9rem;border-radius:8px;margin-bottom:.9rem}.corrections.correct{background:color-mix(in srgb,var(--neuter) 14%,transparent);color:var(--neuter);font-weight:600}.you-wrote{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.you-wrote .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.original-sentence{font-size:1.05rem}.correction-list{list-style:none;padding:0;margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}.correction-diff{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-weight:600}.correction-diff del{color:var(--feminine);text-decoration-thickness:2px}.correction-diff ins{color:var(--neuter);text-decoration:none}.correction-explanation{font-size:.88rem}.parts{display:flex;flex-wrap:wrap;gap:.5rem}.part{--role: var(--muted);border:1px solid var(--border);border-top:4px solid var(--role);border-radius:8px;padding:.5rem .7rem;max-width:260px;background:var(--surface)}.part:hover{background:var(--surface-2)}.part-text{font-weight:700;font-size:1.05rem}.part-role{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--role);font-weight:700}.part-explanation{font-size:.82rem;color:var(--muted)}.role-subject{--role: var(--nominative)}.role-verb{--role: var(--primary)}.role-direct_object{--role: var(--accusative)}.role-indirect_object{--role: var(--dative)}.role-prepositional_phrase,.role-adverbial{--role: var(--genitive)}.word-order{margin:.9rem 0 0}.section-title{margin:.4rem 0 0}.token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}.token-card{--accent: var(--border);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:.8rem .9rem;transition:transform .12s,box-shadow .12s}.token-card.highlighted{transform:translateY(-2px);box-shadow:0 0 0 2px var(--primary)}.accent-nominative{--accent: var(--nominative)}.accent-accusative{--accent: var(--accusative)}.accent-dative{--accent: var(--dative)}.accent-genitive{--accent: var(--genitive)}.token-head{display:flex;align-items:center;justify-content:space-between}.token-text{font-size:1.3rem;font-weight:700}.token-meaning{font-weight:500}.token-lemma{font-size:.82rem}.pos{text-transform:capitalize;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.badge{--c: var(--muted);font-size:.72rem;font-weight:600;padding:.05rem .5rem;border-radius:999px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);text-transform:capitalize}.gender-masculine{--c: var(--masculine)}.gender-feminine{--c: var(--feminine)}.gender-neuter{--c: var(--neuter)}.case-nominative{--c: var(--nominative)}.case-accusative{--c: var(--accusative)}.case-dative{--c: var(--dative)}.case-genitive{--c: var(--genitive)}.token-explanation{font-size:.86rem;margin:.5rem 0 0}.tips{background:var(--note-bg)}.history{position:sticky;top:80px;max-height:calc(100vh - 110px);overflow:auto;padding:.9rem}.history ul{list-style:none;padding:0}.history li{display:flex;align-items:flex-start;border-radius:8px}.history li.active,.history li:hover{background:var(--surface-2)}.history-item{flex:1;text-align:left;border:none;background:none;padding:.45rem .5rem;display:flex;flex-direction:column;font-size:.88rem}.grammar-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.25rem;align-items:start}.grammar-nav{position:sticky;top:80px;max-height:calc(100vh - 110px);overflow:auto}.grammar-nav-group{margin-bottom:1rem}.grammar-nav-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:0 .6rem .3rem}.grammar-nav-item{display:block;width:100%;text-align:left;border:none;background:none;padding:.35rem .6rem;border-radius:6px;font-size:.9rem}.grammar-nav-item:hover{background:var(--surface-2)}.grammar-nav-item.active{background:var(--surface);box-shadow:inset 3px 0 0 var(--primary);font-weight:600}.topic section{margin-top:1.3rem}.topic-summary{font-size:1.02rem}.table-scroll{overflow-x:auto}.grammar-table{border-collapse:collapse;width:100%;font-size:.92rem}.grammar-table th,.grammar-table td{border:1px solid var(--border);padding:.4rem .65rem;text-align:left}.grammar-table thead th{background:var(--surface-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.grammar-table tbody th{background:var(--surface-2);font-weight:600;white-space:nowrap}.caption{font-size:.82rem;color:var(--muted);margin:.4rem 0 0}.examples{list-style:none;padding:0;display:flex;flex-direction:column;gap:.7rem}.example-text{display:flex;align-items:center;gap:.5rem}.example-note{font-size:.85rem;font-style:italic}.topic .tips{border-radius:var(--radius);padding:.8rem 1rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:50;display:flex;justify-content:flex-end}.drawer{width:min(640px,100%);height:100%;background:var(--surface);display:flex;flex-direction:column;animation:slide-in .18s ease-out}@keyframes slide-in{0%{transform:translate(40px);opacity:0}}.drawer-toolbar{display:flex;justify-content:space-between;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.drawer-body{overflow:auto;padding:1.25rem 1.5rem 2rem}.form-stack{display:flex;flex-direction:column;gap:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.field>span:first-child{font-size:.85rem;font-weight:600}.field input,.field select,.form-stack>input,.inline-form input,.setting-row select,.number-input input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.6rem .75rem;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.form-stack>input:focus,.inline-form input:focus,.setting-row select:focus,.number-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}input.invalid{border-color:var(--danger)!important}.inline-form{display:flex;gap:.5rem}.progress{--tone: var(--primary);height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress.tone-success{--tone: var(--success)}.progress.tone-warm{--tone: var(--warning)}.progress-fill{height:100%;border-radius:inherit;background:var(--tone);transition:width .45s cubic-bezier(.2,.8,.2,1)}.segmented{display:inline-flex;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.segmented button{display:inline-flex;align-items:center;gap:.3rem;border:none;background:none;border-radius:7px;padding:.35rem .75rem;font-size:.88rem;font-weight:600;color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.switch{position:relative;width:44px;height:26px;border-radius:999px;border:none;background:var(--surface-3);flex-shrink:0;transition:background .2s}.switch.on{background:var(--success)}.switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.3,1.4,.6,1)}.switch.on .switch-thumb{transform:translate(18px)}.badge.neutral{--c: var(--muted);text-transform:none}.badge.new,.badge.state-new{--c: var(--primary)}.badge.state-learning,.badge.state-relearning{--c: var(--warning)}.badge.state-review{--c: var(--success)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a0a0f73;display:grid;place-items:center;padding:1rem;animation:fade-in .15s ease-out}.modal{width:min(520px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);border:1px solid var(--border);outline:none;animation:pop-in .18s cubic-bezier(.2,.9,.3,1.2)}.modal.sm{width:min(420px,100%)}.modal.lg{width:min(680px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .5rem}.modal-header h2{margin:0;font-size:1.2rem}.modal-body{overflow:auto;padding:.5rem 1.25rem 1.25rem}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;width:max-content;max-width:calc(100vw - 2rem)}.toast{display:inline-flex;align-items:center;gap:.45rem;background:var(--text);color:var(--bg);padding:.65rem 1.1rem;border-radius:999px;font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in .3s cubic-bezier(.2,.9,.3,1.3)}.toast.celebrate{background:linear-gradient(135deg,var(--flame),#f7a933);color:#fff}.toast.error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.9)}}.profile-menu{position:relative}.avatar{width:36px;height:36px;border-radius:50%;border:none;display:grid;place-items:center;font-weight:700;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--zap))}.avatar.big{width:56px;height:56px;font-size:1.2rem}.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:.35rem;z-index:30;animation:pop-in .14s ease-out}.dropdown-user{display:flex;flex-direction:column;padding:.5rem .65rem .6rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.dropdown button,.dropdown a{display:flex;color:inherit;text-decoration:none;font:inherit;align-items:center;gap:.6rem;width:100%;border:none;background:none;text-align:left;padding:.5rem .65rem;border-radius:8px}.dropdown button:hover,.dropdown a:hover{background:var(--surface-2)}.profile-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.profile-name{font-size:1.15rem;font-weight:700}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem}.profile-stats div{display:flex;flex-direction:column;align-items:center;background:var(--surface-2);border-radius:10px;padding:.6rem .3rem;text-align:center}.profile-stats strong{font-size:1.05rem}.profile-stats span{font-size:.72rem;color:var(--muted)}.settings-section{padding:.9rem 0;border-bottom:1px solid var(--border)}.settings-section:last-of-type{border-bottom:none}.settings-section h4{margin:0 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.setting-row.stacked{flex-direction:column;align-items:stretch}.setting-row select{width:auto;min-width:140px}.setting-label{display:flex;flex-direction:column;font-weight:500}.setting-label small{color:var(--muted);font-weight:400;font-size:.8rem}.number-input{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.number-input input{width:96px;text-align:right}.range-input input{width:180px;accent-color:var(--primary)}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;max-width:1040px;margin:0 auto;padding:2rem 1.5rem;position:relative}.auth-theme{position:absolute;top:1rem;right:1rem}.auth-tagline{font-size:1.3rem;font-weight:600;letter-spacing:-.01em;margin:.5rem 0 1.5rem}.auth-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem;color:var(--muted)}.auth-features li{display:flex;align-items:center;gap:.6rem}.auth-features svg{color:var(--primary)}.auth-card{padding:2rem;display:flex;flex-direction:column;gap:1rem;border-radius:20px}.auth-card h2{margin:0;font-size:1.5rem}.auth-switch{text-align:center;margin:0;font-size:.9rem}.auth-terms{text-align:center;margin:0}.terms-page{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.terms-header{margin-bottom:1.25rem}.terms-header a{color:inherit;text-decoration:none}.terms{padding:1.5rem;line-height:1.6}.terms h1{margin:0 0 .25rem;font-size:1.6rem}.terms h2{margin:1.5rem 0 .4rem;font-size:1.1rem}.terms p{margin:0 0 .6rem}.flashcards{display:flex;flex-direction:column;gap:1.75rem;max-width:1200px;margin:0 auto}.flash-hero{display:flex;flex-direction:column;gap:1.1rem;padding:1.4rem 1.5rem;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 55%),var(--surface)}.flash-hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.daily-goal{display:flex;flex-direction:column;gap:.5rem}.daily-goal-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.daily-goal .progress{height:12px}.goal-done{color:var(--success);font-weight:700;font-size:.9rem}.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.stat-tile{--c: var(--muted);display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:12px;background:color-mix(in srgb,var(--c) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--c) 18%,transparent)}.stat-tile svg{color:var(--c)}.stat-tile.flame{--c: var(--muted)}.stat-tile.flame.lit{--c: var(--flame)}.stat-tile.flame.lit svg{animation:flicker 1.6s ease-in-out infinite}.stat-tile.ice{--c: var(--ice)}.stat-tile.zap{--c: var(--zap)}.stat-tile.leaf{--c: var(--success)}.stat-value{font-size:1.4rem;font-weight:800;line-height:1.1}.stat-of{font-size:.85rem;color:var(--muted);font-weight:600}.stat-label{font-size:.75rem;color:var(--muted)}@keyframes flicker{50%{transform:scale(1.12) rotate(-4deg)}}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.section-head h3{margin:0}.section-actions{display:flex;gap:.5rem}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}.deck-tile{display:flex;flex-direction:column;gap:.7rem;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.deck-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));box-shadow:var(--shadow-lg)}.deck-tile.generating{border-style:dashed}.deck-tile.failed{cursor:default;border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.deck-tile-head{display:flex;align-items:center;gap:.6rem}.deck-emoji{font-size:1.6rem;line-height:1}.deck-emoji.big{font-size:2.8rem}.deck-name{font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.deck-counts{display:flex;gap:.75rem;font-size:.82rem;font-weight:600}.count.new{color:var(--primary)}.count.learning{color:var(--warning)}.count.due{color:var(--success)}.deck-tile-foot{display:flex;justify-content:space-between;align-items:center}.topic-group{margin-bottom:1.2rem}.topic-category{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}.topic-tile{display:flex;align-items:flex-start;gap:.7rem;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:.7rem .85rem;transition:border-color .15s,transform .15s,background .15s}.topic-tile:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--surface));transform:translateY(-1px)}.topic-emoji{font-size:1.5rem;line-height:1.2}.topic-text{display:flex;flex-direction:column;min-width:0}.topic-title{font-weight:600;display:inline-flex;align-items:center;gap:.35rem}.topic-desc{font-size:.8rem;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:var(--success)}.deck-view{display:flex;flex-direction:column;gap:1rem;max-width:1120px;margin:0 auto}.deck-view>.text-button{align-self:flex-start}.deck-hero{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.deck-hero-main{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.4rem}.deck-hero-main h2{margin:0;display:flex;align-items:center;gap:.3rem}.deck-hero-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.card-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.card-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem}.card-row-main{min-width:0}.card-row-text{font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.card-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.card-row-actions{display:flex;gap:.1rem}.card-note{color:var(--muted);font-size:.85rem}.study{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.study-top{display:flex;align-items:center;gap:.75rem}.study-progress{flex:1}.study-progress .progress{height:14px}.combo{display:inline-flex;align-items:center;gap:.2rem;font-weight:800;color:var(--muted);min-width:3rem;justify-content:flex-end}.combo.hot{color:var(--zap);animation:bump .4s ease-out}@keyframes bump{40%{transform:scale(1.25)}}.study-card{padding:1.6rem 1.75rem;border-radius:20px;animation:card-in .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes card-in{0%{opacity:0;transform:translate(24px)}}.study-card-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.study-prompt{font-size:1.55rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:1.2rem}.exercise{display:flex;flex-direction:column;gap:.9rem}.exercise-instruction{margin:0;color:var(--muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.gap-sentence{font-size:1.35rem;line-height:2.4;white-space:pre-wrap}.gap-input{font-size:1.2rem;font-weight:600;border:none;border-bottom:2px solid var(--primary);background:var(--primary-soft);border-radius:6px 6px 0 0;padding:.1rem .35rem;margin:0 .1rem;outline:none;text-align:center;max-width:100%}.gap-input:focus{background:color-mix(in srgb,var(--primary) 18%,var(--surface))}.answer-input{width:100%;font-size:1.2rem;border:2px solid var(--border);background:var(--surface);border-radius:12px;padding:.8rem 1rem;outline:none}.answer-input:focus{border-color:var(--primary)}.letter-keys{display:flex;flex-wrap:wrap;gap:.35rem}.letter-key{min-width:2.4rem;border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:.3rem .5rem;font-weight:600}.letter-key:hover{border-color:var(--primary)}.exercise-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:.3rem}.exercise-actions .button.primary{min-width:140px}.mic-area{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0}.mic-button{width:84px;height:84px;border-radius:50%;border:none;display:grid;place-items:center;background:var(--primary);color:var(--primary-text);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 35%,transparent);transition:transform .1s}.mic-button:active{transform:scale(.95)}.mic-button.listening{background:var(--danger);box-shadow:0 0 color-mix(in srgb,var(--danger) 50%,transparent);animation:ring 1.4s ease-out infinite}@keyframes ring{0%{box-shadow:0 0 color-mix(in srgb,var(--danger) 45%,transparent)}to{box-shadow:0 0 0 22px transparent}}.feedback{--c: var(--success);--soft: var(--success-soft);display:flex;flex-direction:column;gap:.75rem;border-radius:14px;padding:1rem 1.1rem;background:var(--soft);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);animation:pop-in .22s cubic-bezier(.2,.9,.3,1.3)}.feedback.partial{--c: var(--warning);--soft: var(--warning-soft)}.feedback.wrong{--c: var(--danger);--soft: var(--danger-bg)}.feedback-head{display:flex;align-items:center;gap:.7rem;color:var(--c)}.feedback.correct .feedback-head svg{animation:bump .45s ease-out}.feedback.wrong .feedback-head svg{animation:shake .4s ease-in-out}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.feedback-title{font-weight:800;font-size:1.15rem}.feedback-sub{font-size:.8rem;color:var(--muted)}.diff-line{display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:1.05rem;padding:.5rem .65rem;background:var(--surface);border-radius:10px}.diff-word{display:inline-flex;align-items:baseline;gap:.25rem}.diff-word.typo{text-decoration:underline wavy var(--warning);text-underline-offset:4px}.diff-word.wrong,.diff-word.extra{color:var(--danger);text-decoration:line-through}.diff-word.missing{color:var(--success);font-weight:700}.diff-word ins{text-decoration:none;color:var(--success);font-weight:700}.expected{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.expected-text{font-size:1.35rem;font-weight:700}.feedback-text{margin:0;display:flex;gap:.35rem;align-items:baseline}.feedback-text svg{color:var(--zap);position:relative;top:2px}.session-complete{position:relative;overflow:hidden;text-align:center;padding:2.2rem 1.5rem;border-radius:20px}.complete-emoji{font-size:3rem;animation:bump .6s ease-out}.tally{display:flex;justify-content:center;gap:.75rem;margin:1rem 0}.tally-item{font-weight:800;padding:.35rem .9rem;border-radius:999px}.tally-item.correct{color:var(--success);background:var(--success-soft)}.tally-item.partial{color:var(--warning);background:var(--warning-soft)}.tally-item.wrong{color:var(--danger);background:var(--danger-bg)}.streak-line{display:inline-flex;align-items:center;gap:.35rem;color:var(--flame);font-weight:700}.complete-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:.75rem}.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:0;animation:confetti 2.2s ease-out forwards}.confetti i:nth-child(6n+1){background:var(--primary)}.confetti i:nth-child(6n+2){background:var(--flame)}.confetti i:nth-child(6n+3){background:var(--success)}.confetti i:nth-child(6n+4){background:var(--zap)}.confetti i:nth-child(6n+5){background:var(--ice)}.confetti i:nth-child(6n){background:var(--feminine)}.confetti i:nth-child(1){left:5%;animation-delay:0s}.confetti i:nth-child(2){left:11%;animation-delay:.15s}.confetti i:nth-child(3){left:17%;animation-delay:.05s}.confetti i:nth-child(4){left:23%;animation-delay:.3s}.confetti i:nth-child(5){left:29%;animation-delay:.1s}.confetti i:nth-child(6){left:35%;animation-delay:.25s}.confetti i:nth-child(7){left:41%;animation-delay:.02s}.confetti i:nth-child(8){left:47%;animation-delay:.2s}.confetti i:nth-child(9){left:53%;animation-delay:.12s}.confetti i:nth-child(10){left:59%;animation-delay:.35s}.confetti i:nth-child(11){left:65%;animation-delay:.07s}.confetti i:nth-child(12){left:71%;animation-delay:.22s}.confetti i:nth-child(13){left:77%;animation-delay:.17s}.confetti i:nth-child(14){left:83%;animation-delay:.04s}.confetti i:nth-child(15){left:89%;animation-delay:.28s}.confetti i:nth-child(16){left:95%;animation-delay:.1s}.confetti i:nth-child(17){left:38%;animation-delay:.4s}.confetti i:nth-child(18){left:62%;animation-delay:.45s}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(320px) rotate(540deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app-header{position:sticky}.header-start{display:flex;align-items:center;gap:.75rem;min-width:0}.course-picker{position:relative}.course-button{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.25rem .6rem .25rem .3rem;font-weight:600;font-size:.88rem;white-space:nowrap}.course-button:hover{border-color:var(--primary)}.course-badge{display:inline-flex;align-items:center;gap:.2rem;color:var(--muted)}.lang-code{display:inline-grid;place-items:center;min-width:1.9rem;padding:.05rem .35rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lang-code.native{background:var(--surface-3);color:var(--text)}.lang-code.learning{background:var(--primary);color:var(--primary-text)}.course-badge.md .lang-code{min-width:2.3rem;font-size:.8rem;padding:.15rem .45rem}.course-dropdown{left:0;right:auto;min-width:270px}.course-dropdown button{justify-content:flex-start}.course-check{margin-left:auto;color:var(--success)}.course-options{display:flex;flex-direction:column;gap:.45rem}.course-option{display:flex;align-items:center;gap:.8rem;text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:12px;padding:.6rem .8rem;transition:border-color .15s,background .15s}.course-option:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.course-option.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.course-option-text{display:flex;flex-direction:column;line-height:1.3}.header-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;padding:0;border:none;background:transparent;overflow:hidden;cursor:pointer}.header-progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--zap));border-radius:0 3px 3px 0;transition:width .6s cubic-bezier(.2,.8,.2,1)}.header-progress.done .header-progress-fill{background:linear-gradient(90deg,var(--flame),#f7a933)}.header-progress:hover{height:5px}.progress-dialog{display:flex;flex-direction:column;gap:1.1rem}.progress-dialog .stat-tiles{grid-template-columns:repeat(2,1fr)}.streak-calendar{border:1px solid var(--border);border-radius:14px;padding:.8rem;background:var(--surface-2)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.calendar-title{text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekday{text-align:center;font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.15rem}.calendar-day{aspect-ratio:1;border-radius:7px;display:grid;place-items:center;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border)}.calendar-day.future{opacity:.4;background:transparent}.calendar-day.done{background:var(--flame);border-color:transparent;color:#fff}.calendar-day.frozen{background:var(--ice);border-color:transparent;color:#fff}.calendar-day.failed{background:var(--danger);border-color:transparent;color:#fff}.calendar-day.pending{border:2px dashed var(--flame);color:var(--text)}.calendar-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.7rem;font-size:.78rem;color:var(--muted)}.calendar-legend span{display:inline-flex;align-items:center;gap:.35rem}.calendar-legend .calendar-day{width:12px;height:12px;aspect-ratio:auto;border-radius:3px;display:inline-block}.study-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.4rem;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 60%),var(--surface)}.study-cta-title{font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.flip{transform:rotate(180deg)}.new-deck-panel{margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem;border-color:color-mix(in srgb,var(--primary) 35%,var(--border));animation:drop-in .2s cubic-bezier(.2,.9,.3,1.1);transform-origin:top}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px) scaleY(.97)}}.new-deck-head{display:flex;align-items:center;justify-content:space-between}.new-deck-head h3{margin:0;display:inline-flex;align-items:center;gap:.35rem;color:var(--primary)}.new-deck-form{display:flex;flex-direction:column;gap:.8rem}.new-deck-options{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.new-deck-options .button{margin-left:auto}.new-deck-topics{border-top:1px solid var(--border);padding-top:.9rem;max-height:420px;overflow:auto}.new-deck-topics>.muted{margin-bottom:.7rem}.topic-tile.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface));box-shadow:0 0 0 1px var(--primary)}.gloss-word{cursor:help;border-bottom:1px dotted color-mix(in srgb,var(--primary) 55%,transparent);border-radius:2px;outline:none}.gloss-word:hover,.gloss-word.active,.gloss-word:focus-visible{background:color-mix(in srgb,var(--primary) 14%,transparent);border-bottom-color:var(--primary)}.gloss-tooltip{position:fixed;z-index:90;display:flex;flex-direction:column;gap:.1rem;width:max-content;max-width:240px;padding:.5rem .75rem;border-radius:10px;background:var(--text);color:var(--bg);font-size:.85rem;line-height:1.35;box-shadow:var(--shadow-lg);pointer-events:none;animation:fade-in .12s ease-out}.gloss-tooltip strong{font-size:.95rem}.history-item[aria-pressed=true]{font-weight:600}.review-banner{align-self:center;font-size:.82rem;font-weight:600;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:.3rem .9rem}.feedback-actions{display:flex;gap:.6rem;margin-top:1.1rem}.feedback-actions .button{flex:1}.card-explanation{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.card-explanation .analysis{margin-top:.5rem}.loading-explanation{display:flex;align-items:center;gap:.8rem}.explanation-title{display:inline-flex;align-items:center;gap:.35rem;color:var(--zap);margin-bottom:.3rem}.literal{margin:0}.reveal-cards{border:1px dashed var(--border)}.analysis.card{padding:1.4rem 1.5rem}.breakdown{display:flex;flex-direction:column;gap:1.4rem}.sentence-rows{display:flex;flex-direction:column}.sentence-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:baseline;gap:.25rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.sentence-row:first-child{padding-top:0}.sentence-row:last-child{border-bottom:none;padding-bottom:0}.sentence-row-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.sentence-row-text{font-size:1.05rem;line-height:1.55}.sentence-row.answer .sentence-row-text,.sentence-row.correct .sentence-row-text{font-size:1.4rem;line-height:1.5;letter-spacing:-.01em}.sentence-row.answer .sentence-row-text{color:var(--muted);font-weight:500}.sentence-row.correct .sentence-row-text{font-weight:700}.sentence-row-actions{display:flex;gap:.35rem;align-self:center}.literal{display:block;font-size:.85rem;color:var(--muted)}.sentence-row .diff-line{display:inline;padding:0;background:none;font-size:inherit}.sentence-row .diff-word{display:inline;margin-right:.3em}.sentence-row .diff-word.wrong,.sentence-row .diff-word.extra,mark.mistake{color:var(--danger);background:none;text-decoration:line-through;text-decoration-thickness:2px;padding:0}.sentence-row .diff-word.typo{color:var(--warning)}.sentence-row .diff-word.missing{color:var(--success)}.interactive-sentence{position:relative}.interactive-sentence .word{font:inherit;color:inherit;letter-spacing:inherit;border:none;background:none;padding:0 .04em;margin:0;border-radius:5px;cursor:pointer;transition:background .12s,color .12s}.interactive-sentence .word:hover,.interactive-sentence .word.selected{background:var(--primary-soft);color:var(--primary)}.interactive-sentence .word.lit{background:color-mix(in srgb,var(--warning) 24%,transparent);color:var(--text)}.word-pop{position:absolute;z-index:30;width:min(320px,100%);padding:.75rem .9rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:400;letter-spacing:normal;line-height:1.45;color:var(--text);text-align:left;animation:pop-in .12s ease-out}.word-pop-head{display:flex;align-items:center;gap:.5rem}.word-pop-head strong{font-size:1.05rem}.word-pop-meaning{flex:1;color:var(--muted)}.word-pop-meta{font-size:.78rem;color:var(--muted);margin-top:.15rem;text-transform:capitalize}.case-text{color:var(--c, var(--muted));font-weight:600}.case-text.case-nominative{--c: var(--nominative)}.case-text.case-accusative{--c: var(--accusative)}.case-text.case-dative{--c: var(--dative)}.case-text.case-genitive{--c: var(--genitive)}.word-pop-text{margin:.45rem 0 0}.word-pop .chips{margin-top:.5rem}.breakdown-section h4,.breakdown-section h3{margin:0 0 .55rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.mistake-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.mistake-fix{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;font-weight:600}.mistake-fix del{color:var(--danger);text-decoration-thickness:2px}.mistake-fix ins{color:var(--success);text-decoration:none}.mistake-kind{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:capitalize}.mistake-list p{margin:.1rem 0 0;font-size:.9rem;color:var(--muted)}.part-chips{display:flex;flex-wrap:wrap;gap:.4rem}.part-chip{--role: var(--muted);display:inline-flex;align-items:baseline;gap:.4rem;border:1px solid var(--border);border-left:3px solid var(--role);background:var(--surface);border-radius:8px;padding:.3rem .65rem;font-weight:600;transition:background .12s,border-color .12s}.part-chip small{font-size:.7rem;font-weight:600;color:var(--role);text-transform:lowercase}.part-chip:hover,.part-chip.active{background:color-mix(in srgb,var(--role) 9%,var(--surface));border-color:var(--role)}.part-chip.role-subject{--role: var(--nominative)}.part-chip.role-verb{--role: var(--primary)}.part-chip.role-direct_object{--role: var(--accusative)}.part-chip.role-indirect_object{--role: var(--dative)}.part-chip.role-prepositional_phrase,.part-chip.role-adverbial{--role: var(--genitive)}.part-detail{margin:.6rem 0 0;font-size:.9rem;color:var(--muted);min-height:2.6em}.part-detail strong{color:var(--text);text-transform:capitalize}.breakdown-footer{border-top:1px solid var(--border);padding-top:.9rem;font-size:.88rem;color:var(--muted)}.breakdown-footer p{margin:0 0 .4rem}.verdict{--c: var(--success);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-bottom:.9rem;margin-bottom:1rem;border-bottom:1px solid var(--border);color:var(--c);animation:pop-in .22s cubic-bezier(.2,.9,.3,1.3)}.verdict.partial{--c: var(--warning)}.verdict.wrong{--c: var(--danger)}.verdict.correct svg{animation:bump .45s ease-out}.verdict.wrong svg{animation:shake .4s ease-in-out}.verdict-title{font-weight:800;font-size:1.05rem}.verdict-sub{margin-left:auto;font-size:.8rem;color:var(--muted)}.answer-comment{display:flex;flex-direction:column;gap:.3rem;padding-left:.8rem;border-left:3px solid var(--zap);font-size:.92rem}.answer-comment .feedback-text{margin:0}.loading-explanation{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.9rem}@media (max-width: 640px){.sentence-row{grid-template-columns:minmax(0,1fr)}.sentence-row-actions{flex-wrap:wrap;justify-self:start}.sentence-row.answer .sentence-row-text,.sentence-row.correct .sentence-row-text{font-size:1.2rem}}@media (min-width: 1000px){.breakdown{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem 2.5rem;align-items:start}.breakdown>.sentence-rows,.breakdown>.answer-comment,.breakdown>.breakdown-footer,.breakdown>.loading-explanation,.breakdown>.breakdown-section:only-of-type{grid-column:1 / -1}.sentence-row{grid-template-columns:9rem minmax(0,1fr) auto}.sentence-row.answer .sentence-row-text,.sentence-row.correct .sentence-row-text{font-size:1.6rem}.study-prompt{font-size:1.7rem}.study-card{padding:2rem 2.4rem}}.explanations-panel{display:flex;flex-direction:column;gap:.7rem}.explanations-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.explanations-title{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.explanations-title svg{color:var(--zap)}.token-estimate{font-size:.82rem;color:var(--muted)}.token-estimate strong{color:var(--text)}.explaining{display:inline-flex;align-items:center;gap:.3rem}.usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.7rem}.usage-grid>div{display:flex;flex-direction:column;background:var(--surface-2);border-radius:10px;padding:.6rem .75rem}.usage-table{width:100%;border-collapse:collapse;font-size:.85rem}.usage-table th,.usage-table td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--border)}.usage-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.community{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.25rem;align-items:start;max-width:1200px;margin:0 auto}.community .card{display:flex;flex-direction:column;gap:.8rem}.community-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.community-head h3{margin:0;display:inline-flex;align-items:center;gap:.4rem}.community-filters{display:flex;gap:.5rem;flex-wrap:wrap}.community .muted.small{margin:0}.board{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.board-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .4rem;border-bottom:1px solid var(--border)}.board-row:last-child{border-bottom:none}.board-row.me{background:var(--primary-soft);border-radius:10px;border-bottom-color:transparent}.board-rank{width:2rem;text-align:center;font-weight:800;color:var(--muted)}.board-name{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-streak{display:inline-flex;align-items:center;gap:.15rem;color:var(--flame);font-weight:700;font-size:.85rem}.board-score{font-weight:800;min-width:4.5rem;text-align:right}.board-score small{color:var(--muted);font-weight:500}.board-sort{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.board-stat{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.2rem;min-width:4.2rem;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.board-stat small{font-weight:500}.board-stat.streak{align-items:center;min-width:3rem}.board-stat.sorted{color:var(--text);font-weight:800}.board-stat.streak.sorted{color:var(--flame)}.board-gap{text-align:center;color:var(--muted)}.avatar.small{width:30px;height:30px;font-size:.72rem;flex-shrink:0}.friend-code{display:inline-flex;align-items:center;gap:.4rem;border:1px dashed var(--border);background:var(--surface-2);border-radius:10px;padding:.3rem .7rem}.friend-code strong{letter-spacing:.12em;font-family:ui-monospace,Cascadia Code,monospace}.friend-group h4{margin:.2rem 0 .4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.friend-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.friend-row:last-child{border-bottom:none}.friend-name{flex:1;min-width:0;font-weight:600}.friend-decks{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.5rem}.friend-decks li{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:12px}.friend-deck-text{flex:1;display:flex;flex-direction:column;min-width:0}.deck-stats{display:flex;flex-direction:column;gap:.6rem}.deck-stats h3{margin:0}.deck-stats-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.deck-stats-tiles{display:flex;gap:1.4rem;flex-wrap:wrap}.deck-stats-tiles>div{display:flex;flex-direction:column}.deck-stats-tiles strong{font-size:1.25rem;display:inline-flex;align-items:baseline;gap:.35rem}.deck-stats-tiles span{font-size:.75rem;color:var(--muted)}.delta{display:inline-flex;align-items:center;gap:.1rem;font-size:.8rem;font-weight:700}.deck-stats-tiles .delta.up{color:var(--success)}.deck-stats-tiles .delta.down{color:var(--danger)}.chart-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:.4rem}.chart-wrap{position:relative}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart-line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--primary);opacity:.08}.chart-dot{fill:var(--primary);stroke:var(--surface);stroke-width:2}.chart-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 12px));display:flex;flex-direction:column;gap:.1rem;white-space:nowrap;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;padding:.45rem .65rem;font-size:.8rem;pointer-events:none;z-index:5}.bar-correct{fill:var(--success);background:var(--success)}.bar-partial{fill:var(--warning);background:var(--warning)}.bar-wrong{fill:var(--danger);background:var(--danger)}.chart-legend{display:flex;gap:1rem;font-size:.78rem;color:var(--muted)}.chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}@media (max-width: 860px){.community{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.add-friends{display:none}.board-stat{min-width:0}.board-stat:not(.sorted) small{display:none}.friend-row{flex-wrap:wrap}}@media (max-width: 1080px){.lang-pair{display:none}}@media (max-width: 860px){.analyzer-layout,.grammar-layout{grid-template-columns:minmax(0,1fr)}.history,.grammar-nav{position:static;max-height:none}.app-main{padding:1rem}.stat-tiles{grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:1fr;gap:1.5rem;align-content:center}.auth-hero{text-align:center}.auth-features{align-items:center}}@media (max-width: 640px){.app-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface);padding:0 .9rem;gap:.5rem;justify-content:space-between}.settings-shortcut,.course-name{display:none}.header-start{gap:.5rem}.new-deck-options .button{margin-left:0;width:100%}.study-cta .button.large{width:100%}.tab-bar{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:25;justify-content:space-around;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom))}.tab{flex:1;flex-direction:column;gap:.15rem;padding:.4rem .25rem;font-size:.72rem}.tab.active{background:none}.tab-label{display:none}.tab-short{display:inline}.app-main{padding:.85rem .85rem calc(5rem + env(safe-area-inset-bottom))}.app-footer{display:none}.modal-backdrop{place-items:end stretch;padding:0}.modal,.modal.sm,.modal.lg{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in .25s cubic-bezier(.2,.9,.3,1)}@keyframes sheet-in{0%{transform:translateY(100%)}}.toasts{bottom:calc(5rem + env(safe-area-inset-bottom))}.card{padding:1rem}.flash-hero{padding:1.1rem}.stat-tile{padding:.6rem .7rem;gap:.5rem}.stat-value{font-size:1.2rem}.flash-hero-actions .button.large,.section-actions{width:100%}.section-actions .button{flex:1}.topic-grid,.deck-grid{grid-template-columns:1fr}.study-card{padding:1.2rem 1.1rem}.study-prompt{font-size:1.3rem}.gap-sentence{font-size:1.15rem}.exercise-actions .button{flex:1}.card-row{flex-direction:column}.card-row-side{flex-direction:row;align-items:center;justify-content:space-between}.profile-stats{grid-template-columns:repeat(2,1fr)}.setting-row{flex-wrap:wrap}.range-input input{width:140px}.learning-sentence{font-size:1.35rem}.auth-card{padding:1.4rem}.brand.big{font-size:2.1rem}}.username-field{display:flex;flex-direction:column;gap:.3rem}.username-input{display:flex;align-items:center;gap:.15rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:0 .75rem;transition:border-color .15s,box-shadow .15s}.username-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.username-input.taken,.username-input.invalid{border-color:var(--danger)}.username-input .at{color:var(--muted);font-weight:700}.username-field .username-input input{flex:1;min-width:0;border:none;box-shadow:none;outline:none;background:none;padding:.6rem .2rem}.username-input .ok{color:var(--success)}.username-input .bad{color:var(--danger)}.person-name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-handle{display:block;font-size:.75rem;font-weight:500;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-name,.friend-name{display:flex;flex-direction:column;min-width:0;line-height:1.3}.community-filters{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-title{text-transform:none}.show-phone,.grammar-select{display:none}.auth-features{align-self:center;text-align:left}@media (max-width: 860px){.grammar-select{display:flex;flex-direction:column;gap:.3rem}.grammar-select select{width:100%;font-size:1rem;font-weight:600;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.grammar-nav{display:none}}@media (max-width: 640px){:root{--header-h: 56px}.hide-phone{display:none!important}.show-phone{display:inline}.app-header{height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) .75rem 0;gap:.5rem}.brand{font-size:1.2rem}.header-start{gap:.45rem}.course-button{padding:.2rem .4rem .2rem .25rem;gap:.25rem}.course-badge.sm .lang-code{min-width:1.65rem;font-size:.68rem}.header-actions{gap:.4rem}.streak-pill{padding:.25rem .55rem}.avatar{width:34px;height:34px}.tab-bar{padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -6px 18px #0000000d}.tab{gap:.2rem;font-size:.7rem;font-weight:600}.tab svg{width:44px;height:26px;padding:3px 12px;border-radius:999px;transition:background .15s}.tab.active svg{background:var(--primary-soft)}.app-main{padding:.75rem .75rem calc(5.25rem + env(safe-area-inset-bottom))}.card{border-radius:16px;padding:1rem}h3{font-size:.72rem}.toasts{top:calc(var(--header-h) + 3.75rem + env(safe-area-inset-top));bottom:auto}.auth-page{padding:1.5rem 1rem 2rem;gap:1.25rem;align-content:start}.auth-hero{padding-top:1.5rem}.auth-tagline{font-size:1.05rem;margin:.35rem 0 0}.auth-features{display:none}.auth-card{padding:1.25rem;border-radius:20px}.phrase-input textarea{font-size:1rem}.phrase-input-actions .button{width:100%}.empty-state{padding:1.5rem .5rem;font-size:.92rem}.analysis.card{padding:1rem}.breakdown{gap:1.1rem}.sentence-row{padding:.6rem 0;gap:.1rem}.sentence-row-actions{margin-top:.4rem}.speak-button span{display:none}.speak-button,.speak-button.sm{padding:.4rem .65rem;font-size:.85rem}.history{padding:.9rem}.flashcards{gap:1.25rem}.study-cta{padding:1rem;gap:.75rem}.study-cta-title{font-size:1.15rem}.deck-tile{gap:.55rem}.deck-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem .85rem;align-items:center}.deck-emoji.big{font-size:2.2rem}.deck-hero-main{min-width:0}.deck-hero-main h2{font-size:1.2rem}.deck-hero-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem}.study{gap:.75rem}.study-top{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top));z-index:6;background:var(--bg);margin:-.75rem -.75rem 0;padding:.5rem .75rem}.study-card{padding:1.1rem 1rem;border-radius:18px}.study-prompt{font-size:1.25rem;margin-bottom:.9rem}.verdict{padding-bottom:.7rem;margin-bottom:.6rem}.feedback-actions{position:sticky;bottom:calc(4.75rem + env(safe-area-inset-bottom));z-index:4;margin:.75rem -1rem -1.1rem;padding:.9rem 1rem 1rem;background:linear-gradient(to bottom,transparent,var(--surface) 30%);border-radius:0 0 18px 18px}.letter-key{min-width:2.2rem;padding:.4rem .45rem}.grammar-layout{gap:.75rem}.topic h2{font-size:1.3rem}.community-filters{width:100%}.community-filters .segmented{display:flex;width:100%}.community-filters .segmented button{flex:1;justify-content:center;padding:.42rem .25rem;font-size:.82rem}.board-row{gap:.55rem;padding:.55rem .25rem}.board-stat:not(.sorted):not(.streak){display:none}.board-stat.sorted{min-width:3.4rem}.friend-row{flex-wrap:nowrap}.friend-code{width:100%;justify-content:space-between}.friends .inline-form{flex-direction:column}.friends .inline-form .button{width:100%}}.board-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.board-head h3{margin:0;display:inline-flex;align-items:center;gap:.4rem}.board-filter-button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.board-filter-button.open,.board-filter-button:hover{border-color:var(--primary);color:var(--primary)}.board-filters{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border-radius:14px;background:var(--surface-2);animation:drop-in .18s ease-out}.board-filter{display:flex;flex-direction:column;gap:.3rem}.board-filter>span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.board-filter .segmented{display:flex;background:var(--surface)}.board-filter .segmented button{flex:1;justify-content:center}.board-filter .segmented button.active{background:var(--primary-soft);color:var(--primary);box-shadow:none}.board-filters>.button{align-self:flex-end}.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:.5rem;padding-top:.5rem}.podium-spot{--c: var(--muted);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.podium-spot.place-1{--c: #e8a317}.podium-spot.place-2{--c: #8f9bb3}.podium-spot.place-3{--c: #c27c4a}.podium-crown{color:#e8a317;margin-bottom:.1rem}.podium-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary),var(--zap));box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--c);margin-bottom:.55rem}.place-1 .podium-avatar{width:66px;height:66px;font-size:1.15rem}.podium-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-handle{font-size:.72rem;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-spot .score{margin:.25rem 0 .45rem}.podium-step{width:100%;display:grid;place-items:center;font-size:1.4rem;font-weight:900;color:var(--c);border-radius:12px 12px 4px 4px;background:color-mix(in srgb,var(--c) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-bottom:none}.place-1 .podium-step{height:76px}.place-2 .podium-step{height:54px}.place-3 .podium-step{height:40px}.podium-spot.me .podium-name{color:var(--primary)}.podium-spot.empty{visibility:hidden}.score{display:inline-flex;align-items:baseline;gap:.2rem;font-weight:800;font-variant-numeric:tabular-nums}.score small{font-size:.72rem;font-weight:600;color:var(--muted)}.score.big{font-size:1.15rem}.score.streak{align-items:center;color:var(--flame)}.leaderboard .board{border-top:1px solid var(--border);padding-top:.25rem}.leaderboard .board-row .score{min-width:4rem;justify-content:flex-end}.leaderboard .board-rank{font-size:.9rem}@media (max-width: 640px){.board-filter-button{font-size:.75rem;padding:.3rem .6rem}.podium{gap:.35rem}.podium-avatar{width:46px;height:46px;font-size:.85rem}.place-1 .podium-avatar{width:58px;height:58px}.podium-name{font-size:.88rem}}.auth-page.single{grid-template-columns:minmax(0,440px);justify-content:center}.auth-page.single .text-button{align-self:center}.language-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;position:relative;background:radial-gradient(60rem 30rem at 50% -10%,var(--primary-soft),transparent 70%),var(--bg)}.language-choice{width:min(100%,440px);display:flex;flex-direction:column;align-items:center;text-align:center}.language-choice .brand{margin-bottom:1.75rem}.language-choice-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--primary);box-shadow:var(--shadow);margin-bottom:1rem}.language-choice h1{margin:0;font-size:1.55rem;letter-spacing:-.02em}.language-choice>p{margin:.35rem 0 1.5rem;font-size:1.05rem}.language-list{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:.65rem}.language-row{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.language-row:hover,.language-row:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),var(--shadow);transform:translateY(-1px);outline:none}.language-row:active{transform:translateY(0)}.language-flag{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--surface-2);flex-shrink:0}.language-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.language-text strong{font-size:1.08rem}.language-text small{color:var(--muted)}.language-go{color:var(--muted);transition:transform .15s,color .15s}.language-row:hover .language-go{color:var(--primary);transform:translate(3px)}.language-more{margin-top:1.25rem}.flag{display:inline-block;vertical-align:middle;flex-shrink:0;border-radius:3px;box-shadow:0 0 0 1px #00000014}.flag-fallback{font-size:.7rem;font-weight:700}.course-badge .flag{border-radius:3px}.auth-theme{display:flex;align-items:center;gap:.5rem}.ui-language-switch{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.ui-language-switch button{border:0;background:transparent;padding:5px 8px;border-radius:999px;cursor:pointer;display:grid;place-items:center;opacity:.55;transition:opacity .15s,background .15s}.ui-language-switch button:hover{opacity:.9}.ui-language-switch button.active{background:var(--surface);opacity:1;box-shadow:var(--shadow)}.field-error{color:var(--danger-text);font-size:.82rem}.field.invalid input,.field.invalid .username-input{border-color:var(--danger)}.field.invalid .course-options{border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--danger)}.community{grid-template-columns:minmax(0,760px);justify-content:center}.board-row,.podium-spot,.friend-link,.link-like{font:inherit;color:inherit;background:none;border:0;text-align:inherit;cursor:pointer}.board-row{width:100%;border-bottom:1px solid var(--border);border-radius:10px;transition:background .12s}.board li:last-child .board-row{border-bottom:none}.board-row:hover,.board-row:focus-visible{background:var(--surface-2);outline:none}.board-row.me:hover{background:var(--primary-soft)}.podium-spot{padding:0;border-radius:14px;transition:transform .15s}.podium-spot:not(.empty):hover{transform:translateY(-2px)}.podium-spot:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.board-scope{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.board-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.empty-state .button{margin-top:.5rem}.friends-dialog{display:flex;flex-direction:column;gap:1rem}.friends-dialog .inline-form input{flex:1;min-width:0}.friend-link{width:100%;border-bottom:1px solid var(--border);border-radius:10px;padding:.55rem .4rem;transition:background .12s}.friend-link:hover,.friend-link:focus-visible{background:var(--surface-2);outline:none}.friend-open{display:inline-flex;align-items:center;gap:.1rem;white-space:nowrap}.link-like{padding:0;text-align:left}.link-like:hover .person-name{text-decoration:underline}.person{display:flex;flex-direction:column;gap:1.1rem}.person-hero{display:flex;align-items:center;gap:1rem}.person-hero-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.person-hero-text strong{font-size:1.2rem}.person-course{display:inline-flex;align-items:center;gap:.3rem;margin-top:.25rem}.person-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.person-stats>div{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;background:var(--surface-2);border-radius:12px;text-align:center}.person-stats strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.person-stats span{color:var(--muted);font-size:.78rem}.person-stats .flame-icon{color:var(--flame)}.person-stats .trophy-icon{color:#e8a317}.person-stats .check-icon{color:var(--success)}.person-relation{display:flex;align-items:center;gap:.4rem;justify-content:center;padding:.6rem;border-radius:10px;background:var(--surface-2)}.person-decks h4{margin:0 0 .25rem}.person-decks p{margin:0}.person-remove{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:.9rem}.person-remove .text-button{display:inline-flex;align-items:center;gap:.3rem}.deck-delete{flex-shrink:0;color:var(--muted);opacity:.45;transition:opacity .15s,color .15s}.deck-tile:hover .deck-delete,.deck-delete:focus-visible{opacity:1}.deck-delete:hover{color:var(--danger)}@media (hover: none){.deck-delete{opacity:.8}}.new-deck-panel>.segmented{align-self:flex-start}.text-deck-form{display:flex;flex-direction:column;gap:.9rem}.text-deck-intro{display:flex;gap:.45rem;align-items:flex-start;margin:0;line-height:1.5}.text-deck-intro svg{flex-shrink:0;margin-top:.2rem;color:var(--primary)}.text-deck-label{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.char-count{font-weight:500;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.char-count.over{color:var(--danger);font-weight:700}.field textarea{width:100%;min-height:9rem;resize:vertical;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:.7rem .8rem;font:inherit;line-height:1.5;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.field textarea[aria-invalid=true]{border-color:var(--danger)}.explanations-amount{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap}.vocabulary-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem;padding:0;border:0;background:none;color:var(--primary);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.vocabulary-link:hover{text-decoration:underline}.vocabulary{display:flex;flex-direction:column;gap:.9rem}.vocabulary-total{display:flex;gap:.75rem;align-items:center;padding:.8rem .9rem;border-radius:12px;background:var(--success-soft)}.vocabulary-total svg{color:var(--success);flex-shrink:0}.vocabulary-total div{display:flex;flex-direction:column}.vocabulary-total strong{font-size:1.1rem}.vocabulary-add{display:flex;gap:.5rem;align-items:flex-end}.vocabulary-add textarea{flex:1;min-width:0;resize:vertical;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:.55rem .7rem;font:inherit;outline:none}.vocabulary-add textarea:focus{border-color:var(--primary)}.vocabulary-search{display:flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:10px;padding:.4rem .7rem;color:var(--muted)}.vocabulary-search input{flex:1;border:0;outline:none;background:none;color:var(--text);font:inherit}.vocabulary-words,.text-word-list ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem;max-height:22rem;overflow-y:auto}.vocab-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .3rem .2rem .6rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:.88rem}.vocab-chip.manual{border-style:dashed}.vocab-chip button{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.vocab-chip button:hover{background:var(--danger-bg);color:var(--danger)}.vocab-chip.toggle{padding:.2rem .6rem;color:var(--text);font:inherit;font-size:.86rem;cursor:pointer}.vocab-chip.toggle.known{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 45%,var(--border));color:var(--success);font-weight:600}.known-words{display:flex;flex-direction:column;gap:.5rem}.check-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;cursor:pointer}.check-row input{margin-top:.2rem;accent-color:var(--primary)}.text-word-list summary{cursor:pointer;font-size:.85rem;color:var(--primary);font-weight:600;margin-bottom:.5rem}.profile-stats .profile-vocabulary{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));border-radius:10px;background:var(--success-soft);color:var(--text);font:inherit;cursor:pointer}.profile-vocabulary svg:first-child{color:var(--success)}.profile-vocabulary span{flex:1;text-align:left;font-size:.85rem!important}.profile-vocabulary:hover{border-color:var(--success)}.person-stats{grid-template-columns:repeat(4,1fr)}.person-stats .vocab-icon{color:var(--success)}@media (max-width: 480px){.person-stats{grid-template-columns:repeat(2,1fr)}}.card-due{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);cursor:help;white-space:nowrap}.card-due strong{color:var(--text);font-weight:600}.review-schedule{display:flex;flex-direction:column;gap:.75rem}.review-schedule h3{display:inline-flex;align-items:center;gap:.4rem;margin:0}.review-schedule>p{margin:0}.schedule-day-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:.25rem;margin-bottom:.25rem}.schedule-day-head strong:first-letter{text-transform:uppercase}.schedule-day ul{list-style:none;padding:0;margin:0}.schedule-day li{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem 0;cursor:help}.schedule-prompt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-when{display:inline-flex;gap:.5rem;white-space:nowrap}.schedule-interval{padding:0 .4rem;border-radius:999px;background:var(--surface-2)}.usage-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font:inherit;font-size:.78rem;cursor:pointer;white-space:nowrap}.usage-badge:hover{color:var(--text);border-color:var(--primary)}.usage-badge.low{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.usage-badge.empty{color:var(--danger-text);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.usage-badge.plain{margin-top:.4rem}.usage-reset{opacity:.85}.push-right{margin-left:auto;margin-right:.5rem}.new-deck-head{display:flex;align-items:center}.phrase-input-actions{flex-wrap:wrap;gap:.5rem}.char-count.full{color:var(--danger);font-weight:600}.menu-badge{margin-left:auto}.plans-reason{margin-bottom:1rem}.plan-usage{margin-bottom:1.25rem}.plan-usage h3{margin:0 0 .5rem;font-size:1rem}.plan-usage ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.4rem 1rem}.plan-usage li{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.88rem}.plan-usage li.empty strong{color:var(--danger)}.plans-table-wrap{overflow-x:auto;margin:0 -.25rem}.plans-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:480px}.plans-table th,.plans-table td{padding:.5rem .6rem;text-align:center;border-bottom:1px solid var(--border)}.plans-table td:first-child{text-align:left;color:var(--muted)}.plans-table th{vertical-align:top}.plans-table .current{background:var(--primary-soft)}.plan-name{font-size:1.05rem;font-weight:700}.plan-price{font-weight:600}.plans-table .yes{color:var(--success)}.plans-table .no{color:var(--muted)}.plans-note{margin-top:1rem}.library{margin-top:1.5rem}.library .section-head h3{display:flex;align-items:center;gap:.4rem}.library-level h4{margin:.9rem 0 .5rem}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}.library-tile{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;text-align:left;font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--border)}.library-tile:hover{border-color:var(--primary)}.library-tile.added{opacity:.75}.library-tile-text{display:flex;flex-direction:column;flex:1;min-width:0}.library-tile-text .muted{display:inline-flex;align-items:center;gap:.2rem}.library-added{color:var(--success)}.library-preview{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.55rem}.library-preview li{display:flex;gap:.5rem;align-items:flex-start}.library-preview-text{display:flex;flex-direction:column}.library-note{font-style:italic}.modal.danger .modal-header{background:var(--danger-bg);color:var(--danger-text)}.audio-unavailable{display:flex;gap:.85rem;align-items:flex-start;color:var(--danger-text)}.audio-unavailable svg{flex-shrink:0;color:var(--danger)}.audio-unavailable p{margin:0;color:var(--text)}.add-card-usage{align-self:flex-start}.note-box{padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--note-bg);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.text-deck-leftover{display:flex;flex-direction:column;gap:.75rem}.text-word-list.leftover{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.leftover-actions{display:flex;flex-wrap:wrap;gap:.5rem}.saved-word-lists{padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--surface-2)}.saved-word-lists h4{display:flex;align-items:center;gap:.35rem;margin:0 0 .4rem;font-size:.9rem}.saved-word-lists ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.saved-word-lists li{display:flex;align-items:center;gap:.5rem}.saved-list-name{display:flex;flex-direction:column;flex:1;min-width:0}.saved-list-name .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{display:inline-flex;align-items:center;gap:.4rem}.brand-mark{width:1.5em;height:1.5em;flex-shrink:0}.brand-mark .card.back{fill:color-mix(in srgb,var(--primary) 45%,var(--surface))}.brand-mark .card.front{fill:var(--primary)}.brand-mark .tick{fill:none;stroke:var(--primary-text);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.brand-word span{color:var(--primary)}.analysis-preview{display:flex;flex-direction:column;gap:.5rem;animation:pop-in .18s ease-out}.preview-sentence{font-size:1.35rem;font-weight:700;line-height:1.3}.preview-translation{font-size:1.02rem}.preview-corrections{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem}.preview-correct{color:var(--success);font-weight:600;font-size:.9rem}.preview-pending{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}.spinner.small{width:14px;height:14px;border-width:2px}.subscription-line{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.subscription-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 .3rem}.plan-choose{margin-top:.4rem}
