:root,[data-theme=light]{--bg:#e7dfcb;--surface:#faf6ec;--surface-2:#fffdf7;--surface-sunk:#d4c8ad;--nav-bg:#f2ecdf;--border:#d3c7ac;--border-strong:#ab9c7c;--hairline:#e4dbc7;--text:#2a2620;--text-2:#453e34;--text-muted:#5a5245;--text-subtle:#665d4e;--accent:#92422b;--accent-soft:#f2dbd3;--focus-ring:#92422b;--focus-ring-a:#92422b42;--on-accent:#fffdf7;--btn-ink-bg:#2a2620;--btn-ink-fg:#faf6ec;--overlay:#2a262070;--ok:#45604a;--ok-soft:#d9e3d8;--warn:#7d5100;--warn-soft:#f5e4c0;--danger:#a33328;--danger-soft:#f7ddd5;--art-der:#1f4f8f;--art-die:#a12a2a;--art-das:#2c6a34;--chart-grid:#2a262017;--r-sm:6px;--r-md:10px;--r-lg:12px;--r-xl:18px;--r-2xl:22px;--sh-1:0 1px 2px #4a3a260f, 0 2px 8px #4a3a260b;--sh-2:0 6px 20px #4a3a261c, 0 1px 3px #4a3a260f;--display-font:var(--font-serif), Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1424;--surface:#1b2745;--surface-2:#243357;--surface-sunk:#070c18;--nav-bg:#101828;--border:#303e60;--border-strong:#43537a;--hairline:#29365a;--text:#e6ecf7;--text-2:#c3cee3;--text-muted:#a2b0cb;--text-subtle:#8d9cba;--accent:#5eead4;--accent-soft:#123a3a;--focus-ring:#5eead4;--focus-ring-a:#5eead438;--on-accent:#062018;--btn-ink-bg:#e6ecf7;--btn-ink-fg:#0d1424;--overlay:#040812a8;--ok:#5eead4;--ok-soft:#12332b;--warn:#f2c14e;--warn-soft:#33290f;--danger:#ff6b6b;--danger-soft:#3a1f1d;--art-der:#8fb8f2;--art-die:#f29a9a;--art-das:#8fd69a;--chart-grid:#e6ecf71a;--sh-1:0 1px 3px #0000004d;--sh-2:0 4px 16px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark]{--bg:#0d1424;--surface:#1b2745;--surface-2:#243357;--surface-sunk:#070c18;--nav-bg:#101828;--border:#303e60;--border-strong:#43537a;--hairline:#29365a;--text:#e6ecf7;--text-2:#c3cee3;--text-muted:#a2b0cb;--text-subtle:#8d9cba;--accent:#5eead4;--accent-soft:#123a3a;--focus-ring:#5eead4;--focus-ring-a:#5eead438;--on-accent:#062018;--btn-ink-bg:#e6ecf7;--btn-ink-fg:#0d1424;--overlay:#040812a8;--ok:#5eead4;--ok-soft:#12332b;--warn:#f2c14e;--warn-soft:#33290f;--danger:#ff6b6b;--danger-soft:#3a1f1d;--art-der:#8fb8f2;--art-die:#f29a9a;--art-das:#8fd69a;--chart-grid:#e6ecf71a;--sh-1:0 1px 3px #0000004d;--sh-2:0 4px 16px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-h3:1.125rem;--fs-h2:clamp(1.3rem, 1.12rem + .7vw, 1.56rem);--fs-h1:clamp(1.875rem, 1.4rem + 2vw, 2.625rem);--fs-display:clamp(2.75rem, 2rem + 4vw, 4rem);--lh-tight:1.12;--lh-snug:1.3;--lh-body:1.6;--lh-prose:1.68;--measure:68ch;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--gap-section:16px;--pad-card:20px;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (min-width:768px){:root{--gap-section:20px;--pad-card:24px}}@media (min-width:1024px){:root{--gap-section:24px;--pad-card:28px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}p{margin:0 0 .75em}p:last-child{margin-bottom:0}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{font-family:var(--display-font);margin:0 0 var(--sp-3);text-wrap:balance;font-weight:600}h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.02em}h2{font-size:var(--fs-h2);letter-spacing:-.012em;line-height:1.22}h3{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:0;margin-bottom:var(--sp-2)}.mono{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums lining-nums}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle);font-size:var(--fs-sm);line-height:1.5}.shell{max-width:1080px;padding:max(20px, env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.screen-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-3) var(--sp-4);margin:var(--sp-1) 0 var(--sp-2);flex-wrap:wrap;display:flex}.screen-head p{margin:0}.screen-head p+h1,.screen-head p+h2{margin-top:var(--sp-1)}.screen-head h1+p{margin-top:var(--sp-2)}.stack{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);display:grid}.shell>.stack{gap:var(--gap-section)}.row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.grid-2{gap:var(--gap-section);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.grid-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--pad-card);box-shadow:var(--sh-1);overflow-wrap:anywhere;min-width:0}.card>:last-child{margin-bottom:0}.card.sunk{background:var(--surface-2)}.tile{gap:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-4) var(--sp-5);box-shadow:var(--sh-1);color:var(--text);text-decoration:none;display:grid}.tile:hover{border-color:var(--border-strong)}.tile .big{font-family:var(--display-font);font-size:1.6rem;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-5);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;text-align:center;cursor:pointer;border-radius:999px;font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s,filter .15s;display:inline-flex}.btn:hover{border-color:var(--text-subtle)}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}.btn.accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 3px 0 0 color-mix(in srgb, var(--accent) 64%, #000)}.btn.accent:hover{filter:brightness(1.06);border-color:var(--accent)}.btn.accent:active{box-shadow:0 1px 0 0 color-mix(in srgb, var(--accent) 64%, #000);transform:translateY(2px)}.btn.primary{box-shadow:0 3px 0 0 color-mix(in srgb, var(--btn-ink-bg) 55%, var(--bg))}.btn.primary:hover{border-color:var(--btn-ink-bg);filter:brightness(1.12)}.btn.primary:active{box-shadow:0 1px 0 0 color-mix(in srgb, var(--btn-ink-bg) 55%, var(--bg));transform:translateY(2px)}.btn[disabled].accent,.btn[disabled].primary{filter:none;transform:none}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:color-mix(in srgb, var(--text) 6%, transparent);border-color:#0000}.btn.danger{color:var(--danger)}.btn.small{min-height:44px;padding:0 var(--sp-4);font-size:var(--fs-sm)}@media (min-width:1024px) and (pointer:fine){.btn.small{min-height:38px}}.btn.icon{width:44px;padding:0}.btn.mic{background:var(--accent);width:76px;height:76px;color:var(--on-accent);border:none;border-radius:50%}.btn.mic.listening{box-shadow:0 0 0 8px var(--focus-ring-a)}.field{gap:var(--sp-2);display:grid}.field label,.label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.input,input[type=text],input[type=password],input[type=url],input[type=number],select,textarea{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);font:inherit;padding:10px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring-a)}textarea{resize:vertical;min-height:120px}.err{color:var(--danger);font-size:.9rem}.notice{border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:.9375rem;line-height:1.5}.art-der{color:var(--art-der);font-weight:600}.art-die{color:var(--art-die);font-weight:600}.art-das{color:var(--art-das);font-weight:600}.flash{border-radius:var(--r-2xl);border:2px solid var(--border);background:var(--surface);text-align:center;align-content:center;justify-items:center;gap:12px;min-height:260px;padding:28px 20px;transition:background .2s,border-color .2s;display:grid}.flash.ok{background:var(--ok-soft);border-color:var(--ok)}.flash.retry{background:var(--warn-soft);border-color:var(--warn)}.flash.failed{background:var(--danger-soft);border-color:var(--danger)}.flash .prompt{font-family:var(--display-font);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:600;line-height:1.2}.flash .answer{font-family:var(--display-font);font-size:clamp(1.4rem,5vw,2rem)}.progressbar{background:var(--surface-sunk);border-radius:999px;height:6px;overflow:hidden}.progressbar>span{background:var(--accent);height:100%;transition:width .25s;display:block}.diff-miss{-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);color:var(--danger)}.diff-sub{background:var(--warn-soft);color:var(--warn);border-radius:4px;padding:0 3px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:start;border-bottom:1px solid var(--hairline);vertical-align:top;padding:10px 8px}.table th{color:var(--text-subtle);font-size:.8rem;font-weight:600}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap .table th,.table-wrap .table td{overflow-wrap:normal}.tabbar{inset-inline:0;z-index:20;background:var(--nav-bg);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0}.tabbar ul{grid-auto-columns:1fr;grid-auto-flow:column;max-width:640px;margin:0 auto;padding:0;list-style:none;display:grid}.tabbar a{color:var(--text-muted);justify-items:center;gap:2px;padding:8px 4px 10px;font-size:.75rem;text-decoration:none;display:grid;position:relative}.tabbar a[aria-current=page]{color:var(--accent);font-weight:600}.tabbar svg{width:22px;height:22px}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:4px;left:calc(50% + 6px)}.footer{color:var(--text-subtle);flex-wrap:wrap;gap:16px;margin-top:40px;font-size:.85rem;display:flex}.footer a{color:var(--text-subtle)}.chat-list{gap:10px;display:grid}.msg{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;max-width:min(560px,88%);padding:10px 14px}.msg.mine{background:var(--surface-2);border-color:var(--border-strong);justify-self:end}.msg .meta{color:var(--text-subtle);justify-content:space-between;gap:8px;font-size:.75rem;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.skip-link{inset-inline-start:12px;z-index:50;border-radius:var(--r-md);background:var(--btn-ink-bg);color:var(--btn-ink-fg);padding:8px 14px;position:absolute;top:-60px}.skip-link:focus{top:12px}.screen-head.tight{margin:0 0 12px}.screen-head h1{margin:0}.big{font-family:var(--display-font);font-size:1.6rem;font-weight:600;line-height:1.1}.grow{flex:220px;min-width:0}.row.spread{justify-content:space-between}.pill{background:var(--surface-sunk);color:var(--text-2);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-inline-start:8px;padding:1px 9px;font-size:.75rem;font-weight:600;display:inline-block}p.pill{margin:0}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.more-link{align-items:center;gap:4px;margin-top:12px;font-weight:500;text-decoration:none;display:inline-flex}.notice.warn-notice{background:var(--warn-soft);border-color:var(--warn);color:var(--text)}.btn.danger:hover{border-color:var(--danger)}.btn.speak{width:40px;min-height:40px;color:var(--accent);vertical-align:middle}.hero-card{background:var(--surface-2);border-radius:var(--r-2xl);gap:10px;padding:24px;display:grid}.hero-card p{margin:0}.hero-num{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.hero-num .big{color:var(--accent);font-size:clamp(2.6rem,9vw,3.6rem)}.wod-word{font-family:var(--display-font);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 4px;font-size:1.7rem;font-weight:600;display:flex}.wod-word .art-der,.wod-word .art-die,.wod-word .art-das{margin-inline-end:6px}.wod p{margin:0 0 6px}.wod-ex{border-inline-start:3px solid var(--hairline);padding-inline-start:10px;margin-top:10px!important}.mini-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.mini-stats>div{gap:2px;display:grid}.lesson-list,.lesson-tiles,.sentence-list,.weak-list,.admin-items,.menu{margin:0;padding:0;list-style:none}.lesson-row{border-bottom:1px solid var(--hairline);color:var(--text);grid-template-columns:2.2em 1fr auto;align-items:center;gap:4px 12px;padding:12px 4px;text-decoration:none;display:grid}.lesson-list li:last-child .lesson-row{border-bottom:none}.lesson-row .progressbar{grid-column:2/4}.lesson-num{color:var(--text-subtle)}.lesson-title{overflow-wrap:anywhere;min-width:0;font-weight:500}.lesson-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;display:grid}.lesson-tile{border-radius:var(--r-2xl);gap:8px;height:100%;padding:18px}.lesson-tile-title{font-family:var(--display-font);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:1.2rem;font-weight:600;line-height:1.25}.md>:first-child{margin-top:0}.md h2,.md h3,.md h4{margin-top:1.2em}.md code,.code-sample,.md pre{font-family:var(--font-mono), ui-monospace, monospace;font-size:.9em}.md code{background:var(--surface-sunk);border-radius:4px;padding:1px 5px}.md pre,.code-sample,.extracted{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);white-space:pre;margin:0;padding:12px 14px;overflow-x:auto}.md pre code{background:0 0;padding:0}.extracted{white-space:pre-wrap;max-height:360px;margin-top:12px;font-size:.9rem;overflow-y:auto}.md blockquote{border-inline-start:3px solid var(--accent);color:var(--text-2);margin:1em 0;padding:4px 14px}.md hr{border:none;border-top:1px solid var(--hairline);margin:1.5em 0}.table.words td:last-child{white-space:nowrap;width:1%}.table.words td:nth-child(2){white-space:nowrap}.table.words td:nth-child(3){min-width:9em}.table.words .speak-group{flex-wrap:nowrap}.sentence-list li,.weak-list li{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.sentence-list li:last-child,.weak-list li:last-child{border-bottom:none}.sentence-list p,.weak-list p{margin:0}.sentence-de{font-family:var(--display-font);font-size:1.1rem}.video-card{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface-2);padding:14px 16px}.video-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.video-title{font-weight:600}.video-frame{aspect-ratio:16/9;border-radius:var(--r-lg);background:#000;margin-top:12px;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%}.period-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;display:grid}.period-h{color:var(--text-muted);font-size:1rem}.kv{gap:8px;margin:0;display:grid}.kv>div{justify-content:space-between;gap:8px;display:flex}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:600}.seg{border:1px solid var(--border-strong);border-radius:999px;display:inline-flex;overflow:hidden}.seg a{color:var(--text-2);padding:6px 14px;font-size:.875rem;text-decoration:none}.seg a[aria-current=true]{background:var(--btn-ink-bg);color:var(--btn-ink-fg)}.chart{width:100%;height:auto;display:block}.chart-axis{stroke:var(--border-strong)}.chart-grid{stroke:var(--chart-grid)}.chart .bar{fill:var(--accent)}.chart .bar-strong{fill:var(--ok)}.chart .bar-soft{fill:var(--accent-soft)}.chart-val,.chart-label{fill:var(--text-subtle);font-size:12px;font-family:var(--font-mono), ui-monospace, monospace}.legend{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dot{border-radius:3px;width:10px;height:10px;margin-inline-start:8px;display:inline-block}.dot-strong{background:var(--accent)}.dot-soft{background:var(--accent-soft);border:1px solid var(--border)}.board{margin:0;padding-inline-start:1.6em}.board li{border-bottom:1px solid var(--hairline);padding:8px 0}.board li>*{display:inline-flex}.board li .num{float:inline-end}.board li.me .board-name{color:var(--accent);font-weight:700}.chat-screen{padding-bottom:96px}.chat-item{display:grid}.chat-day{justify-self:center;margin:8px 0 2px}.msg{position:relative}.msg-author{color:var(--text-2);font-weight:600}.msg-body{margin-top:2px}.msg-del{top:6px;width:30px;height:30px;color:var(--text-subtle);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-end:-36px}.msg.mine .msg-del{inset-inline:-36px auto}.msg-del:hover,.msg-del:focus-visible{opacity:1;color:var(--danger)}.chat-empty{text-align:center}.composer{inset-inline:0;bottom:calc(60px + env(safe-area-inset-bottom));z-index:15;background:var(--bg);border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px max(16px,50vw - 524px);display:flex;position:fixed}.composer textarea{resize:none;field-sizing:content;flex:1;min-height:44px;max-height:160px}.composer-err{flex-basis:100%;margin:0}.choice{border:none;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0;padding:0;display:flex}.choice legend{margin-bottom:8px}.choice-opt,.check{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:inline-flex}.choice-opt input,.check input{width:20px;height:20px;accent-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}input[type=time],input[type=file]{max-width:100%}.sticky-save{bottom:calc(68px + env(safe-area-inset-bottom));background:var(--bg);padding:10px 0;position:sticky}.menu{padding:4px 0}.menu li+li{border-top:1px solid var(--hairline)}.menu form{margin:0}.menu-row{width:100%;min-height:56px;color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;padding:0 4px;text-decoration:none;display:flex}.menu-row span{flex:1}.menu-row.danger{color:var(--danger)}.menu-chev{color:var(--text-subtle)}.copy-box{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.copy-text{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);min-width:0;font-family:var(--font-mono), ui-monospace, monospace;white-space:pre-wrap;overflow-wrap:anywhere;flex:220px;margin:0;padding:10px 12px}.qr{border-radius:var(--r-lg);border:1px solid var(--border);width:min(240px,100%);height:auto}.inline-form{border-top:1px dashed var(--border);padding-top:16px}.inline-form h3{margin:0}.field.narrow{flex:0 0 96px}.field.grow{flex:220px}.row>.field{min-width:0}.row:has(>.field){align-items:flex-end}.item-fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px 12px;display:grid}.item-fields .field.wide{grid-column:span 2}@media (max-width:480px){.item-fields .field.wide{grid-column:1/-1}}.admin-item{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.admin-item.editing{background:var(--surface-2);border-radius:var(--r-lg);padding:12px;display:grid}.admin-item-text{flex:260px;min-width:0}.admin-item-text .pill{margin-inline-start:0}.row-off td{color:var(--text-subtle)}.row-bad td{background:var(--danger-soft)}.preview-table{max-height:420px;overflow-y:auto}.edit-table input,.edit-table select{min-width:90px;min-height:38px;padding:6px 8px}.edit-table td{padding:6px 4px}.edit-table td>*+*{margin-top:4px}details>summary{cursor:pointer;font-weight:500}.login-wrap{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px 24px;place-content:center;gap:16px;display:grid}.login-card{border-radius:var(--r-2xl);gap:8px;width:min(420px,100vw - 32px);padding:28px 24px;display:grid}.login-card h1{margin:0}.brand-mark{background:var(--accent);width:52px;height:64px;color:var(--on-accent);font-family:var(--display-font);border-radius:12px;place-items:center;margin:0 0 8px;font-size:2rem;font-weight:700;display:grid;transform:rotate(-4deg)}.footer.center{justify-content:center;margin-top:0}.legal{gap:16px;max-width:820px;padding-bottom:48px;display:grid}@media (min-width:1024px){.tabbar{top:0;border-top:none;border-inline-end:1px solid var(--border);width:96px;padding:24px 0 0;inset-inline-end:auto}.tabbar ul{grid-auto-rows:min-content;grid-auto-flow:row;gap:6px}.tabbar a{border-radius:var(--r-lg);margin:0 8px;padding:12px 6px}.tabbar a[aria-current=page]{background:var(--accent-soft)}.tabbar a:hover{color:var(--text)}.badge{top:6px}.app-frame .shell{padding-inline-start:128px;max-width:1200px;padding-bottom:48px}.composer{inset-inline-start:96px;padding-bottom:16px;bottom:0}.chat-screen{padding-bottom:80px}.sticky-save{bottom:0}}.speak-group{align-items:center;gap:2px;display:inline-flex}.speakable{cursor:pointer;-webkit-text-decoration:underline dotted var(--text-subtle);text-decoration:underline dotted var(--text-subtle);text-underline-offset:4px;border-radius:var(--r-sm);text-decoration-thickness:1.5px}.speakable:hover{background:var(--accent-soft);text-decoration-style:solid}.speakable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.intro-card{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-2xl);justify-items:center;gap:14px;padding:24px 18px;display:grid}.intro-card .intro-de{font-family:var(--display-font);overflow-wrap:anywhere;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.15}.intro-card .intro-ru{color:var(--text-2);font-size:1.2rem}.intro-badge{color:var(--text-muted);letter-spacing:.04em;font-size:.85rem}.strength{vertical-align:middle;align-items:center;gap:8px;display:inline-flex}.strength-track{background:var(--surface-2);border:1px solid var(--text-subtle);box-sizing:border-box;border-radius:999px;width:72px;height:10px;display:inline-block;overflow:hidden}.strength-fill{background:var(--accent);height:100%;display:block}.strength-num{color:var(--text-muted);min-width:3ch;font-size:.85rem}.switch-row{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;display:flex}.switch-row input{width:20px;height:20px;margin-top:2px}.teaser-btn{opacity:1;cursor:not-allowed;border-style:dashed}.avatar{object-fit:cover;background:var(--surface-sunk);vertical-align:middle;border-radius:50%;flex:none;display:inline-block}.msg .meta,.board li{align-items:center;gap:8px;display:flex}.board li>.num{float:none;margin-inline-start:auto}.board-name{overflow-wrap:anywhere;min-width:0}.profile-photo{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.check-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check-row input{accent-color:var(--accent);margin-top:4px}.block{display:block}.people-list,.dm-list{margin:0;padding:0;list-style:none}.person-row,.dm-row{border-bottom:1px solid var(--hairline);color:var(--text);align-items:center;gap:12px;min-height:56px;padding:12px 4px;text-decoration:none;display:flex}.people-list li:last-child .person-row,.dm-list li:last-child .dm-row{border-bottom:none}.person-main,.dm-main{flex:1;gap:2px;min-width:0;display:grid}.person-name,.dm-name{overflow-wrap:anywhere;font-weight:600}.dm-last{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.presence{color:var(--text-subtle);font-size:.85rem}.presence.online{color:var(--ok);font-weight:600}.presence.online:before{content:"";background:var(--ok);border-radius:50%;width:8px;height:8px;margin-inline-end:6px;display:inline-block}.pill-inline{margin-inline-start:auto;display:inline-block;position:static}.person-card{justify-items:start;gap:12px;display:grid}.person-bio{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.dm-screen{padding-bottom:96px}.dm-screen .screen-head .row>div{flex:1 1 0;min-width:0}.dm-screen .screen-head h1{overflow-wrap:anywhere}.nav-tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.nav-tile{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);height:100%;color:var(--text);gap:2px;padding:14px 16px;text-decoration:none;display:grid;position:relative}.nav-tile:hover{border-color:var(--border-strong)}.nav-tile strong{font-weight:600}.nav-tile .subtle{overflow-wrap:anywhere}.nav-tile .badge{top:10px;inset-inline:auto 12px}.landing{gap:20px;max-width:640px;margin:0 auto;padding:12vh 20px 40px;display:grid}.landing h1{font-family:var(--display-font);margin:0;font-size:clamp(2rem,6vw,2.8rem)}.landing-points{gap:8px;margin:0;padding-inline-start:1.2em;display:grid}.msg .meta time{margin-inline-start:auto}.lead{color:var(--text-2);margin:0;font-size:1.15rem}.screen-head h1 a{color:inherit;text-decoration:none}.screen-head h1 a:hover,.screen-head h1 a:focus-visible{text-decoration:underline}input::placeholder,textarea::placeholder{color:var(--text-subtle);opacity:1}.avatar-editor{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--surface);width:min(100% - 32px,420px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--sh-2);padding:20px;overflow:auto}.avatar-editor::backdrop{background:var(--overlay)}.avatar-editor h2{font-family:var(--display-font);margin:0}.avatar-editor .subtle{margin:0}.ae-viewport{aspect-ratio:1;border-radius:var(--r-lg);background:var(--surface-sunk);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;width:100%;position:relative;overflow:hidden}.ae-viewport:active{cursor:grabbing}.ae-viewport:focus-visible{box-shadow:0 0 0 3px var(--focus-ring-a), 0 0 0 2px var(--focus-ring)}.ae-viewport.is-empty{cursor:default}.ae-img{pointer-events:none;-webkit-user-drag:none;max-width:none;position:absolute;top:50%;left:50%}.ae-mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 9999px #0d14249e,inset 0 0 0 2px #fffdf7d9}.ae-zoom{align-items:center;gap:10px;display:flex}.ae-zoom .btn.icon{flex:none;width:44px;min-height:44px;font-size:1.25rem;line-height:1}.ae-zoom input[type=range]{cursor:pointer;flex:1;min-width:0;height:44px;margin:0}.ae-actions{justify-content:flex-end}@media (prefers-reduced-motion:no-preference){.avatar-editor[open]{animation:.18s ease-out ae-in}@keyframes ae-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}}.mat-pages{gap:16px;margin:0;padding:0;list-style:none;display:grid}.mat-pages a{display:block}.mat-page-img{border:1px solid var(--border);background:var(--surface-2);border-radius:2px;width:100%;max-width:900px;height:auto;margin:0 auto;display:block}.hw-thumbs{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.hw-thumb{align-content:start;gap:6px;min-width:0;display:grid}.hw-thumb img,.hw-preview img{object-fit:contain;border:1px solid var(--border);background:var(--surface-2);border-radius:2px;width:100%;height:auto;max-height:320px;display:block}.hw-preview{gap:6px;max-width:320px;margin:0;display:grid}.hw-pick{overflow-wrap:anywhere;align-items:flex-start;padding-top:10px}.hw-pick input{flex:none;margin-top:2px}.talk-fieldset{border:0;gap:2px;margin:0;padding:0}.talk-fieldset legend{margin-bottom:6px}.talk-opt{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding-top:8px;display:flex}.talk-opt input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.talk-opt:has(input:disabled){cursor:default;opacity:.55}.talk-consent{align-items:flex-start}.talk-consent input{flex:none;margin-top:2px}.talk-stage{justify-items:center;gap:12px;padding-block:32px 24px;display:grid}.talk-orb{justify-items:center;gap:16px;margin:0;display:grid;position:relative}.talk-orb-ring,.talk-orb-core{aspect-ratio:1;border-radius:50%;grid-area:1/1;width:min(44vw,180px)}.talk-orb-core{background:radial-gradient(circle at 35% 30%, var(--surface-2), var(--accent-soft) 55%, var(--accent) 140%);box-shadow:var(--sh-2);will-change:transform;transition:background-color .3s}.talk-orb-ring{border:2px solid #0000;transition:border-color .25s,transform .25s;transform:scale(1.12)}.talk-orb-caption{color:var(--text-2);text-align:center;grid-area:2/1;min-height:1.5em;font-weight:500}.talk-orb[data-state=waiting] .talk-orb-core,.talk-orb[data-state=muted] .talk-orb-core{background:radial-gradient(circle at 35% 30%, var(--surface-2), var(--surface-sunk) 70%)}.talk-orb[data-state=user] .talk-orb-ring{border-color:var(--accent);transform:scale(1.18)}.talk-orb[data-state=tutor] .talk-orb-ring{border-color:var(--border-strong)}@media (prefers-reduced-motion:no-preference){.talk-orb[data-state=waiting] .talk-orb-ring{border-color:var(--border);animation:2.4s ease-in-out infinite talk-wait}}@keyframes talk-wait{0%,to{opacity:.4;transform:scale(1.06)}50%{opacity:1;transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){.talk-orb-core,.talk-orb-ring{transition:none}}.talk-left{margin:0}.talk-rec{color:var(--danger);align-items:center;gap:8px;font-weight:500;display:inline-flex}.talk-rec-dot{background:var(--danger);border-radius:50%;width:10px;height:10px}@media (prefers-reduced-motion:no-preference){.talk-rec-dot{animation:1.6s ease-in-out infinite talk-rec}}@keyframes talk-rec{50%{opacity:.35}}.talk-controls{justify-content:center}.talk-mistakes,.talk-words,.talk-history,.talk-transcript{gap:10px;margin:0;padding:0;list-style:none;display:grid}.talk-mistake{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);overflow-wrap:anywhere;gap:2px;padding:10px 12px;display:grid}.talk-wrong s{color:var(--danger);text-decoration-thickness:1px}.talk-right strong{color:var(--ok)}.talk-words li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.talk-history li{border-bottom:1px solid var(--hairline);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding-bottom:10px;display:flex}.talk-history li:last-child{border-bottom:0;padding-bottom:0}.talk-turn{border-radius:var(--r-md);overflow-wrap:anywhere;gap:2px;max-width:85%;padding:10px 12px;display:grid}.talk-turn[data-role=bot]{background:var(--surface-2);border:1px solid var(--hairline);justify-self:start}.talk-turn[data-role=user]{background:var(--accent-soft);justify-self:end}.talk-who{font-size:.8rem}.talk-correction{font-size:.925rem}.table-wrap{overscroll-behavior-x:contain}@media (max-width:480px){.table.words td:nth-child(2){white-space:normal}.table-wrap .table.words td{overflow-wrap:anywhere}.table.words td:nth-child(3),.table.words td:nth-child(4){min-width:0}}.flash{overflow-wrap:anywhere;min-width:0;max-width:100%;box-shadow:var(--sh-1);border-radius:26px}.flash.ok{box-shadow:0 0 0 0 transparent, var(--sh-2)}.flash .prompt,.flash .answer{-webkit-hyphens:auto;hyphens:auto;max-width:100%}.flash .answer{font-weight:600;line-height:1.2}.prompt-sub{color:var(--text-muted);max-width:100%;font-size:1rem;line-height:1.35}.flash.has-hero{gap:10px}@media (max-width:480px){.flash.card-in{min-height:210px;padding:22px 16px}.mic-wrap{width:104px;height:104px}}.de-hero{font-family:var(--display-font);letter-spacing:-.01em;color:var(--text);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;min-width:0;max-width:100%;font-size:clamp(2.3rem,10.5vw,3.6rem);font-weight:600;line-height:1.08;display:flex}.de-hero.is-sentence{font-size:clamp(1.4rem,5.6vw,2rem);line-height:1.25}.de-hero .speakable{min-width:0}.de-hero .art-der,.de-hero .art-die,.de-hero .art-das{font-weight:700}.btn.hero-speak{font-family:var(--font-sans,inherit);background:var(--surface-2);flex:none;width:44px;min-height:44px;font-size:1rem}.result-status{align-items:center;gap:10px;font-size:1.1rem;display:inline-flex}.result-status.ok strong{color:var(--ok)}.result-status.retry strong{color:var(--warn)}.result-status.failed strong{color:var(--text-2)}.result-mark{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.result-mark.ok{background:var(--ok);color:var(--surface-2)}.result-mark.fail{background:var(--danger-soft);color:var(--danger);border:1.5px solid var(--danger);width:34px;height:34px}[data-theme=dark] .result-mark.ok{color:#062018}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .result-mark.ok{color:#062018}}.streak-note{font-size:.9rem}.mic-wrap{place-items:center;width:112px;height:112px;display:grid;position:relative}.mic-wrap .btn.mic{z-index:1;width:84px;height:84px;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 35%, transparent), var(--sh-1);transition:transform .15s,box-shadow .2s,background .15s;position:relative}.mic-wrap .btn.mic:hover{transform:translateY(-1px)}.mic-wrap .btn.mic:active{transform:scale(.95)}.mic-wrap .btn.mic.listening{box-shadow:0 0 0 6px var(--focus-ring-a), 0 6px 18px color-mix(in srgb, var(--accent) 40%, transparent)}.mic-icon{flex:none;display:block}.mic-ring{background:var(--accent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:14px}.mic-hint{text-align:center;overflow-wrap:anywhere;max-width:100%;min-height:1.4em}.voice-meter{opacity:0;justify-content:center;align-items:center;gap:3px;width:min(220px,100%);height:30px;transition:opacity .2s;display:flex}.voice-meter.on{opacity:1}.voice-meter>span{background:var(--accent);transform-origin:50%;will-change:transform;border-radius:999px;flex:1 1 0;max-width:6px;height:100%;transform:scaleY(.08)}.voice-meter>span:nth-child(odd){opacity:.75}.progressbar.live{height:10px;position:relative}.progressbar.live>span{background:var(--ok);border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1);position:relative}.progressbar.live>span:after{content:"";inset-inline:6px;background:#ffffff59;border-radius:999px;height:3px;position:absolute;top:2px}.progress-bump{color:var(--ok);font-size:.9rem;font-weight:700}@media (prefers-reduced-motion:no-preference){.flash.card-in{animation:.32s cubic-bezier(.22,1,.36,1) both train-card-in}.result-mark.ok{animation:.45s cubic-bezier(.34,1.56,.64,1) both train-mark-pop}.result-mark.ok .mark-path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.35s ease-out .12s forwards train-mark-draw}.result-mark.fail{animation:.25s ease-out both train-fade-in}.de-hero{animation:.36s cubic-bezier(.22,1,.36,1) both train-rise}.flash.ok{animation:.7s ease-out train-ok-glow}.mic-wrap.listening .btn.mic{animation:1.6s ease-in-out infinite train-mic-breathe}.mic-wrap.listening .mic-ring{animation:1.8s ease-out infinite train-mic-ring}.mic-wrap.listening .mic-ring.r2{animation-delay:.9s}.progress-bump{animation:.9s ease-out forwards train-bump}.streak-note{animation:.3s ease-out .15s both train-fade-in}}@keyframes train-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes train-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes train-fade-in{0%{opacity:0}to{opacity:1}}@keyframes train-mark-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@keyframes train-mark-draw{to{stroke-dashoffset:0}}@keyframes train-ok-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 45%, transparent), var(--sh-2)}to{box-shadow:0 0 0 14px transparent, var(--sh-2)}}@keyframes train-mic-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes train-mic-ring{0%{opacity:.32;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes train-bump{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.mic-wrap.listening .mic-ring{opacity:.18;transform:scale(1.3)}.progress-bump{display:none}}.setup-card{border-color:var(--border-strong)}.setup-steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.setup-step{border-top:1px solid var(--hairline);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.setup-step:first-child{border-top:none}.setup-mark{border:1.5px solid var(--border-strong);border-radius:50%;place-items:center;width:24px;height:24px;margin-top:1px;font-size:.8rem;font-weight:700;line-height:1;display:grid}.setup-step.done .setup-mark{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.setup-body{min-width:0}.install-card .btn{justify-self:start}.book-hero{grid-template-columns:120px minmax(0,1fr);align-items:center;gap:20px;display:grid}.book-cover{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);box-shadow:var(--sh-2);font-family:var(--display-font);align-content:space-between;padding:12px 10px;line-height:1.1;display:grid}.book-cover-pub{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:.7rem}.book-cover-title{font-size:1.5rem;font-weight:700}.book-cover-sub{margin-top:-14px;font-size:1rem}.book-cover-level{font-family:var(--font-sans), system-ui, sans-serif;border:1.5px solid;border-radius:999px;justify-self:start;padding:1px 8px;font-size:.8rem;font-weight:700}.book-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.book-steps li{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;display:grid}.book-step-num{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.book-done{border:1px solid var(--ok);border-radius:var(--r-md);background:var(--ok-soft);padding:12px 14px}.book-done .subtle{color:var(--text-2)}@media (max-width:480px){.book-hero{grid-template-columns:96px minmax(0,1fr);gap:14px}}.lesson-path ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-path a{border:1px solid var(--hairline);background:var(--surface-2);min-height:40px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:.95rem;text-decoration:none;display:inline-flex}.lesson-path a:hover{border-color:var(--accent);color:var(--text)}.lesson-path-n{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid}#l-topic .md,.lesson-grammar .md,.lesson-guide .md,.mat-explain .md{max-width:68ch}.lesson-grammar{border-inline-start:4px solid var(--accent)}.lesson-grammar h3,.lesson-guide h3,.mat-explain h3{margin-bottom:.4em;font-size:1.05rem}.lesson-grammar blockquote,.lesson-guide blockquote,.mat-explain blockquote{border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);margin:.8em 0;padding:10px 14px}.lesson-grammar li,.lesson-guide li,.mat-explain li{margin:.3em 0}@media (min-width:1024px){.app-frame{padding-inline-start:96px}.app-frame .shell{max-width:1040px;padding:var(--sp-10) var(--sp-10) var(--sp-12)}.composer{padding:12px max(40px,50vw - 528px) 16px}}.screen-head>div{min-width:0}.screen-head .subtle a{color:var(--text-muted);-webkit-text-decoration-color:color-mix(in srgb, var(--text-muted) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--text-muted) 45%, transparent)}.screen-head .subtle a:hover{color:var(--accent)}.lead{font-size:var(--fs-lg);line-height:1.5}.footer{margin-top:var(--sp-12);padding-top:var(--sp-5);border-top:1px solid var(--hairline)}.card>h2:first-child,.card>.screen-head.tight:first-child{margin-bottom:var(--sp-4)}.card>h2 .subtle,h2 .subtle.num{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--fs-sm);letter-spacing:0;vertical-align:.2em;background:var(--surface-sunk);color:var(--text-2);border-radius:999px;margin-inline-start:4px;padding:1px 8px;font-weight:600}.tile,.nav-tile,.lesson-row,.menu-row,.video-card,.lesson-path a{transition:border-color .15s ease, box-shadow .2s ease, transform .2s var(--ease-out), background-color .15s ease}@media (hover:hover){a.tile:hover,.nav-tile:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:var(--sh-2);transform:translateY(-2px)}a.tile:active,.nav-tile:active{transform:translateY(0)}}.pill{font-size:var(--fs-xs);letter-spacing:.01em;padding:2px 10px;line-height:1.5}.hero-card{isolation:isolate;gap:var(--sp-3);padding:var(--sp-6) var(--pad-card);border-color:color-mix(in srgb, var(--accent) 22%, var(--border));box-shadow:var(--sh-2);position:relative;overflow:hidden}.hero-card:after{content:"";z-index:-1;inset-inline-end:-70px;background:var(--accent-soft);opacity:.7;border-radius:50%;width:220px;height:220px;position:absolute;top:-70px}.hero-num{gap:var(--sp-3);align-items:baseline}.hero-num .big{font-size:var(--fs-display);letter-spacing:-.02em;line-height:1}.hero-num .muted{font-size:var(--fs-lg);color:var(--text-2);font-weight:500}.hero-card>p.muted{max-width:46ch}.hero-card .row{margin-top:var(--sp-2);gap:var(--sp-3)}.hero-card .btn.accent{min-height:52px;padding:0 var(--sp-8);font-size:1.0625rem}@media (max-width:480px){.hero-card .btn.accent,.hero-card .btn.ghost{flex:100%}}.nav-tiles{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}@media (min-width:768px){.nav-tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.nav-tile{gap:var(--sp-1);min-height:84px;padding:var(--sp-4);border-radius:var(--r-xl);box-shadow:var(--sh-1);align-content:start}.nav-tile strong{font-size:var(--fs-md);padding-inline-end:20px;line-height:1.3}.nav-tile .subtle{line-height:1.4}.nav-tile-ic{width:40px;height:40px;margin-bottom:var(--sp-2);border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);flex:none;place-items:center;display:inline-grid}.nav-tile-ic svg{display:block}@media (prefers-reduced-motion:no-preference) and (hover:hover){.nav-tile-ic{transition:transform .2s var(--ease-out)}.nav-tile:hover .nav-tile-ic{transform:scale(1.06)}}.wod-word{margin:0 0 var(--sp-2);font-size:clamp(1.75rem,1.4rem + 1.4vw,2.25rem);line-height:1.15}.wod-ex{border-inline-start:3px solid var(--accent-soft);padding-inline-start:var(--sp-3)}.mini-stats{gap:0}.mini-stats>div{gap:var(--sp-1);padding:0 var(--sp-3);border-inline-start:1px solid var(--hairline);min-width:0}.mini-stats>div:first-child{border-inline-start:none;padding-inline-start:0}.mini-stats .big{color:var(--text);font-size:clamp(1.75rem,1.5rem + 1vw,2.125rem)}.mini-stats .subtle{line-height:1.3}.more-link{margin-top:var(--sp-4);min-height:44px}.screen-head.tight .more-link{margin-top:0}.lesson-row{gap:6px var(--sp-3);padding:var(--sp-3) var(--sp-2);margin:0 calc(var(--sp-2) * -1);border-radius:var(--r-md);grid-template-columns:2.25rem minmax(0,1fr) auto;min-height:56px}@media (hover:hover){.lesson-row:hover{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}}.lesson-num{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);font-weight:700;font-size:var(--fs-sm);border-radius:50%;grid-row:span 2;place-items:center;display:grid}.lesson-pct{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.progressbar{height:8px}.progressbar>span{border-radius:999px}.lesson-tiles{gap:var(--gap-section);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.lesson-tile{gap:var(--sp-2);padding:var(--sp-5);grid-template-rows:auto 1fr auto auto;align-content:start}.lesson-tile>.subtle:first-child{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600}.lesson-tile-title{font-size:clamp(1.2rem,1.1rem + .4vw,1.375rem);line-height:1.25}.lesson-tile .progressbar{margin-top:var(--sp-1)}.book-listen{background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface));border-color:color-mix(in srgb, var(--accent) 22%, var(--border));box-shadow:none;gap:var(--sp-3)}.book-listen .row{gap:var(--sp-3) var(--sp-4)}.book-listen .btn,.mat-book .btn{border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.book-listen .btn:hover{background:var(--accent-soft)}.lesson-path ol{gap:var(--sp-2)}.lesson-path a{min-height:44px;padding:6px var(--sp-4) 6px 6px;border-color:var(--border);font-weight:500;font-size:var(--fs-sm);box-shadow:var(--sh-1)}.lesson-path a:hover{background:var(--surface)}.lesson-path-n{width:30px;height:30px}.anchor{scroll-margin-top:var(--sp-6)}.prose{line-height:var(--lh-prose)}.md{max-width:var(--measure)}.md p{margin:0 0 .85em}.md>:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 1em;padding-inline-start:1.35em}.md li::marker{color:var(--accent)}.md li{margin:.35em 0;padding-inline-start:2px}.md h2,.md h3,.md h4{margin:1.5em 0 .5em}.md h2{font-size:1.25rem}.md h3,.md h4{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:0;font-size:1.0625rem;font-weight:700}.md>h2:first-child,.md>h3:first-child{margin-top:0}@media (min-width:768px){.prose .md{font-size:1.0625rem}}.lesson-grammar h3,.lesson-guide h3,.mat-explain h3{margin:1.5em 0 .5em;font-size:1.0625rem}.lesson-grammar{border-inline-start:4px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 22%, var(--surface))}.lesson-grammar blockquote,.lesson-guide blockquote,.mat-explain blockquote{padding:var(--sp-3) var(--sp-4);border-inline-start:3px solid var(--accent);border-radius:var(--r-md);margin:1em 0}.lesson-grammar blockquote p,.lesson-guide blockquote p,.mat-explain blockquote p{margin:0}.md .table-wrap,.prose .table-wrap{margin:0 0 1em}.table th{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);padding-bottom:var(--sp-2);border-bottom-color:var(--border);font-weight:700}.table td{padding:var(--sp-3) var(--sp-2);line-height:1.45}.table tr:last-child td{border-bottom:none}.table.words td .pill{margin-inline-start:6px}.table.words td [data-testid=word-strength]{margin-top:6px}.sentence-list li{padding:var(--sp-3) 0;gap:var(--sp-3)}.sentence-list li>div{min-width:0}.sentence-de{font-size:1.1875rem;line-height:1.4;margin-bottom:2px!important}.btn.speak{flex:none;width:44px;min-height:44px}.video-card{padding:var(--sp-4) var(--sp-5);border-color:var(--border)}@media (hover:hover){.video-card:hover{border-color:var(--border-strong)}}.video-head{gap:var(--sp-3) var(--sp-4)}.video-head>div:first-child{flex:260px;min-width:0}.video-head p{margin:0}.video-title{font-size:var(--fs-md);line-height:1.35;margin-bottom:2px!important}.video-frame{margin-top:var(--sp-4)}.setup-steps{gap:0}.setup-step{gap:var(--sp-3);padding:var(--sp-4) 0;grid-template-columns:32px minmax(0,1fr)}.setup-step:last-child{padding-bottom:0}.setup-mark{width:28px;height:28px;font-size:var(--fs-sm);border-width:2px;margin-top:-2px}.setup-step.done .setup-mark{background:var(--ok);border-color:var(--ok);color:var(--surface-2)}.setup-step.done strong{color:var(--text-muted)}.setup-body strong{line-height:1.35}.book-hero{gap:var(--sp-6)}.book-hero>p{font-size:var(--fs-lg);color:var(--text-2);max-width:52ch;line-height:1.55}.book-steps{gap:var(--sp-5)}.book-steps li{grid-template-columns:32px minmax(0,1fr)}.book-step-num{width:32px;height:32px}@media (max-width:480px){.book-hero>p{font-size:var(--fs-md)}}.menu.card{padding:var(--sp-2) var(--sp-4)}.menu-row{gap:var(--sp-4);min-height:60px;padding:0 var(--sp-2);margin:0 calc(var(--sp-2) * -1);width:calc(100% + var(--sp-4));border-radius:var(--r-md);font-weight:500}.menu-row>svg:first-child{box-sizing:content-box;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);flex:none;padding:8px}.menu-row.danger>svg:first-child{background:var(--danger-soft);color:var(--danger)}@media (hover:hover){.menu-row:hover{background:color-mix(in srgb, var(--accent-soft) 40%, transparent)}}a.menu.card.menu-row{width:auto;padding:var(--sp-2) var(--pad-card);min-height:64px;margin:0}.choice{gap:var(--sp-2) var(--sp-5)}.seg a{min-height:44px;padding:0 var(--sp-4);align-items:center;font-weight:500;display:inline-flex}.period-h{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);font-weight:700}.kv{gap:var(--sp-2)}.kv>div{padding-bottom:var(--sp-2);border-bottom:1px solid var(--hairline)}.kv>div:last-child{border-bottom:none;padding-bottom:0}.kv dd{font-variant-numeric:tabular-nums}.msg{border-radius:var(--r-xl);padding:var(--sp-2) var(--sp-4) 10px;line-height:1.5}.msg.mine{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface-2));border-color:color-mix(in srgb, var(--accent) 25%, var(--border))}.tabbar{box-shadow:0 -1px 12px #0000000a}.tabbar a{gap:4px;min-height:60px;padding:8px 4px 10px;font-weight:500}.tabbar a svg{z-index:1;position:relative}.tabbar a:before{content:"";background:var(--accent-soft);opacity:0;width:52px;height:30px;transition:opacity .2s ease, transform .25s var(--ease-out);border-radius:999px;margin-left:-26px;position:absolute;top:5px;left:50%;transform:scaleX(.6)}.tabbar a[aria-current=page]:before{opacity:1;transform:none}.badge{z-index:2}@media (min-width:1024px){.tabbar{box-shadow:none}.tabbar a{min-height:0;padding:10px 6px 12px}.tabbar a:before{display:none}}.login-card{gap:var(--sp-3);padding:var(--sp-8) var(--sp-6);box-shadow:var(--sh-2)}.flash{box-shadow:var(--sh-2)}.grid-tiles .tile .big{font-size:clamp(1.75rem,1.5rem + 1vw,2.125rem)}@media (prefers-reduced-motion:no-preference){.shell>.stack:not(:has(.flash,.intro-card,.mic-wrap))>*{animation:ui-rise .42s var(--ease-out) backwards}.shell>.stack>:nth-child(2){animation-delay:40ms}.shell>.stack>:nth-child(3){animation-delay:80ms}.shell>.stack>:nth-child(4){animation-delay:.12s}.shell>.stack>:nth-child(5){animation-delay:.16s}.shell>.stack>:nth-child(n+6){animation-delay:.2s}.progressbar>span{transition:width .6s var(--ease-out)}}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}}.table-wrap{position:relative}.table.words td{padding-inline:6px}.table.words td:nth-child(4){min-width:12em}input[type=range]{min-height:44px;margin:0}a.menu.card.menu-row{background:var(--surface)}@media (min-width:768px){.table.words td:nth-child(3){min-width:7em}.table.words td:nth-child(4){min-width:10em}}.screen-head>h1+p{flex-basis:100%}.nav-tiles{grid-auto-rows:1fr}[data-theme=dark] .progressbar{background:color-mix(in srgb, var(--text) 13%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .progressbar{background:color-mix(in srgb, var(--text) 13%, transparent)}}.tabbar a{letter-spacing:0}@media (min-width:1024px){.tabbar a{font-size:var(--fs-xs)}}@media (max-width:640px){.screen-head>.row{width:100%}.screen-head>.row>.btn:not(.small){flex:auto}.lesson-path{margin:0 -16px;position:relative}.lesson-path ol{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;padding:2px 16px 6px;overflow-x:auto}.lesson-path ol::-webkit-scrollbar{display:none}.lesson-path li{scroll-snap-align:start;flex:none}.lesson-path a{white-space:nowrap}.table.words thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.table.words,.table.words tbody{display:block}.table.words tr{column-gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto;display:grid}.table.words tr:last-child{border-bottom:none;padding-bottom:0}.table.words tr:first-child{padding-top:var(--sp-1)}.table.words td{border:none;grid-column:1;padding:0;display:block;white-space:normal!important;overflow-wrap:break-word!important;min-width:0!important}.table.words td:first-child{font-size:1.125rem}.table.words td:nth-child(2):not(:empty){color:var(--text-muted);font-size:var(--fs-sm);margin-top:2px}.table.words td:nth-child(3){margin-top:var(--sp-2);font-weight:500}.table.words td:nth-child(4){margin-top:var(--sp-1);color:var(--text-2);font-size:.9375rem}.table.words td:last-child{grid-area:1/2/span 4;width:auto}.table.words td:last-child .speak-group{flex-direction:column}.lesson-path ol{scroll-padding-inline:16px}}.tabbar .tabbar-full{display:none}@media (min-width:1024px){.tabbar .tabbar-short{display:none}.tabbar{width:232px;padding:var(--sp-6) 0 var(--sp-6);overscroll-behavior:contain;bottom:0;overflow:hidden auto}.tabbar .tabbar-full{display:block}.tabbar-full ul{padding:0 var(--sp-3);grid-auto-rows:min-content;grid-auto-columns:auto;grid-auto-flow:row;gap:2px;max-width:none;margin:0;list-style:none;display:grid}.tabbar-full a{justify-content:flex-start;align-items:center;gap:var(--sp-3);min-height:44px;padding:8px var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.25;display:flex;position:relative}.tabbar-full a svg{flex:0 0 22px}.tabbar-full .rail-label{flex:auto;min-width:0}.tabbar-full a:hover{color:var(--text);background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.tabbar-full a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:600}.tabbar-full a:focus-visible{outline-offset:-2px}.tabbar-full .badge{flex:none;margin-inline-start:auto;position:static}.rail-group{margin:var(--sp-4) 0 var(--sp-1);padding:0 var(--sp-6);font-size:var(--fs-xs);letter-spacing:0;color:var(--text-subtle);font-weight:600}.app-frame{padding-inline-start:232px}.composer{padding:12px max(40px,50vw - 596px) 16px;inset-inline-start:232px}}@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.tabbar-full a{transition:background-color .15s,color .15s}}.lang-switch{gap:var(--sp-1);display:grid}.lang-switch label{font-size:var(--fs-xs);color:var(--text-subtle);font-weight:600}.lang-switch select{width:100%;max-width:100%;min-height:44px;font:inherit}.lang-switch-more{padding:var(--sp-2) 0}@media (min-width:1024px){.tabbar .tabbar-full{flex-direction:column;min-height:100%;display:flex}.rail-foot{padding:var(--sp-3) var(--sp-3) 0;border-top:1px solid var(--border);gap:var(--sp-2);margin-top:auto;display:grid}.tabbar-full .rail-opora{align-items:center;gap:var(--sp-3);min-height:44px;padding:8px var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);font-weight:500;text-decoration:none;display:flex;position:relative}.tabbar-full .rail-opora svg{flex:0 0 22px}.tabbar-full .rail-opora:hover{color:var(--text);background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.rail-hint{padding:0 var(--sp-3);font-size:var(--fs-xs);color:var(--text-subtle);overflow-wrap:anywhere;margin:0;line-height:1.4}.rail-foot .lang-switch{padding:var(--sp-2) var(--sp-3) 0}}@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.tabbar-full .rail-opora{transition:background-color .15s,color .15s}}.exam-part-list,.exam-parts,.exam-weak-list,.admin-exams,.admin-weak,.exam-chips-row{margin:0;padding:0;list-style:none}.exam-part-list{gap:var(--sp-1);display:grid}.exam-part-list li,.exam-weak-list li,.admin-weak li{justify-content:space-between;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--hairline);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;display:flex}.exam-part-list li:first-child,.exam-weak-list li:first-child,.admin-weak li:first-child{border-top:none}.exam-parts{gap:var(--gap-section,16px);display:grid}@media (min-width:768px){.exam-parts{grid-template-columns:1fr 1fr}}.exam-part[data-state=passed]{border-color:color-mix(in srgb, var(--ok) 40%, var(--border))}.exam-score{justify-items:start;gap:var(--sp-2);display:grid}.exam-score-num{font-family:var(--display-font);margin:0;font-size:clamp(1.6rem,1.3rem + 1.5vw,2.2rem);line-height:1.15}.exam-score.ok{border-color:color-mix(in srgb, var(--ok) 40%, var(--border))}.exam-input{flex-wrap:nowrap}.exam-input input{flex:auto;min-width:0;min-height:44px}.exam-art{min-width:88px;min-height:52px;font-size:var(--fs-lg,1.125rem);font-weight:600}.exam-chips .btn{min-height:44px}.exam-run .answer{overflow-wrap:anywhere;text-align:center}.admin-exams{gap:var(--sp-4);display:grid}.admin-exam-student{gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--hairline);min-width:0}.admin-exam-student:first-child{border-top:none;padding-top:0}.exam-chips-row{gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;display:flex}.exam-chips-row .pill{white-space:normal;margin:0}.exam-chip-passed{background:var(--ok-soft);color:var(--ok)}.exam-chip-part,.exam-chip-started{background:var(--warn-soft);color:var(--warn)}.exam-entry .pill,.exam-part .pill{margin:0}.mat-list{gap:var(--sp-5);margin:0;padding:0;list-style:none;display:grid}.mat{--mat-c:var(--border-strong);--mat-soft:var(--surface-sunk);gap:var(--sp-4);min-width:0;padding:var(--sp-4) 0 var(--sp-4) var(--sp-4);border-inline-start:4px solid var(--mat-c);display:grid}.mat[data-kind=yellow]{--mat-c:var(--warn);--mat-soft:var(--warn-soft)}.mat[data-kind=red]{--mat-c:var(--danger);--mat-soft:var(--danger-soft)}.mat[data-kind=green]{--mat-c:var(--ok);--mat-soft:var(--ok-soft)}.mat[data-kind=extra]{--mat-c:var(--text-subtle);--mat-soft:color-mix(in srgb, var(--surface-sunk) 55%, var(--surface))}.mat-head{align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.mat-title{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:16rem;min-width:0;margin:0;font-size:1.0625rem;line-height:1.35}.mat-title .pill{vertical-align:middle;margin-inline-start:var(--sp-2)}.mat-edit{margin-inline-start:auto}.mat-kind{white-space:nowrap;color:var(--text);background:var(--mat-soft,var(--surface-sunk));border:1px solid color-mix(in srgb, var(--mat-c,var(--border-strong)) 55%, transparent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.8125rem;font-weight:600;line-height:1.6;display:inline-flex}.mat-kind:before{content:"";background:var(--mat-c,var(--border-strong));border-radius:2px;width:8px;height:8px}.mat-kind-yellow{--mat-c:var(--warn);--mat-soft:var(--warn-soft)}.mat-kind-red{--mat-c:var(--danger);--mat-soft:var(--danger-soft)}.mat-kind-green{--mat-c:var(--ok);--mat-soft:var(--ok-soft)}.mat-kind-extra{--mat-c:var(--text-subtle);--mat-soft:color-mix(in srgb, var(--surface-sunk) 55%, var(--surface))}.mat-book .row{gap:var(--sp-3)}.mat-explain{overflow-wrap:anywhere}.mat-pages{gap:var(--sp-4)}.mat-page-img{border-radius:var(--r-sm)}.mat-sub{color:var(--text-2);margin:0;font-size:.9375rem}.mat-words{gap:0;margin:0;padding:0;list-style:none;display:grid}.mat-words li{gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;min-height:44px;display:grid}.mat-words li:last-child{border-bottom:none}.mat-word-de{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0;font-weight:600}.mat-word-ru{overflow-wrap:anywhere;min-width:0}@media (max-width:560px){.mat{padding-inline-start:var(--sp-3)}.mat-words li{grid-template-columns:minmax(0,1fr) auto}.mat-word-ru{grid-column:1}.mat-word-say{grid-area:1/2/span 2}}.lesson-goals .md ul{margin-bottom:0}.grammar-practice{gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--hairline);min-width:0;display:grid}.grammar-practice .row.spread{gap:var(--sp-2) var(--sp-3);flex-wrap:wrap}.word-img{object-fit:cover;border-radius:var(--r-sm);background:var(--surface-sunk);width:64px;height:64px;margin-bottom:6px;display:block}.admin-item-img{object-fit:cover;border-radius:var(--r-sm);background:var(--surface-sunk);flex:none;width:56px;height:56px}.card-img{aspect-ratio:1;width:min(100%,220px);height:auto;margin:0 auto var(--sp-3);object-fit:cover;border-radius:var(--r-md,10px);background:var(--surface-sunk);display:block}.dlg-list,.dlg-lines,.dlg-edit-lines{gap:var(--sp-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.dlg-item{gap:var(--sp-1);min-height:44px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0;text-decoration:none;display:grid}.dlg-item:hover{border-color:var(--border-strong)}.dlg-item-title{align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--fs-lg,1.125rem);flex-wrap:wrap;display:flex}.dlg-screen h1,.dlg-screen .dlg-de,.dlg-screen .dlg-prompt,.dlg-screen .answer,.dlg-screen .dlg-ctx-line,.dlg-screen .dlg-yours,.dlg-edit-line input{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0}.dlg-situation{gap:var(--sp-1);overflow-wrap:anywhere;margin:0;display:grid}.dlg-line{align-items:start;gap:var(--sp-3);grid-template-columns:40px minmax(0,1fr);min-width:0;display:grid}.dlg-who{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex;overflow:hidden}.dlg-line.other .dlg-who{background:var(--ok-soft);color:var(--ok)}.dlg-who.small{width:28px;height:28px;vertical-align:middle;margin-inline-end:var(--sp-2);font-size:.8rem}.dlg-bubble{min-width:0;padding:var(--sp-2) var(--sp-4);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-2)}.dlg-line[data-practice="1"] .dlg-bubble{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.dlg-de{font-size:var(--fs-lg,1.125rem);margin:0;line-height:1.45}.dlg-de .speakable{box-sizing:border-box;min-height:44px;padding:10px 0;display:block}.dlg-ru{margin:0 0 var(--sp-1);overflow-wrap:anywhere}.dlg-card{gap:var(--sp-3);text-align:center;justify-items:center;min-width:0;display:grid}.dlg-context{gap:var(--sp-1);width:100%;padding-bottom:var(--sp-3);border-bottom:1px solid var(--hairline);justify-items:center;display:grid}.dlg-ctx-line{justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;max-width:100%;margin:0;display:flex}.dlg-ctx-line .speakable{box-sizing:border-box;min-width:0;min-height:44px;padding:10px 0;display:block}.dlg-ctx-line .dlg-who.small{margin-inline-end:0}.dlg-prompt{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.2rem,4.5vw,1.7rem)}.dlg-modes .btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.dlg-run .exam-chips{justify-content:center;min-height:48px}.dlg-run .exam-input{flex-wrap:nowrap}.dlg-run .answer{overflow-wrap:anywhere;text-align:center}.dlg-score{font-family:var(--display-font);margin:0;font-size:clamp(1.8rem,1.4rem + 2vw,2.6rem);line-height:1.15}.dlg-result .row{flex-wrap:wrap}.dlg-edit-line{padding:var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-lg);gap:var(--sp-2);min-width:0}.dlg-edit-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap}.dlg-edit-actions .check,.dlg-editor .check{align-items:center;gap:var(--sp-2);min-height:44px;display:inline-flex}@media (max-width:420px){.dlg-line{gap:var(--sp-2);grid-template-columns:32px minmax(0,1fr)}.dlg-who{width:32px;height:32px}}.auth-stack{margin-top:var(--sp-2);min-width:0}.auth-stack .lang-switch-auth,.lang-switch-home{max-width:100%}.lang-switch-auth select,.lang-switch-home select{min-height:44px}.lang-switch-home{flex:0 200px;min-width:min(180px,100%)}.screen-head:has(.lang-switch-home){justify-content:space-between;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.auth-h{overflow-wrap:anywhere;margin:0}.auth-account p,.auth-account li,.auth-stack .btn{overflow-wrap:anywhere}.auth-steps{gap:var(--sp-1);color:var(--text-muted);margin:0;padding-inline-start:1.4em;display:grid}.auth-actions{gap:var(--sp-2);display:grid}.auth-actions .btn,.auth-more .btn{text-align:center;justify-content:center;width:100%;height:auto;min-height:44px;text-decoration:none}.auth-sso{margin:0}.auth-sso a,.auth-links .btn{min-height:44px}.auth-sso a{padding:0 var(--sp-1);align-items:center;display:inline-flex}.auth-links{gap:var(--sp-2);flex-wrap:wrap;display:flex}.auth-links .btn{text-align:center;flex:auto;justify-content:center;height:auto}.auth-more{margin:0}.auth-stack a:focus-visible,.auth-stack button:focus-visible,.auth-stack select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-fallback{opacity:.92}.landing .row{flex-wrap:wrap}@media (prefers-reduced-motion:no-preference){.auth-actions .btn{transition:background-color .15s,border-color .15s}}.login-wrap .footer a,.landing .footer a{min-height:44px;padding:0 var(--sp-2);align-items:center;display:inline-flex}.lang-tiles{gap:var(--sp-2);min-width:0;display:grid}.lang-tiles-label{justify-content:space-between;align-items:baseline;gap:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);color:var(--text-subtle);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.lang-tiles-name{color:var(--text-muted);overflow-wrap:anywhere;font-weight:500}.lang-tiles-grid{grid-template-columns:repeat(3,minmax(44px,1fr));gap:6px;display:grid}.lang-tile{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);min-width:44px;min-height:44px;color:var(--text-2);font:inherit;font-size:var(--fs-sm);letter-spacing:.04em;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent;place-items:center;margin:0;padding:0;font-weight:650;display:grid}.lang-tile:hover{border-color:var(--border-strong);color:var(--text)}.lang-tile[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px var(--focus-ring-a);cursor:default}.lang-tile[aria-busy=true]{opacity:.7}.lang-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.lang-tile{transition:background-color .15s,border-color .15s,color .15s,transform .12s}.lang-tile:active:not([aria-pressed=true]){transform:scale(.96)}}@media (max-width:400px){.lang-tiles-landing .lang-tiles-grid{grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px}}@media (min-width:1024px){.rail-foot .lang-tiles{padding:var(--sp-2) var(--sp-3) 0}.rail-logout-form{margin:0}.tabbar-full .rail-logout{align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:8px var(--sp-3);border-radius:var(--r-md);font:inherit;font-size:var(--fs-sm);text-align:start;color:var(--danger);cursor:pointer;background:0 0;border:0;margin:0;font-weight:500;display:flex}.tabbar-full .rail-logout svg{flex:0 0 22px}.tabbar-full .rail-logout:hover{background:var(--danger-soft)}.tabbar-full .rail-logout:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}}.settings-logout{margin:0}.settings-logout .btn{gap:var(--sp-2);min-height:44px}.btn.danger-text{color:var(--danger)}.landing.lp{max-width:1040px;padding:max(var(--sp-6), env(safe-area-inset-top)) var(--sp-5) var(--sp-10);gap:var(--sp-8);overflow-x:clip}.lp-top{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.lp-brand{align-items:center;gap:var(--sp-3);font-family:var(--display-font);font-size:var(--fs-lg);margin:0;font-weight:600;display:flex}.landing .lp-mark{border-radius:var(--r-md);width:36px;height:44px;margin:0;font-size:1.25rem;position:static}.lp-top .lang-tiles{justify-items:end}.lp-top .lang-tiles-label{justify-content:flex-end}.lp-hero{gap:var(--sp-6);align-items:center;display:grid}.lp-copy{gap:var(--sp-4);min-width:0;display:grid}.lp-eyebrow{font-size:var(--fs-sm);color:var(--accent);margin:0;font-weight:600}.landing.lp h1{font-size:var(--fs-display);overflow-wrap:anywhere;line-height:1.05}.lp-actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.lp-actions .btn{flex:0 auto;justify-content:center;min-width:9rem;min-height:48px;text-decoration:none}.lp-roles{max-width:34rem;margin:0}.lp-art{justify-self:center;width:100%;max-width:420px;height:auto}.lp-art-card rect:first-child{fill:var(--surface-2);stroke:var(--border);stroke-width:1.5px}.lp-art-c1 rect:first-child{stroke:var(--border-strong)}.lp-art-word{font-family:var(--display-font);fill:var(--text);font-size:26px;font-weight:600}.lp-art-sub{font-family:var(--font-sans), system-ui, sans-serif;fill:var(--text-muted);font-size:16px}.lp-art-dots circle{fill:var(--accent)}.lp-art-dots .lp-art-dot-off{fill:var(--hairline)}.lp-art-bubble path{fill:var(--accent)}.lp-art-bubble text{font-family:var(--font-sans), system-ui, sans-serif;fill:var(--on-accent);font-size:18px;font-weight:650}.lp-points{gap:var(--sp-3);display:grid}.lp-points h2,.lp-qr h2{font-size:var(--fs-h2);margin:0}.lp-points li{overflow-wrap:anywhere}.lp-qr{gap:var(--sp-5);place-items:center start;display:grid}.lp-qr-img{width:176px;height:176px;padding:var(--sp-2);border-radius:var(--r-lg);border:1px solid var(--border);background:#fffdf7}.lp-qr-copy{gap:var(--sp-2);min-width:0;display:grid}.lp-qr-copy p{overflow-wrap:anywhere;margin:0}.lp-qr-url{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-sm);color:var(--text-2)}@media (min-width:760px){.lp-hero{gap:var(--sp-10);padding-top:var(--sp-6);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.lp-qr{grid-template-columns:auto minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.lp-art-card,.lp-art-bubble{animation:.5s cubic-bezier(.2,.8,.2,1) both lp-rise}.lp-art-c2{animation-delay:60ms}.lp-art-c1{animation-delay:.12s}.lp-art-bubble{animation-delay:.3s}}@keyframes lp-rise{0%{opacity:0;translate:0 10px}}@media (max-width:480px){.lp-top .lang-tiles{justify-items:start}.lp-top .lang-tiles-label{justify-content:flex-start}.lp-qr-url{font-size:var(--fs-xs)}}.lp-art-line{fill:var(--hairline)}.class-cards{gap:var(--gap-section,16px);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));margin:0;padding:0;list-style:none;display:grid}.class-card{grid-template-columns:minmax(0,150px) minmax(0,1fr);align-items:center;gap:16px;padding:12px;display:grid;overflow:hidden}.course-cover{aspect-ratio:8/5;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-sunk);width:100%;height:auto;display:block}.class-card-body{gap:4px;min-width:0;display:grid}.class-card-title{font-size:var(--fs-lg,1.15rem);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.class-card-kind,.class-card-desc{margin:0}.class-level{font-size:.8rem}.class-empty h2{margin-top:0}@media (max-width:480px){.class-card{grid-template-columns:1fr}}.course-group{gap:12px;display:grid}.school-admin .admin-row{grid-template-columns:minmax(0,160px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.school-admin .admin-row .course-cover{max-width:160px}@media (max-width:560px){.school-admin .admin-row{grid-template-columns:1fr}}.school-admin .invite-qr{width:160px;height:160px;image-rendering:pixelated;border-radius:var(--r-md);border:1px solid var(--hairline)}.school-admin .members{gap:6px;margin:0;padding:0;list-style:none;display:grid}.school-admin .members li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invite-banner{border-inline-start:4px solid var(--accent)}.ok-text{color:var(--ok)}.t-status{align-items:start}.t-status-ic{border-radius:var(--r-lg);background:var(--accent-soft);width:52px;height:52px;color:var(--accent);place-items:center;display:inline-grid}.t-status-pending .t-status-ic{background:var(--warn-soft);color:var(--warn)}.t-status-rejected .t-status-ic{background:var(--surface-sunk);color:var(--text-muted)}.t-pending{align-items:center;gap:var(--sp-2);background:var(--warn-soft);border-color:var(--warn);color:var(--text);flex-wrap:wrap;display:flex}.t-pending>svg{color:var(--warn);flex:none}.t-form-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.t-form-grid .field{min-width:0}.t-class-list,.t-students,.t-comments,.t-requests,.t-mod-list,.t-exams,.t-weak,.t-focus{margin:0;padding:0;list-style:none}.t-class-list{gap:var(--sp-2);display:grid}.t-class-card{align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);text-decoration:none;display:flex}.t-class-card:hover,.t-class-card:focus-visible{border-color:var(--border-strong)}.t-class-main{overflow-wrap:anywhere;flex:auto;gap:2px;min-width:0;display:grid}.t-class-card .pill{margin-inline-start:0}.t-invite{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.t-invite .invite-qr{width:160px;height:160px;image-rendering:pixelated;border-radius:var(--r-md);border:1px solid var(--hairline)}@media (min-width:640px){.t-invite{grid-template-columns:160px minmax(0,1fr)}}.t-students{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.t-student{gap:var(--sp-3);color:var(--text);height:100%;text-decoration:none;display:grid}.t-student:hover,.t-student:focus-visible{border-color:var(--border-strong)}.t-student-head{align-items:center;gap:var(--sp-3);overflow-wrap:anywhere;min-width:0;display:flex}.t-student-nums{gap:var(--sp-2) var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.t-student-nums dt{color:var(--text-subtle);font-size:.75rem}.t-student-nums dd{margin:0;font-weight:600}.t-student-focus{gap:var(--sp-1);flex-wrap:wrap;display:flex}.t-student-focus .pill,.t-comment-meta .pill,.t-exam-parts .pill{white-space:normal;margin-inline-start:0}.t-num-tiles .tile{min-width:0}.t-num-tiles .big{overflow-wrap:anywhere;font-size:1.35rem}.t-focus{gap:var(--sp-2);display:grid}.t-focus li{border-inline-start:3px solid var(--warn);padding-inline-start:var(--sp-4)}.t-exams{gap:var(--sp-2);display:grid}.t-exams li{justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.t-exams li:last-child{border-bottom:0}.t-exam-topic{overflow-wrap:anywhere;flex:200px;min-width:0}.t-exam-parts{gap:var(--sp-1);flex-wrap:wrap;display:flex}.t-weak{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));display:grid}.t-weak li{padding:var(--sp-2) var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-2);overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.t-weak-de{font-weight:600}.t-comments,.t-requests,.t-mod-list{gap:var(--sp-3);display:grid}.t-comment,.t-requests li{padding:var(--sp-3) var(--sp-4);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface-2);min-width:0}.t-comment-meta{align-items:center;gap:var(--sp-1) var(--sp-2);margin:0 0 var(--sp-1);flex-wrap:wrap;display:flex}.t-comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.t-mod-row{gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr);display:grid}.t-mod-row:last-child{border-bottom:0}.t-mod-who{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.t-mod-who .pill{justify-self:start;margin-inline-start:0}@media (min-width:1024px){.t-mod-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.t-mod-actions .btn{flex:none}}.t-intent{gap:var(--sp-3);margin-top:var(--sp-4);align-items:flex-start;display:flex}.t-intent>svg{color:var(--accent);flex:none;margin-top:2px}.t-intent .stack{gap:var(--sp-1)}.t-intent-off{font-weight:500}.t-intent-link,.lp-teacher{align-items:center;gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.t-intent-link .btn,.lp-teacher .btn{flex:none}.t-num-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.t-num-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.t-num-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}.t-num-tiles .tile{padding:var(--sp-3) var(--sp-4)}.t-form-grid input[type=date]{width:100%;min-height:44px;font:inherit;padding:0 var(--sp-3);border-radius:var(--r-md)}.t-invites,.t-domains{min-width:0}.t-invites h3,.t-domains h3{margin:0}.t-invite-list{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.t-invite-row{gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-md);grid-template-columns:minmax(0,1fr);display:grid}.t-invite-main{gap:var(--sp-2);overflow-wrap:anywhere;justify-items:start;min-width:0;display:grid}.t-invite-main .copy-box{width:100%}.t-invite-expired,.t-invite-revoked{opacity:.72}.t-invite-act{gap:var(--sp-1);justify-items:start;display:grid}.t-invite-fresh{padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);justify-items:start}.t-invite-fresh .copy-box{width:100%}.t-qr-wait{background:var(--surface-sunk)}@media (min-width:640px){.t-invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}}.t-domain-school{gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--hairline);min-width:0;display:grid}.t-domain-school:last-of-type{border-bottom:0}.t-domain-school textarea{width:100%;min-height:76px;font-family:var(--font-mono), ui-monospace, monospace}.t-chips{gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.t-chip{align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);background:var(--surface-2);border:1px solid var(--hairline);overflow-wrap:anywhere;border-radius:999px;max-width:100%;display:inline-flex}.t-chip button{cursor:pointer;min-width:28px;min-height:28px;color:var(--text-muted);font:inherit;background:0 0;border:0;border-radius:999px}.t-chip button:hover,.t-chip button:focus-visible{color:var(--danger)}.t-hint-list{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.t-hint-list li{font-family:var(--font-mono), ui-monospace, monospace;color:var(--text-muted);overflow-wrap:anywhere;font-size:.8125rem}.t-mod-schools{gap:var(--sp-2);min-width:0;display:grid}.t-mod-schools .row{align-items:center}.t-mod-schools select{max-width:100%;min-height:44px}.wa-screen{gap:var(--sp-3);align-content:start;display:grid}.wa-head{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.wa-head-main{flex:1 1 0;min-width:0}.wa-head h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.25rem,1.1rem + .8vw,1.6rem);line-height:1.2}.wa-head h1 a{color:inherit;text-decoration:none}.wa-head .subtle{font-size:var(--fs-sm);overflow-wrap:anywhere;margin:2px 0 0}.wa-head-ava{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.wa-back{width:44px;height:44px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;margin-inline-start:-10px;display:grid}.wa-back svg{transform:scaleX(-1)}.wa-back:hover,.wa-back:focus-visible{background:var(--surface-2)}.wa-nav{gap:var(--sp-2);min-width:0;display:grid}.wa-tabs{justify-self:start;max-width:100%}.wa-tabs a{gap:6px}.wa-count{background:var(--accent);min-width:20px;height:20px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-grid}.wa-classes{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.wa-class{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);max-width:100%;min-height:44px;color:var(--text);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:2px 8px;padding:6px 14px;text-decoration:none;display:inline-flex}.wa-class[aria-current=true]{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.wa-class-name{overflow-wrap:anywhere;font-weight:600}.wa-class-course{color:var(--text-muted);overflow-wrap:anywhere}.wa-noclass h2{margin:0 0 var(--sp-2)}.wa-list{padding:var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-xl);background:var(--surface-sunk);align-content:end;gap:0;min-height:40vh;display:grid}.wa-empty{max-width:34ch;margin:var(--sp-6) 0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface);color:var(--text-muted);text-align:center;font-size:var(--fs-sm);justify-self:center}.wa-day{margin:var(--sp-3) 0 var(--sp-1);text-align:center;justify-self:center}.wa-day span{background:var(--surface);color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;box-shadow:var(--sh-1);border-radius:999px;padding:3px 12px;display:inline-block}.wa-row{align-items:flex-end;gap:6px;min-width:0;margin-top:2px;display:flex}.wa-row.first{margin-top:10px}.wa-row.mine{justify-content:flex-end}.wa-ava{flex:none;width:32px;height:32px}.wa-list .msg.wa-bubble{background:var(--surface);min-width:72px;max-width:min(560px,80%);color:var(--text);box-shadow:var(--sh-1);white-space:normal;overflow-wrap:anywhere;border:none;border-radius:16px;margin:0;padding:6px 10px 4px 12px;line-height:1.4;position:relative}.wa-list .msg.mine.wa-bubble{background:color-mix(in srgb, var(--accent) 20%, var(--surface))}.wa-row.theirs.first .wa-bubble{border-start-start-radius:4px}.wa-row.mine.first .wa-bubble{border-start-end-radius:4px}.wa-row.first .wa-bubble:before{content:"";background:inherit;width:8px;height:12px;position:absolute;top:0}.wa-row.theirs.first .wa-bubble:before{clip-path:polygon(100% 0,0 0,100% 100%);inset-inline-start:-7px}.wa-row.mine.first .wa-bubble:before{clip-path:polygon(0 0,100% 0,0 100%);inset-inline-end:-7px}.wa-author{font-size:var(--fs-xs);color:var(--accent);overflow-wrap:anywhere;margin-bottom:2px;font-weight:700;display:block}.wa-list .msg-body{white-space:pre-wrap;margin:0}.wa-meta{color:var(--text-subtle);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:2px;margin-top:2px;font-size:.6875rem;display:flex}.wa-list .msg-del{top:auto;opacity:.55;width:24px;height:24px;margin:-4px -6px -4px 0;position:relative;inset-inline:auto}.wa-list .msg-del:after{content:"";position:absolute;inset:-10px}.wa-list .msg.mine .msg-del{inset-inline-start:auto}.wa-end{height:1px;scroll-margin-bottom:120px}@media (prefers-reduced-motion:no-preference){.wa-bubble{animation:.18s ease-out both wa-in}}@keyframes wa-in{0%{opacity:0;transform:translateY(4px)}}.wa-composer{align-items:flex-end}.wa-composer textarea{background:var(--surface);border-radius:24px;min-width:0;min-height:48px;padding:12px 16px;line-height:1.4}.wa-composer .wa-send{border-radius:50%;flex:none;width:48px;height:48px;min-height:48px;padding:0}.wa-chats .dm-row{min-height:68px}.dm-top,.dm-bottom{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.dm-top .dm-name{flex:auto;min-width:0}.dm-time{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex:none}.dm-bottom .dm-last{flex:auto;min-width:0}.dm-bottom .wa-count{margin-inline-start:auto}.wa-section-h{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);font-weight:700}.wa-sub{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.wa-role{font-size:var(--fs-xs);color:var(--accent);font-weight:700}.wa-write{border:1px solid var(--border-strong);min-height:44px;color:var(--text-2);font-size:var(--fs-sm);border-radius:999px;flex:none;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.person-row:hover .wa-write,.person-row:focus-visible .wa-write{border-color:var(--accent);color:var(--accent)}@media (max-width:420px){.wa-list{margin:0 calc(-1 * var(--sp-2));padding-inline:var(--sp-1)}.wa-list .msg.wa-bubble{max-width:84%}.wa-write{padding:0 10px}}.game-card{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}@media (min-width:720px){.game-card{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:start}.game-card .game-course,.game-card .game-links{grid-column:1/-1}}.game-goal{align-items:center;gap:14px;min-width:0;display:flex}.game-goal-text,.game-streak-text,.game-level,.game-course{gap:4px;min-width:0;display:grid}.game-link{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.goal-ring{flex:none}.goal-ring-track{stroke:var(--surface-sunk)}.goal-ring-bar{stroke:var(--accent);transition:stroke-dasharray .6s cubic-bezier(.2,.7,.2,1)}.goal-ring.is-done .goal-ring-bar{stroke:var(--ok)}.goal-ring-text{fill:var(--text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:650}.game-level-n{font-family:var(--display-font);font-size:var(--fs-h3,1.25rem)}.game-bar{height:8px}.game-streak{align-items:flex-start;gap:12px;min-width:0;display:flex}.game-flame{border:1px solid var(--border);width:48px;height:48px;color:var(--text-subtle);background:var(--surface-2);border-radius:50%;flex:none;place-items:center;display:grid}.game-streak.is-on .game-flame{color:var(--accent);background:var(--accent-soft);border-color:#0000}.game-freeze{display:block}.game-freeze svg{vertical-align:-3px;margin-inline-end:4px;display:inline-block}.game-links{flex-wrap:wrap;gap:8px;display:flex}.game-btn{align-items:center;gap:8px;display:inline-flex}.xp-toast-wrap{inset-inline:0;bottom:calc(76px + env(safe-area-inset-bottom));pointer-events:none;z-index:40;justify-content:center;padding:0 16px;display:flex;position:fixed}@media (min-width:1024px){.xp-toast-wrap{bottom:24px;inset-inline-start:232px}}.xp-toast{background:var(--btn-ink-bg);max-width:min(420px,100%);color:var(--btn-ink-fg);box-shadow:var(--sh-2);text-align:center;overflow-wrap:anywhere;border-radius:999px;justify-items:center;gap:2px;padding:10px 18px;display:grid}.xp-toast-badge{font-size:.875rem}@media (prefers-reduced-motion:no-preference){.xp-toast{animation:.32s cubic-bezier(.2,.7,.2,1) both xp-rise}}@keyframes xp-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.goal-ring-bar{transition:none}}.rating-page .seg{flex-wrap:wrap;max-width:100%}.rating-page .seg.wrap{border-radius:var(--r-lg)}.rating-page .seg a{align-items:center;min-height:44px;padding:0 16px;display:inline-flex}.rating-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.rating-list li{border-radius:var(--r-md);grid-template-columns:2.2em 32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 10px;display:grid}.rating-list li.me{background:var(--accent-soft)}.rating-pos{text-align:end;color:var(--text-subtle);font-weight:600}.rating-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.rating-xp{white-space:nowrap;font-weight:600}.rating-gap{text-align:center;margin:4px 0}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.badge-card{align-items:flex-start;gap:14px;min-width:0;display:flex}.badge-card>div{overflow-wrap:anywhere;min-width:0}.badge-card p{margin:2px 0 0}.badge-seal{flex:none}.badge-seal-bg{fill:var(--surface-2);stroke:var(--border)}.badge-seal-ring{stroke:var(--border-strong)}.badge-seal-glyph{stroke:var(--text-subtle)}.badge-seal.is-earned .badge-seal-bg{fill:var(--accent-soft);stroke:var(--accent)}.badge-seal.is-earned .badge-seal-ring,.badge-seal.is-earned .badge-seal-glyph{stroke:var(--accent)}.badge-card:not(.is-earned) strong{color:var(--text-2)}.badge-when{font-size:.8125rem}.xp-recent{gap:6px;margin:0;padding:0;list-style:none;display:grid}.xp-recent li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-width:0;display:flex}.xp-recent li strong{margin-inline-start:auto}.praise-form .input{max-width:100%}.notice.ok-note{color:var(--ok);align-items:center;gap:8px;display:inline-flex}.ex-list{gap:var(--sp-3);min-width:0;margin:0;padding:0;list-style:none;display:grid}.ex-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);min-width:0}.ex-card[open]{border-color:var(--border-strong)}.ex-card>.ex-run{padding:var(--sp-2) var(--sp-4) var(--sp-4)}.ex-summary{align-items:center;gap:var(--sp-2) var(--sp-3);min-height:44px;padding:var(--sp-3) var(--sp-4);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.ex-summary::-webkit-details-marker{display:none}.ex-summary:after{content:"▾";color:var(--text-subtle);margin-inline-start:auto}.ex-card[open]>.ex-summary:after{content:"▴"}.ex-summary:focus-visible,.ex-tile:focus-visible,.ex-chip:focus-visible,.ex-group-head:focus-visible,.ex-opt:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.ex-sum-main{flex:14rem;gap:2px;min-width:0;display:grid}.ex-sum-title{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:600}.ex-prompt{color:var(--text-2);overflow-wrap:anywhere;margin:0}.ex-hero-img{border-radius:var(--r-md);border:1px solid var(--hairline);object-fit:contain;max-width:100%;height:auto}.ex-elem{align-items:center;gap:var(--sp-2);min-width:0;display:inline-flex}.ex-elem-text{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-align:start}.ex-elem-img{object-fit:contain;border-radius:var(--r-sm);background:var(--surface);flex:none;width:44px;height:44px}.ex-c0{--ex-h:18}.ex-c1{--ex-h:205}.ex-c2{--ex-h:140}.ex-c3{--ex-h:285}.ex-c4{--ex-h:45}.ex-c5{--ex-h:335}.ex-c6{--ex-h:175}.ex-c7{--ex-h:80}.ex-tile.paired,.ex-group{--ex-col:hsl(var(--ex-h) 55% 48%);border-color:var(--ex-col);background:color-mix(in srgb, var(--ex-col) 16%, var(--surface-2))}.ex-match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:clamp(20px,8vw,56px);display:grid;position:relative}.ex-col{gap:var(--sp-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.ex-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ex-line{stroke:hsl(var(--ex-h,20) 55% 48%);stroke-width:2.5px;stroke-linecap:round}.ex-line.bad{stroke:var(--danger);stroke-dasharray:5 4}.ex-line.ok{stroke:var(--ok)}.ex-tile{justify-content:flex-start;align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font:inherit;text-align:start;cursor:pointer;z-index:1;display:flex;position:relative}.ex-tile:hover:not(:disabled){border-color:var(--border-strong)}.ex-tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring-a);background:var(--accent-soft)}.ex-tile:disabled{cursor:default;color:var(--text);opacity:1}.ex-tile.ok,.ex-chip.ok,.ex-order-row.ok{border-color:var(--ok);background:var(--ok-soft)}.ex-tile.bad,.ex-chip.bad,.ex-order-row.bad{border-color:var(--danger);background:var(--danger-soft)}.ex-num{background:var(--text);width:22px;height:22px;color:var(--surface-2);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:inline-grid}.ex-solution{padding:var(--sp-3) var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface)}.ex-solution h3{margin:0 0 var(--sp-2);font-size:var(--fs-sm)}.ex-solution ul{overflow-wrap:anywhere;gap:2px;margin:0;padding-inline-start:1.1em;display:grid}.ex-solution li.bad{color:var(--danger)}.ex-solution p{overflow-wrap:anywhere;margin:0;font-weight:600}.ex-bank{gap:var(--sp-2);flex-wrap:wrap;align-items:center;min-width:0;min-height:44px;display:flex}.ex-chip{min-height:44px;padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border-strong);background:var(--surface-2);max-width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;display:inline-flex}.ex-chip[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring-a);background:var(--accent-soft)}.ex-chip:disabled{cursor:default;opacity:1;color:var(--text)}.ex-hint{color:var(--danger);font-size:.78rem}.ex-groups{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));min-width:0;display:grid}.ex-group{border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-2);gap:var(--sp-2);align-content:start;min-width:0;display:grid}.ex-group-head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--text);font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;font-weight:700;display:flex}.ex-group-head:disabled{cursor:default;opacity:1;color:var(--text)}.ex-group-head:not(:disabled){border-color:var(--ex-col);background:color-mix(in srgb, var(--ex-col) 22%, var(--surface-2))}.ex-drop{color:var(--text-muted);font-size:.78rem;font-weight:500}.ex-q{border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);min-width:0;margin:0;display:grid}.ex-q legend{padding:0 var(--sp-2);overflow-wrap:anywhere;font-weight:600}.ex-q.ok{border-color:var(--ok)}.ex-q.bad{border-color:var(--danger)}.ex-q-img{border-radius:var(--r-md);object-fit:contain;max-width:100%;height:auto}.ex-opts{gap:var(--sp-2);flex-wrap:wrap;display:flex}.ex-opt{align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-2) var(--sp-4);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;flex:8rem;min-width:0;display:inline-flex}.ex-opt input{width:20px;height:20px;accent-color:var(--accent);flex:none}.ex-opt.on{border-color:var(--accent);background:var(--accent-soft)}.ex-opt.right{border-color:var(--ok);background:var(--ok-soft)}.ex-opt.wrong{border-color:var(--danger);background:var(--danger-soft)}.ex-q:disabled .ex-opt{cursor:default}.ex-order{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.ex-order-row{align-items:center;gap:var(--sp-3);min-height:52px;padding:var(--sp-1) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);min-width:0;display:flex}.ex-order-row .ex-elem{flex:1}.ex-arrows{gap:var(--sp-1);flex:none;margin-inline-start:auto;display:inline-flex}.ex-preview{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);overflow-wrap:anywhere;margin:0}.ex-result:empty{display:none}.ex-result{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);outline:none;display:flex}.ex-result.ok{background:var(--ok-soft)}.ex-result.bad{background:var(--danger-soft)}.ex-result p{margin:2px 0 0}.ex-xp{margin-inline-start:var(--sp-2)}@media (prefers-reduced-motion:no-preference){.ex-tile,.ex-chip,.ex-opt,.ex-order-row{transition:background-color .15s,border-color .15s,box-shadow .15s}.ex-result.ok,.ex-result.bad{animation:.2s ease-out ex-in}@keyframes ex-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}.ex-fill{gap:var(--sp-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.ex-fill-row{align-items:flex-start;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);display:flex}.ex-fill-row.ok{border-color:var(--ok)}.ex-fill-row.bad{border-color:var(--danger)}.ex-fill-row .ex-num{margin-top:8px}.ex-fill-text{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;flex:1;min-width:0;margin:0;padding-top:6px;line-height:1.6}.ex-slot-wrap{align-items:center;gap:var(--sp-1);vertical-align:middle;flex-wrap:wrap;max-width:100%;margin:2px 0;display:inline-flex}.ex-fill .ex-slot{box-sizing:border-box;min-width:52px;max-width:100%;height:44px;min-height:44px;font:inherit;text-align:center;color:var(--text);background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:var(--r-md);margin:0 2px;padding:0 10px;font-size:max(16px,1em);font-weight:600;line-height:1.2;transition:none}.ex-fill .ex-slot.filled{border-style:solid}.ex-fill .ex-slot:focus-visible{outline:3px solid var(--focus-ring-a);outline-offset:1px;border-color:var(--accent)}.ex-fill .ex-slot.over{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--focus-ring-a);border-style:solid}.ex-fill .ex-slot.ok{border:1.5px solid var(--ok);background:var(--ok-soft)}.ex-fill .ex-slot.bad{border:1.5px solid var(--danger);background:var(--danger-soft);text-decoration:line-through;text-decoration-thickness:1.5px}.ex-fill .ex-slot[readonly]{cursor:default}.ex-fix{min-height:32px;padding:0 var(--sp-2);color:var(--ok);background:var(--ok-soft);border:1.5px solid var(--ok);border-radius:999px;align-items:center;font-weight:700;line-height:1.3;display:inline-flex}.ex-fill-bank{bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;padding:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface);position:sticky;box-shadow:0 -6px 16px #0000000f}@media (min-width:1024px){.ex-fill-bank{bottom:var(--sp-3)}}.ex-fill .ex-slot{scroll-margin-bottom:14rem}.ex-fill-chip{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;min-width:44px;font-weight:600}.ex-ghost{inset-inline-start:0;z-index:60;pointer-events:none;min-height:44px;padding:0 var(--sp-3);border:1.5px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:999px;align-items:center;margin:-22px 0 0 -24px;font-weight:600;display:inline-flex;position:fixed;top:0;box-shadow:0 6px 18px #0000002e}@media (prefers-reduced-motion:no-preference){.ex-fill .ex-slot{transition:background-color .15s,border-color .15s,box-shadow .15s}}.ex-ed-row{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}.ex-ed-row input[type=text]{min-width:0}.ex-ed-row .btn.small{padding:0 var(--sp-2);min-width:44px}.ex-ed-group{border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--sp-3);gap:var(--sp-2);min-width:0;margin:0;display:grid}.ex-ed-pair{gap:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:1px solid var(--hairline);display:grid}.ex-editor .ok-note{color:var(--ok);margin:0}@media (max-width:520px){.ex-ed-row{grid-template-columns:minmax(0,1fr) auto}.ex-ed-row .ex-ed-img{grid-area:2/1/auto/-1}}.lang-tiles-auth,.lang-tiles-more,.lang-tiles-home{justify-self:start;width:fit-content;max-width:100%}.lang-tiles-more{padding:var(--sp-2) 0}.lang-tiles-home{margin-top:var(--sp-3)}@media (max-width:400px){.lang-tiles-auth .lang-tiles-grid,.lang-tiles-more .lang-tiles-grid,.lang-tiles-home .lang-tiles-grid{grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px}.lang-tiles-auth,.lang-tiles-more,.lang-tiles-home{width:100%}}@media (min-width:1024px){.lang-tiles-home{display:none}.rail-foot .lang-tiles-rail .lang-tiles-grid,.lang-tiles-rail .lang-tiles-grid{grid-template-columns:repeat(4,minmax(44px,1fr))}}@media (max-width:420px){.lang-tiles-landing .lang-tiles-grid,.lang-tiles-auth .lang-tiles-grid,.lang-tiles-more .lang-tiles-grid,.lang-tiles-home .lang-tiles-grid{grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px}.lang-tiles-landing,.lang-tiles-auth,.lang-tiles-more,.lang-tiles-home{width:100%}}.vocab-themes{gap:var(--sp-2);scrollbar-width:thin;padding-bottom:2px;display:flex;overflow-x:auto}.vocab-theme{min-height:44px;padding:0 var(--sp-4);border:1px solid var(--border-strong);color:var(--text-2);white-space:nowrap;background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.vocab-theme[aria-current=true]{background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}.vocab-theme[aria-current=true] .subtle{color:inherit;opacity:.8}.vocab-cta{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.vocab-cta .btn{align-items:center;gap:8px;min-height:44px;display:inline-flex}.vocab-tools{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.vocab-seg{max-width:100%}@media (max-width:560px){.vocab-seg{border-radius:var(--r-lg);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.vocab-cta .btn{justify-content:center;width:100%}.vocab-seg button{text-align:center;flex-direction:column;justify-content:center;gap:0;min-height:52px;padding:4px 6px;font-size:.9rem;line-height:1.15}}.seg button{min-height:44px;padding:0 var(--sp-4);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.seg button[aria-pressed=true]{background:var(--btn-ink-bg);color:var(--btn-ink-fg)}.seg button[aria-pressed=true] .subtle{color:inherit;opacity:.8}.seg button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.vocab-search{flex:220px;min-width:0}.vocab-search .input{width:100%;min-height:44px}.vocab-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.vocab-row{gap:var(--sp-3);padding:var(--sp-3) var(--pad-card);border-inline-start:3px solid #0000;align-items:flex-start;margin:0;display:flex}.vocab-row.is-due{border-inline-start-color:var(--warn)}.vocab-row.is-learned{border-inline-start-color:var(--ok)}.vocab-img{border-radius:var(--r-md);object-fit:cover;background:var(--surface-sunk);flex:none;width:64px;height:64px}.vocab-main{flex:1;gap:4px;min-width:0;display:grid}.vocab-head{gap:6px var(--sp-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.vocab-de{font-size:var(--fs-lg,1.15rem);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.vocab-tr{color:var(--text);overflow-wrap:anywhere}.vocab-ex{color:var(--text-muted);overflow-wrap:anywhere;font-size:.95rem}.vocab-hint{color:var(--text-2);background:var(--accent-soft);border-radius:var(--r-sm);overflow-wrap:anywhere;padding:4px 8px;font-size:.92rem}.vocab-hint-k{color:var(--accent);font-weight:700}.vocab-foot{gap:4px var(--sp-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.vocab-lesson{font-size:.85rem}.vocab-st{white-space:nowrap;flex:none}.vocab-st.st-new{background:var(--surface-sunk);color:var(--text-2)}.vocab-st.st-due{background:var(--warn-soft);color:var(--warn)}.vocab-st.st-learning{background:var(--accent-soft);color:var(--accent)}.vocab-st.st-learned{background:var(--ok-soft);color:var(--ok)}.flip-tally{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.flip-tally li{padding:var(--sp-3) var(--sp-2);border-radius:var(--r-lg);text-align:center;justify-items:center;display:grid}.flip-tally .num{font-family:var(--display-font);font-size:2rem;line-height:1}.flip-tally .is-know{background:var(--ok-soft);color:var(--ok)}.flip-tally .is-almost{background:var(--warn-soft);color:var(--warn)}.flip-tally .is-dont{background:var(--danger-soft);color:var(--danger)}.lesson-vocab-actions{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.mic-block{justify-items:center;gap:6px}.train-answer input{flex:200px;min-width:0}.train-foot{margin:0}@media (max-width:1023px){.shell:has(.train-fit){padding-top:max(8px, env(safe-area-inset-top))}.shell:has(.train-fit)>.footer{display:none}.shell .train-fit,.shell .train-run{flex-direction:column;gap:8px;min-height:0;display:flex}.shell .train-fit>*,.shell .train-run>*{flex:none;min-width:0}.shell .train-fit>.train-run,.shell .train-run>.train-run{flex:auto}.train-fit h1{min-width:0;line-height:1.25;font-size:1.1rem!important}.train-fit .train-head,.train-fit>.row.spread{flex-wrap:nowrap;gap:8px}.train-run .train-progress{align-items:center;gap:10px;display:flex}.train-run .train-progress>.row{flex-wrap:nowrap;flex:none;gap:6px}.train-run .train-progress>.progressbar{flex:auto;height:8px}.shell .train-run>.flash,.shell .train-run>.train-run>.intro-card{overscroll-behavior:contain;border-radius:22px;flex-direction:column;flex:auto;align-items:center;gap:6px;min-height:0;padding:14px;display:flex;overflow-y:auto}.shell .train-run>.flash>*,.shell .train-run>.train-run>.intro-card>*{flex:none;max-width:100%}.shell .train-run>.flash>:first-child,.shell .train-run>.train-run>.intro-card>:first-child{margin-top:auto}.shell .train-run>.flash>:last-child,.shell .train-run>.train-run>.intro-card>:last-child{margin-bottom:auto}.train-run .card-img{width:auto;max-width:100%;height:clamp(64px,17dvh,190px);margin:0 auto 2px}.train-run .flash.ok .card-img,.train-run .flash.retry .card-img,.train-run .flash.failed .card-img{height:clamp(56px,11dvh,120px)}.train-run .flash .subtle,.train-run .intro-card .subtle{font-size:.875rem;line-height:1.35}.train-run .result-block{gap:6px!important}.train-run .flash .result-mark.ok{width:34px;height:34px}.train-run .intro-badge{margin:0;font-size:.8rem}.train-run>p.subtle{font-size:.8rem;line-height:1.3}.train-run .intro-card .intro-ru{font-size:1.05rem}.train-run .intro-card .intro-de{-webkit-hyphens:auto;hyphens:auto}.train-run .intro-card [data-testid=speak-slow]{width:44px;padding:0}.train-run .intro-card [data-testid=speak-slow] .sp-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.train-run .intro-card .row:has(>[data-testid=speak]){flex-wrap:nowrap}.train-run .flash:is(.ok,.failed) .btn:disabled{min-height:32px;padding:2px 10px;font-size:.9rem}.train-run .flash:is(.ok,.failed) .exam-chips,.train-run .flash:is(.ok,.failed) .row[aria-label]{gap:4px;min-height:0!important}.train-run .mic-block{gap:2px}.train-run .mic-wrap{width:84px;height:84px}.train-run .mic-wrap .btn.mic{width:64px;height:64px;min-height:64px}.train-run .mic-ring{inset:10px}.train-run .voice-meter{height:22px}.train-run .mic-hint{min-height:1.3em;font-size:.875rem;line-height:1.3}.train-run .train-answer{flex-wrap:nowrap}.train-run .train-answer input{flex:1 1 0;min-width:0}.train-run .train-answer .btn{flex:none}.train-run .train-actions{flex-wrap:wrap;gap:6px}.train-run .train-actions>.btn{white-space:normal;flex:1 1 0;min-height:44px;padding:6px 8px;font-size:.875rem;line-height:1.15}.train-run .train-actions>[data-testid=speak],.train-run .train-actions>[data-testid=speak-slow]{flex:none;width:44px;padding:0}.train-run .train-actions .sp-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.train-run .train-foot{text-align:center;font-size:.75rem;line-height:1.3}.train-run>.notice{margin:0;padding:8px 12px;font-size:.875rem}.train-run .exam-art{min-height:48px}.train-run .de-hero{font-size:clamp(1.9rem,9vw,3.2rem)}.train-run .de-hero.is-sentence{font-size:clamp(1.25rem,5.2vw,1.8rem)}.train-run .flash [data-testid=speak-slow],.train-run .flash .card-speak .btn{width:44px;padding:0}.train-run .flash .card-speak{gap:8px}.train-run .flash [data-testid=speak-slow] .sp-label,.train-run .flash .card-speak .sp-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.train-run .flash .row:has(>[data-testid=speak]){flex-wrap:nowrap}.train-run:has(>.flash [data-testid=speak])>.train-actions>[data-testid^=speak]{display:none}}@media (max-width:1023px) and (min-height:520px){.shell:has(.train-fit){padding-bottom:0}.shell .train-fit{height:calc(100dvh - max(8px, env(safe-area-inset-top)) - 61px - env(safe-area-inset-bottom));box-sizing:border-box;padding-bottom:8px;overflow:visible clip}}@media (max-width:1023px) and (max-height:700px){.train-run .mic-block{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:0 12px;width:100%;max-width:340px;margin:0 auto}.train-run .mic-block>.mic-wrap{grid-row:1/span 2}.train-run .mic-block>.voice-meter{align-self:end;width:100%}.train-run .mic-block>:last-child:not(.mic-wrap):not(.voice-meter){text-align:start;align-self:start}.train-run .card-img{height:clamp(56px,12dvh,100px)}.shell .train-fit,.shell .train-run{gap:6px}.shell .train-run>.flash,.shell .train-run>.train-run>.intro-card{gap:4px;padding:10px 12px}.train-run .mic-wrap{width:72px;height:72px}.train-run .mic-wrap .btn.mic{width:58px;height:58px;min-height:58px}.train-run .mic-ring{inset:7px}.train-run .flash .prompt{font-size:clamp(1.4rem,6.4vw,2rem)}.train-run .intro-card .intro-de{font-size:clamp(1.5rem,7vw,2.1rem)}.train-run .intro-card+p.subtle{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.train-run .flash.retry .card-img,.train-run .flash.failed .card-img,.train-run .flash.ok .card-img,.train-run .flash.retry>.subtle{display:none}}@media (max-width:370px){.train-fit h1{font-size:.95rem!important}}@media (max-width:1023px) and (max-height:600px){.train-run .card-img{height:clamp(44px,9dvh,64px)}}.md .table-wrap{-webkit-overflow-scrolling:touch}.md .table{width:auto;min-width:100%}.md .table th,.md .table td{text-align:start}.grammar-rtl{text-align:start;direction:rtl}.grammar-rtl ul,.grammar-rtl ol{padding-inline:1.4em 0}.grammar-rtl blockquote{border-inline-start-width:3px}.grammar-rtl strong,.grammar-rtl em,.grammar-rtl td,.grammar-rtl th{unicode-bidi:plaintext}@media (min-width:1024px){.rail-foot .lang-tiles-rail .lang-tiles-grid,.lang-tiles-rail .lang-tiles-grid{grid-template-columns:repeat(3,minmax(44px,1fr))}}.lang-tiles-landing .lang-tiles-grid{grid-template-columns:repeat(9,44px)}.lang-tiles-auth .lang-tiles-grid,.lang-tiles-more .lang-tiles-grid,.lang-tiles-home .lang-tiles-grid{grid-template-columns:repeat(9,minmax(44px,52px))}@media (max-width:560px){.lang-tiles-landing .lang-tiles-grid,.lang-tiles-auth .lang-tiles-grid,.lang-tiles-more .lang-tiles-grid,.lang-tiles-home .lang-tiles-grid{grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}.lang-tiles-landing,.lang-tiles-auth,.lang-tiles-more,.lang-tiles-home{width:100%}}.lang-tile[data-lang=prs]{letter-spacing:0}[dir=rtl] .icon-dir{transform:scaleX(-1)}[dir=rtl] .wa-back svg{transform:none}[dir=rtl] body,[dir=rtl] body *{letter-spacing:0!important}[dir=rtl] body{line-height:1.7}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{line-height:1.45}[dir=rtl] [lang=de],[dir=rtl] input[type=email],[dir=rtl] input[type=password],[dir=rtl] input[type=url]{direction:ltr;unicode-bidi:isolate}:where([dir=rtl]) :where(p,div,li,h1,h2,h3,h4,blockquote,td,th)[lang=de]{text-align:match-parent}[dir=rtl] .msg-body,[dir=rtl] textarea:not([lang]),[dir=rtl] input[type=text]:not([lang]),[dir=rtl] input[type=search]:not([lang]){unicode-bidi:plaintext}.flip-page{gap:var(--sp-4);flex-direction:column;width:100%;max-width:560px;margin-inline:auto;display:flex}.flip-head{margin:0}.flip-head h1{font-size:var(--fs-h2)}.flip-run{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.flip-top{align-items:center;gap:var(--sp-2);min-height:24px;font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.flip-dir{align-items:center;gap:var(--sp-2);min-width:0;margin-inline-start:auto;display:inline-flex}.flip-dir-label{font-size:var(--fs-sm);color:var(--text-muted)}.flip-dir-btn{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:500}.flip-dir-btn:first-of-type{border-start-start-radius:var(--r-lg);border-end-start-radius:var(--r-lg)}.flip-dir-btn:last-of-type{border-start-end-radius:var(--r-lg);border-end-end-radius:var(--r-lg);margin-inline-start:-1px}.flip-dir-btn[aria-checked=true]{background:var(--btn-ink-bg);border-color:var(--btn-ink-bg);color:var(--btn-ink-fg)}.flip-dir-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.flip-bar{height:4px;margin-top:calc(-1 * var(--sp-2));background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;overflow:hidden}.flip-bar>span{background:var(--accent);transform-origin:0;height:100%;transition:transform .3s var(--ease-out);display:block}.flip-bar:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))>span{transform-origin:100%}.flip-card{perspective:1400px;position:relative}.flip-inner{transform-style:preserve-3d;transition:transform .48s cubic-bezier(.3,.7,.2,1);display:grid}.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}.flip-face{backface-visibility:hidden;gap:var(--sp-4);min-height:clamp(340px,52vh,440px);padding:var(--sp-8) var(--sp-6) 0;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-2);cursor:pointer;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;grid-area:1/1;display:flex;overflow-y:auto}.flip-back{transform:rotateY(180deg)}.flip-hero{justify-content:center;align-items:center;gap:var(--sp-2);flex-direction:column;flex:1 0 auto;min-width:0;display:flex}.flip-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-weight:600}.flip-hit{appearance:none;max-width:100%;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0}.flip-hit:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:8px;border-radius:var(--r-lg)}.flip-de{font-family:var(--display-font);font-size:clamp(2.25rem,1.6rem + 3vw,3.25rem);line-height:var(--lh-tight);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;display:block}.flip-de.is-long{font-size:clamp(1.625rem,1.15rem + 2.2vw,2.375rem)}.flip-art{font-size:.8em}.flip-plural{font-size:var(--fs-sm);color:var(--text-muted)}.flip-speak{justify-content:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.flip-speak .btn{border-color:var(--border);width:44px;min-height:44px;color:var(--text-muted);box-shadow:none;background:0 0;padding:0}.flip-speak .btn:hover{border-color:var(--border-strong);background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--text)}.flip-speak .sp-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.flip-notes{padding:0 var(--sp-4);border-radius:var(--r-lg);background:color-mix(in srgb, var(--surface-sunk) 24%, var(--surface-2));text-align:start;flex:none;display:grid}.flip-note{gap:var(--sp-1);padding:var(--sp-3) 0;overflow-wrap:anywhere;display:grid}.flip-note+.flip-note{border-top:1px solid var(--hairline)}.flip-note p{line-height:var(--lh-snug);margin:0}.flip-note-head{justify-content:space-between;align-items:center;min-height:20px;display:flex}.flip-say{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;margin:-12px -12px -12px 0;padding:0;transition:color .15s,background-color .15s;display:grid}.flip-say:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin:-12px 0 -12px -12px}.flip-say svg{width:18px;height:18px}.flip-say:hover{color:var(--accent);background:color-mix(in srgb, var(--text) 6%, transparent)}.flip-example-de{font-size:var(--fs-md);color:var(--text)}.flip-example-tr{font-size:var(--fs-sm);color:var(--text-muted)}.flip-hint p{font-size:var(--fs-sm);color:var(--text-2)}.flip-tap{margin-top:calc(-1 * var(--sp-2));padding:var(--sp-5) 0 var(--sp-3);background:linear-gradient(to bottom, color-mix(in srgb, var(--surface-2) 0%, transparent), var(--surface-2) var(--sp-5));font-size:var(--fs-xs);color:var(--text-subtle);flex:none;position:sticky;bottom:0}.flip-img{aspect-ratio:1;width:clamp(120px,34vw,176px);height:auto;margin-bottom:var(--sp-2);border-radius:var(--r-xl);object-fit:cover;background:var(--surface-sunk)}.flip-tr{font-family:var(--display-font);font-size:clamp(1.875rem,1.35rem + 2.4vw,2.625rem);line-height:var(--lh-tight);overflow-wrap:anywhere;text-wrap:balance;display:block}.flip-de-small{max-width:100%;font-size:var(--fs-lg);color:var(--text-2);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.flip-de-small.is-long{font-size:var(--fs-md)}.flip-rate{gap:var(--sp-2);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.flip-rate-btn{--tone:var(--text);min-height:64px;padding:var(--sp-2);border:1px solid color-mix(in srgb, var(--tone) 32%, var(--border));border-radius:var(--r-lg);background:color-mix(in srgb, var(--tone) 8%, var(--surface-2));color:var(--text);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .15s ease, border-color .15s ease, transform .12s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.2;display:flex;position:relative}.flip-rate-btn.is-dont{--tone:var(--danger)}.flip-rate-btn.is-almost{--tone:var(--warn)}.flip-rate-btn.is-know{--tone:var(--ok)}[data-theme=dark] .flip-rate-btn.is-dont{--tone:color-mix(in srgb, var(--danger) 82%, var(--text))}[data-theme=dark] .flip-rate-btn.is-almost{--tone:color-mix(in srgb, var(--warn) 82%, var(--text))}[data-theme=dark] .flip-rate-btn.is-know{--tone:color-mix(in srgb, var(--art-das) 82%, var(--text))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .flip-rate-btn.is-dont{--tone:color-mix(in srgb, var(--danger) 82%, var(--text))}:root:not([data-theme=light]) .flip-rate-btn.is-almost{--tone:color-mix(in srgb, var(--warn) 82%, var(--text))}:root:not([data-theme=light]) .flip-rate-btn.is-know{--tone:color-mix(in srgb, var(--art-das) 82%, var(--text))}}.flip-rate-t{font-size:var(--fs-md);color:var(--tone);font-weight:650}.flip-rate-h{font-size:var(--fs-xs);color:var(--text-muted)}.flip-rate-k{top:6px;border:1px solid var(--border);min-width:18px;color:var(--text-subtle);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px;font-size:11px;line-height:16px;display:none;position:absolute;inset-inline-start:8px}@media (hover:hover) and (pointer:fine){.flip-rate-k{display:block}.flip-rate-btn:hover:not(:disabled){background:color-mix(in srgb, var(--tone) 14%, var(--surface-2));border-color:color-mix(in srgb, var(--tone) 60%, var(--border))}}.flip-rate-btn:active:not(:disabled){background:color-mix(in srgb, var(--tone) 18%, var(--surface-2));transform:scale(.97)}.flip-rate-btn:focus-visible{outline:2px solid var(--tone);outline-offset:2px}.flip-rate-btn:disabled{cursor:progress}.flip-err{font-size:var(--fs-sm);color:var(--danger);text-align:center;margin:0}.flip-keys{font-size:var(--fs-xs);color:var(--text-subtle);text-align:center;margin:0}@media (hover:none){.flip-keys{display:none}}.flip-skel,.flip-skel-line{background:color-mix(in srgb, var(--text) 7%, var(--surface));box-shadow:none;cursor:default;border-color:#0000}.flip-skel-line{border-radius:999px;width:9rem;height:12px;display:block}span.flip-rate-btn.flip-skel{display:block}@media (prefers-reduced-motion:no-preference){.flip-run:not(.is-loading) .flip-card{animation:flip-enter .26s var(--ease-out) backwards}.flip-run.is-loading .flip-skel{animation:1.2s ease-in-out infinite alternate flip-pulse}}@keyframes flip-enter{0%{opacity:0;transform:translateY(6px)scale(.985)}}@keyframes flip-pulse{to{opacity:.55}}@media (prefers-reduced-motion:reduce){.flip-inner,.flip-bar>span{transition:none}.flip-card.is-flipped .flip-inner,.flip-back{transform:none}.flip-card:not(.is-flipped) .flip-back,.flip-card.is-flipped .flip-front{visibility:hidden}}@media (max-width:1023px){.shell:has(.flip-page){padding-top:max(8px, env(safe-area-inset-top))}.shell:has(.flip-page)>.footer{display:none}.flip-page{gap:var(--sp-3)}.flip-head h1{font-size:var(--fs-lg);line-height:var(--lh-snug)}.flip-head .subtle{font-size:var(--fs-sm)}.flip-sub{display:none}.flip-face{padding:var(--sp-4) var(--sp-4) 0;gap:var(--sp-3)}}@media (max-width:480px){.flip-rate-btn{min-height:56px}.flip-rate-h,.flip-rate-k{display:none}}@media (max-width:1023px) and (min-height:520px){.shell:has(.flip-page .flip-run){padding-bottom:0}.flip-page:has(.flip-run){height:calc(100dvh - max(8px, env(safe-area-inset-top)) - 61px - env(safe-area-inset-bottom));padding-bottom:var(--sp-3);overflow:visible clip}.flip-page>.flip-run,.flip-run>.flip-card{flex:auto;min-height:0}.flip-run .flip-inner{grid-template-rows:minmax(0,1fr);height:100%}.flip-run .flip-face{min-height:0}.flip-run .flip-img{width:auto;height:clamp(96px,24dvh,176px)}}@media (max-width:1023px) and (max-height:700px){.flip-run .flip-img{height:clamp(80px,18dvh,140px)}}.tone-bar{background:var(--surface-sunk);border-radius:999px;gap:2px;height:6px;display:flex;overflow:hidden}.tone-seg{flex-basis:0;min-width:4px;display:block}.tone-seg.is-green{background:var(--ok)}.tone-seg.is-yellow{background:var(--warn)}.tone-seg.is-red{background:var(--danger)}.tone-seg.is-new{background:color-mix(in srgb, var(--border-strong) 45%, var(--surface-sunk))}.theme-parts{gap:var(--sp-4)}.tone-blocks{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin:0;padding:0;list-style:none;display:grid}.tone-block{--tone-c:var(--text-subtle);--tone-soft:var(--surface-sunk);gap:4px var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:color-mix(in srgb, var(--tone-soft) 70%, var(--surface));border:1px solid color-mix(in srgb, var(--tone-c) 35%, transparent);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head act""hint act";align-items:center;min-width:0;display:grid}.tone-block.is-green{--tone-c:var(--ok);--tone-soft:var(--ok-soft)}.tone-block.is-yellow{--tone-c:var(--warn);--tone-soft:var(--warn-soft)}.tone-block.is-red{--tone-c:var(--danger);--tone-soft:var(--danger-soft)}.tone-block[data-count="0"]{opacity:.78}.tone-block-head{align-items:center;gap:var(--sp-2);grid-area:head;min-width:0;display:flex}.tone-block-head strong{overflow-wrap:anywhere}.tone-dot{background:var(--tone-c);border-radius:50%;flex:none;width:10px;height:10px}.tone-block-n{white-space:nowrap;font-size:var(--fs-lg);color:var(--tone-c);flex:none;margin-inline-start:auto;font-weight:700}.tone-block-hint{font-size:var(--fs-xs);grid-area:hint;line-height:1.35}.tone-block-actions{gap:var(--sp-2);flex-wrap:wrap;grid-area:act;justify-content:flex-end;display:flex}.part-list{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.part{--part-c:var(--border-strong);--part-soft:var(--surface-sunk);border:1px solid var(--border);border-inline-start:4px solid var(--part-c);border-radius:var(--r-lg);background:var(--surface);align-items:stretch;min-width:0;display:flex}.part[data-tone=green]{--part-c:var(--ok);--part-soft:var(--ok-soft)}.part[data-tone=yellow]{--part-c:var(--warn);--part-soft:var(--warn-soft)}.part[data-tone=red]{--part-c:var(--danger);--part-soft:var(--danger-soft)}.part:target{box-shadow:0 0 0 2px var(--accent)}.part-main{align-items:center;gap:var(--sp-3);min-width:0;padding:10px var(--sp-3);min-height:64px;color:inherit;border-radius:var(--r-lg);flex:auto;text-decoration:none;display:flex}.part-main:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.part-n{background:var(--part-soft);width:34px;height:34px;color:var(--text);border:1.5px solid var(--part-c);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.part-body{flex:auto;gap:5px;min-width:0;display:grid}.part-title{align-items:baseline;gap:2px var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.part-status{font-size:var(--fs-xs);white-space:nowrap;background:var(--surface-sunk);color:var(--text-2,var(--text-muted));border-radius:999px;margin-inline-start:auto;padding:1px 8px;font-weight:600}.part-status.is-green{background:var(--ok-soft);color:var(--ok)}.part-status.is-yellow{background:var(--warn-soft);color:var(--warn)}.part-status.is-red{background:var(--danger-soft);color:var(--danger)}.part-preview{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.book-layer{padding:var(--sp-2) var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-md,10px);gap:4px;display:grid}.book-layer-lead{font-size:var(--fs-xs);margin:0;line-height:1.35}.book-chips{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.book-chips-prefix{font-size:var(--fs-xs);font-weight:600}.part .book-chip{font-size:var(--fs-xs);padding:0 7px;font-weight:500;line-height:1.5}.book-chip .num{font-weight:700}.book-chip-none{font-size:var(--fs-xs)}.part-cards{flex:none;align-self:center;margin-inline-end:6px}@media (max-width:479px){.tone-block{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""hint""act"}.tone-block-actions{justify-content:flex-start}.part-cards{width:44px;padding:0}.part-cards-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.continue-card{gap:var(--sp-2);border-inline-start:4px solid var(--accent)}.continue-eyebrow{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:600}.continue-title,.continue-sub{overflow-wrap:anywhere;margin:0}.continue-card .tone-bar{max-width:420px}.part-train{flex:none;align-self:center;place-items:center;width:44px;min-height:44px;margin-inline-end:6px;padding:0;display:inline-grid}.part-train+.part-cards{margin-inline-start:0}.part .book-chips{opacity:.85}.part .book-chips-prefix{font-weight:500}.theme-aux{padding:0}.theme-aux-sum{align-items:baseline;gap:2px var(--sp-3);width:100%;min-height:48px;padding:var(--sp-3) var(--sp-4);cursor:pointer;color:inherit;font:inherit;text-align:start;border-radius:var(--r-lg);background:0 0;border:0;flex-wrap:wrap;padding-inline-end:40px;display:flex;position:relative}.theme-aux-sum:after{content:"▾";inset-inline-end:var(--sp-4);top:var(--sp-3);color:var(--text-subtle);position:absolute}.theme-aux-sum[aria-expanded=true]:after{content:"▴"}.theme-aux-sum:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.theme-aux-body[hidden]{display:none}.theme-aux-body{padding:0 var(--sp-4) var(--sp-4)}.theme-aux-body .lesson-goals h2{font-size:var(--fs-lg,1.15rem)}.theme-aux-tools{flex-wrap:wrap}.part-page h1{overflow-wrap:anywhere}.part-page-of{font-size:var(--fs-sm);font-weight:500}.part-hero{gap:var(--sp-2)}.part-hero .part-status{margin-inline-start:0}.part-hero .tone-bar{max-width:520px}.part-menu{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.part-menu-row{align-items:center;gap:var(--sp-3);min-height:60px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:inherit;min-width:0;text-decoration:none;display:flex}a.part-menu-row:hover{background:color-mix(in srgb, var(--text) 4%, var(--surface))}a.part-menu-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.part-menu-fold{padding:0;display:block}.part-menu-fold>summary{align-items:center;gap:var(--sp-3);min-height:60px;padding:var(--sp-3) var(--sp-4);cursor:pointer;list-style:none;display:flex}.part-menu-fold>summary::-webkit-details-marker{display:none}.part-menu-fold>summary:after{content:"▾";color:var(--text-subtle);margin-inline-start:auto}.part-menu-fold[open]>summary:after{content:"▴"}.part-menu-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-lg)}.part-menu-fold>:not(summary){margin:0 var(--sp-4) var(--sp-4)}.part-menu-ic{border-radius:var(--r-md,10px);background:var(--accent-soft,var(--surface-sunk));width:40px;height:40px;color:var(--accent);flex:none;place-items:center;display:grid}.part-menu-body{flex:auto;gap:2px;min-width:0;display:grid}.part-menu-body .subtle{overflow-wrap:anywhere}.part-menu-body .part-preview{white-space:normal}.part-dlg-list{gap:var(--sp-1,4px);padding:0;list-style:none;display:grid}.part-dlg-list a{align-items:center;min-height:44px;display:inline-flex}.part-nav{gap:var(--sp-2)}.grammar-themes{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.grammar-theme h2{font-size:var(--fs-lg,1.15rem);overflow-wrap:anywhere}.grammar-theme h2 a{color:inherit}.grammar-theme[data-ready="0"]{opacity:.75}.grammar-toc{gap:var(--sp-1,4px) var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.grammar-toc a{min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);color:inherit;overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.grammar-toc a:hover{border-color:var(--border-strong)}.grammar-toc a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grammar-text{gap:var(--sp-4);min-width:0}.grammar-sec{gap:var(--sp-3);min-width:0;scroll-margin-top:80px;display:grid}.grammar-sec:target{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}.grammar-test{background:var(--surface-2)}.grammar-test .ex-sum-title{font-weight:600}.subtle-pill{color:var(--text-subtle)}
