@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--surface:#121117;--raised:#1a1920;--sunken:#26252e;--band:#3b1c2c;--ink:#f6f6f8;--ink-muted:#c6c5d2;--ink-subtle:#a09fb2;--line:#35343f;--line-strong:#4a4956;--gold:#ffc94a;--gold-edge:#c9952a;--fire:#ff9b42;--fire-edge:#c96a1a;--on-gold:#121117;--subject-blue:#5aa9ff;--subject-blue-edge:#2f6fc0;--info-bg:#5aa9ff22;--info-ink:#bcdcff;--subject-green:#5fd39a;--subject-green-edge:#2f9a66;--subject-purple:#c48bff;--subject-purple-edge:#8a52d0;--subject-orange:#ff9b42;--subject-orange-edge:#c96a1a;--subject-red:#ff5a6e;--subject-red-edge:#b83a4c;--accent:#ff7aac;--accent-edge:#c94f80;--accent-hover:#ff8fbb;--warn:#ff5a6e;--accent-text:var(--accent);--accent-fill:var(--accent);--accent-line:var(--accent);--on-accent:#121117;--on-accent-tick:var(--on-accent);--accent-bg:var(--band);--accent-border:#6b2f4b;--good:#5fd39a;--good-bg:#183528;--good-line:#2f9a66;--good-edge:#2f9a66;--bad:var(--warn);--bad-bg:#3a1a22;--bad-line:#b83a4c;--bad-edge:#b83a4c;--warn-bg:var(--bad-bg);--close:var(--gold);--close-bg:#33290f;--close-line:var(--gold-edge);--caution-ink:var(--gold);--caution-bg:var(--close-bg);--on-feedback:#121117;--status-done:var(--good);--status-started:var(--gold);--status-todo:var(--line-strong);--paper:var(--surface);--card:var(--raised);--body:#0b0a0e;--ink-soft:var(--ink-subtle);--border:var(--line-strong);--border-light:var(--line);--divider:#2a2932;--on-ink:var(--surface);--hover:var(--sunken);--hover-ink:#fff;--shadow:var(--line);--tint:var(--sunken);--ico-bg:var(--sunken);--row-hover:var(--sunken);--scrim:rgba(5,4,8,.66);--fill:var(--accent-fill);--on-fill:var(--on-accent);--fill-hover:var(--accent-hover);--focus-ring:#ffd1e2;--gloss:rgba(255,255,255,.45);--gf-ink:#f1a8c8;--gf-bg:#3a1f2c;--gm-ink:#9fc2ea;--gm-bg:#1f2a3a;--gmf-ink:#e0cf8a;--gmf-bg:#332e1a;--amber-bg:#2a2414;--amber-border:#6b5a2a;--field-bg:var(--sunken);--field-ink:#9fc0df;--field-border:#4a6378;--box-head-bg:#3a3018;--gap-focus-bg:#22303c;--gap-bad-bg:#351c1a;--box-line-good:var(--accent-border);--page-accent:#b02a63;--page-accent-bg:#fde8f0;--page-accent-line:#f5c4d8;--page-accent-soft:#fdeef4;--page-accent-soft-line:#f6cfe0;--page-accent-deep:#8f1f50;--page-bad:#d8352b;--page-bad-bg:#fdf2f1;--media-accent:var(--accent);--media-accent-deep:var(--accent-edge);--danger:#c0392b;--lesson-pink:var(--accent);--lesson-pink-hover:var(--accent-hover);--lesson-pink-press:var(--accent-edge);--lesson-pink-soft:#ffa3c6;--lesson-pink-soft-hover:#ffb8d3;--tsp-pink:#ff7aac;--tap-active:color-mix(in srgb,var(--page-accent) 12%,transparent);--tap-hl:rgba(255,224,102,.55);--tip-gf:#ff9ec4;--tip-gm:#8fc0ff;--tip-shadow:rgba(0,0,0,.25);--t-tap:.14s;--t-fast:.2s;--t-feedback:.3s;--t-celebrate:.6s;--e-out:cubic-bezier(.2,.8,.2,1);--e-spring:cubic-bezier(.34,1.56,.64,1);--e-std:cubic-bezier(.4,0,.2,1);--e-in:cubic-bezier(.4,0,1,1);--art-paper:#fff;--art-pink-soft:#ffc0d8;--art-gold-soft:#fff3c9;--art-teal:#2fc3a5;--art-teal-soft:#8ff0dc;--art-teal-edge:#1f9e85;--art-shadow:rgba(0,0,0,.4);--art-blue-soft:#bcdcff;--art-blue-mid:#8cc4ff;--art-blue-deep:#3f8cff;--art-purple-soft:#e3c6ff;--art-orange-soft:#ffd2a8;--art-green-soft:#c4f2da;--hero-mid:#5b2346;--hero-to:#2a1f4f;--hero-ink:#e6dbe3;--gc-pron:var(--ink);--gc-pron-edge:var(--ink-subtle);--gc-pron-ink:var(--surface);--gc-verb:var(--fire);--gc-verb-edge:var(--fire-edge);--gc-verb-ink:var(--on-gold);--gc-place:var(--art-teal);--gc-place-edge:var(--art-teal-edge);--gc-place-ink:var(--on-gold);--gc-m:var(--gm-ink);--gc-m-edge:var(--subject-blue-edge);--gc-m-ink:var(--surface);--gc-f:var(--gf-ink);--gc-f-edge:var(--accent-edge);--gc-f-ink:var(--surface);--gc-pl:var(--subject-green);--gc-pl-edge:var(--subject-green-edge);--gc-pl-ink:var(--surface);--gc-inv:var(--subject-purple);--gc-inv-edge:var(--subject-purple-edge);--gc-inv-ink:var(--surface);--gc-stem:var(--sunken);--gc-stem-edge:var(--line-strong);--gc-stem-ink:var(--ink);--gc-end:var(--gold);--gc-end-edge:var(--gold-edge);--gc-end-ink:var(--on-gold);--gc-silent:var(--line-strong);--gc-silent-edge:var(--line);--gc-silent-ink:var(--ink-subtle);--gc-heard:var(--gold);--gc-heard-edge:var(--gold-edge);--gc-heard-ink:var(--on-gold);--gc-neg:var(--art-orange-soft);--gc-neg-edge:var(--fire-edge);--gc-neg-ink:var(--on-gold);--gc-q:var(--gold);--gc-q-edge:var(--gold-edge);--gc-q-ink:var(--on-gold);--gc-link:var(--accent-fill);--gc-link-edge:var(--accent-edge);--gc-link-ink:var(--on-accent);--gc-hl:var(--art-gold-soft);--gc-hl-edge:var(--gold-edge);--gc-hl-ink:var(--on-gold);--gc-teal:#3fd0c9;--gc-teal-edge:#2a8d88;--on-hero-dim:rgba(18,17,23,.4);--hero-line:rgba(255,255,255,.2);--font-sans:"Nunito Variable",Nunito,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{color:var(--ink);font-family:var(--font-sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;margin:0}body{background:var(--body);min-height:100vh}a{color:var(--ink)}a:hover{color:var(--hover-ink)}button{font-family:inherit;color:inherit}input,textarea,select{color:var(--ink);font-family:inherit}input,textarea,select{font-size:max(16px,1em)}html,body{font-weight:600;accent-color:var(--accent-fill)}h1,h2,h3,h4{font-weight:800;letter-spacing:-.01em}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:1}p{margin:0}.pg-title{font-size:1.9rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;margin:.2rem 0 0;text-wrap:balance}.sec-title{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:0}.sub{margin-top:.15rem;font-size:16px}.label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.soft{color:var(--ink-soft)}.mt4{margin-top:.25rem}.center{text-align:center}.grow{flex:1;min-width:0}.block{display:block}.hint{font-size:14px;color:var(--ink-soft);margin-top:.4rem}.serif{font-family:var(--font-sans)}.link{background:none;border:none;padding:0;color:var(--ink-soft);font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--border-light)}.link:hover{color:var(--ink);text-decoration-color:var(--ink)}.x{background:none;border:none;color:var(--ink-soft);font-size:18px;cursor:pointer;width:36px;height:36px;border-radius:8px;display:grid;place-items:center;flex:none}.x:hover{color:var(--ink);background:var(--hover)}.x:disabled{opacity:.25;cursor:default;background:none}.x.sm{width:32px;height:32px;font-size:16px}.pg-title,.sec-title{font-weight:800}.label{font-weight:800;color:var(--ink-subtle)}.serif{font-weight:800}.link{color:var(--accent-text);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.link:hover{color:var(--fill-hover)}.x{color:var(--ink-subtle);border-radius:.67rem;font-weight:800}.x:hover{color:var(--ink);background:var(--sunken)}.paper-card{background:var(--card);border:2px solid var(--border);border-radius:16px;padding:1.3rem}.soft-card{border:1.5px solid var(--border-light)}.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:17px;font-weight:600;padding:.7rem 1.3rem;min-height:48px;border-radius:14px;border:2px solid var(--border);cursor:pointer;transition:transform .15s ease,background .15s ease;background:var(--card);color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--fill);color:var(--on-fill)}.btn-primary:hover{background:var(--fill-hover)}.btn-secondary{background:var(--card);color:var(--ink)}.btn-secondary:hover{transform:translateY(-2px)}.btn-sm{font-size:15px;padding:.4rem .9rem;min-height:38px}.btn-block{width:100%;justify-content:center}.btn-big{min-height:58px;font-size:19px;box-shadow:0 3px 0 var(--shadow)}.btn-ghost{border-color:var(--border-light);color:var(--ink-soft)}.paper-card{background:var(--raised);border:2px solid var(--line);border-radius:.89rem;box-shadow:0 .17rem 0 var(--line);padding:1rem}.soft-card{border:2px solid var(--line)}.paper-card.soft-card{box-shadow:none}.btn{min-height:2.78rem;padding:.55rem 1.2rem;border-radius:.78rem;border:2px solid var(--line);background:var(--raised);color:var(--ink);box-shadow:0 .17rem 0 var(--line);font-size:.89rem;font-weight:800;line-height:1.2;transition:transform 80ms ease,box-shadow 80ms ease,background .12s ease}.btn:active:not(:disabled){transform:translateY(.17rem);box-shadow:0 0 0 var(--line)}.btn:disabled{opacity:.45;cursor:default}.btn-primary,.btn-secondary,.btn-ghost{font-size:.83rem;letter-spacing:.08em;text-transform:uppercase;justify-content:center}.btn-primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 .22rem 0 var(--accent-edge)}.btn-primary:hover{background:var(--fill-hover);border-color:var(--fill-hover)}.btn-primary:active:not(:disabled){transform:translateY(.22rem);box-shadow:0 0 0 var(--accent-edge)}.btn-secondary{background:transparent;color:var(--accent-text)}.btn-secondary:hover{background:var(--sunken);transform:none}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-muted)}.btn-sm{min-height:2.1rem;padding:.3rem .85rem;border-radius:.67rem;font-size:.78rem}.btn-sm.btn-primary,.btn-sm.btn-secondary,.btn-sm.btn-ghost{font-size:.72rem}.btn-big{min-height:3.1rem;font-size:.94rem;box-shadow:0 .22rem 0 var(--line)}.btn-big.btn-primary{font-size:.89rem;box-shadow:0 .22rem 0 var(--accent-edge)}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:var(--card);border:1.5px solid var(--border-light);border-radius:12px;padding:.35rem .8rem;font-size:15px;cursor:pointer;transition:border-color .15s;white-space:nowrap;min-height:36px}.chip:hover{border-color:var(--ink)}.chip.on{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}.chip.sm{font-size:13px;padding:.2rem .6rem;min-height:32px}.chip{background:transparent;border:2px solid var(--line);border-radius:999px;padding:.25rem .9rem;min-height:2.1rem;font-size:.83rem;font-weight:800;color:var(--ink-muted)}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip.on{background:var(--band);border-color:var(--accent-line);color:var(--accent-text)}.chip.sm{font-size:.72rem;min-height:1.8rem;padding:.1rem .65rem}.skew-chip{display:inline-flex;align-items:center;height:1.22rem;padding:0 .45rem;border-radius:.33rem;background:var(--accent-fill);color:var(--on-accent);font-size:.61rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transform:skew(-10deg);white-space:nowrap}.skew-chip.gold{background:var(--gold);color:var(--on-gold)}.stamp{display:inline-block;transform:rotate(-6deg);border:3px solid var(--border);color:var(--border);border-radius:12px;padding:.4rem 1.1rem;font-weight:800;letter-spacing:.08em;font-size:1.05rem;opacity:.85;animation:stampIn .22s ease}.stamp.ok{border-color:var(--good);color:var(--good)}.stamp.warn{border-color:var(--bad);color:var(--bad)}@keyframes stampIn{0%{transform:rotate(-6deg) scale(1.3);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:.85}}.lc{position:relative;width:100%;max-width:460px;margin:auto;padding:1.4rem 0}.lc-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.lc-badge{width:5.6rem;height:5.6rem}.lc-badge svg{width:100%;height:100%;overflow:visible;display:block}.lc-fill{fill:var(--good)}.lc-ring{fill:none;stroke:var(--good-line);stroke-width:5}.lc-check{fill:none;stroke:var(--on-feedback);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.lc-trophy{width:7.5rem;height:7.5rem;overflow:visible}.lc-tr-cup{fill:var(--gold)}.lc-tr-arm{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round}.lc-tr-base{fill:var(--gold-edge)}.lc-tr-shine{fill:none;stroke:var(--gloss);stroke-width:4;stroke-linecap:round}.lc-title{font:800 1.67rem/1.15 var(--font-sans);letter-spacing:-.01em;color:var(--gold);margin:.5rem 0 0;text-wrap:balance}.lc-sub{font-size:.94rem;font-weight:700;color:var(--ink-muted)}.lc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.2rem,1fr));gap:.56rem;width:100%;margin-top:1.2rem}.lc-stat{--x:var(--gold);--x-edge:var(--gold-edge);display:flex;flex-direction:column;border-radius:.89rem;padding:2px;background:var(--x);box-shadow:0 .17rem 0 var(--x-edge)}.lc-stat span{font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--on-feedback);padding:.3rem .2rem;line-height:1.2}.lc-stat b{display:block;border-radius:.78rem;background:var(--surface);padding:.7rem 0;font:900 1.11rem/1.2 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--x)}.lc-stat.good{--x:var(--good);--x-edge:var(--good-edge)}.lc-stat.accent{--x:var(--accent-fill);--x-edge:var(--accent-edge)}.lc-stat.fire{--x:var(--fire);--x-edge:var(--fire-edge)}.lc-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:.67rem;width:100%;margin-top:1.4rem}.lc-actions:has(>:only-child){grid-template-columns:1fr}.lc-actions .btn{justify-content:center}.lc .key-hints{margin-top:.2rem}.ss-top{flex:none}.ss-bar{border-bottom:0;gap:.78rem;padding-bottom:.5rem}.ss-prog{flex:1;min-width:0;position:relative}.ss-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;pointer-events:none}.ss-flame{display:inline-flex;align-items:center;gap:.15rem;flex:none;color:var(--fire);font-size:1rem;font-weight:900;font-variant-numeric:tabular-nums;opacity:.6}.ss-flame.lit{opacity:1}.ss-flame svg path{fill:currentColor}.ss-flame-n{display:inline-block;overflow:hidden;line-height:1.2}.ss-flame-n b{display:inline-block}.meter-bar i.m-fill{transition:width .5s var(--e-spring)}.ss-cap{display:flex;align-items:center;gap:.6rem;padding:0 16px .6rem 20px;border-bottom:2px solid var(--line)}.ss-cap .lv-title{font-size:.83rem;color:var(--ink-muted);line-height:1.3}.lv-sheet{flex:none}.lv-sheet:empty{display:none}.fb-sheet{--x:var(--good);--x-edge:var(--good-edge);background:var(--good-bg);padding:1rem .89rem calc(env(safe-area-inset-bottom) + 1.22rem)}.fb-sheet.bad{--x:var(--bad);--x-edge:var(--bad-edge);background:var(--bad-bg)}.fb-sheet.close{--x:var(--close);--x-edge:var(--gold-edge);background:var(--close-bg)}.fb-in{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:.89rem}.fb-row{display:flex;gap:.67rem;align-items:center}.fb-ic{width:2.89rem;height:2.89rem;flex:none;border-radius:999px;background:var(--surface);color:var(--x);display:flex;align-items:center;justify-content:center}.fb-t{font-size:1.17rem;font-weight:800;line-height:1.25;color:var(--x)}.fb-t b{color:var(--ink)}.fb-ans{font-size:.94rem;font-weight:800;color:var(--ink);margin-top:.05rem}.fb-d,.fb-row .grow>p{font-size:.83rem;font-weight:700;color:var(--ink-muted);line-height:1.4;margin-top:.3rem}.fb-ctas{display:flex;gap:.6rem}.fb-cta{flex:1;justify-content:center;background:var(--x);border-color:var(--x);color:var(--on-feedback);box-shadow:0 .22rem 0 var(--x-edge);font-size:.83rem;letter-spacing:.08em;text-transform:uppercase}.fb-cta:hover{filter:brightness(1.06)}.fb-cta:active:not(:disabled){transform:translateY(.22rem);box-shadow:0 0 0 var(--x-edge)}.fb-sheet .btn-ghost{background:transparent}.fb-sheet .key-hints{margin-top:-.4rem}.lv:has(>.lv-sheet .with-cta)>.lv-foot,.lv:has(>.lv-sheet .with-cta)>.lv-keys{display:none}.key-hints{display:none}@media (hover:hover) and (pointer:fine) and (min-width:900px){.key-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1.1rem;font-size:.67rem;font-weight:800;color:var(--ink-subtle)}}.key-hint{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.keycap{display:inline-flex;align-items:center;justify-content:center;min-width:1.22rem;height:1.22rem;padding:0 .33rem;border-radius:.33rem;border:2px solid var(--line);border-bottom-width:3px;font:900 .61rem/1 var(--font-sans);letter-spacing:.02em;color:var(--ink-subtle)}.lv-keys{flex:none;padding:0 20px .7rem;background:var(--paper)}.lv-foot+.lv-keys{margin-top:-.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .2s ease}.pulse{width:9px;height:9px;border-radius:50%;background:var(--accent-fill);animation:pulse 1.8s ease infinite;flex:none}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.stack-lg{display:flex;flex-direction:column;gap:2rem}.stack-md{display:flex;flex-direction:column;gap:.9rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.row{display:flex;align-items:center;gap:.6rem}.app{position:relative;height:100%;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}.topbar{padding:58px 20px 10px;display:flex;align-items:center;gap:12px;border-bottom:1.5px solid var(--border-light);background:var(--paper);flex:none}.brand{font-family:var(--font-sans);font-weight:700;font-size:1.25rem;margin-right:auto}.scroller{flex:1;overflow-y:auto;overflow-x:hidden}.sheet{padding:1.4rem 20px 2.5rem}.tabbar{flex:none;display:flex;align-items:flex-end;justify-content:space-around;border-top:1.5px solid var(--border-light);background:var(--paper);padding:6px 4px 30px}.tab{background:none;border:none;font-size:12px;color:var(--ink-soft);cursor:pointer;padding:8px 2px;min-width:58px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tab.on{color:var(--ink);font-weight:700}.tab.on svg{stroke-width:2.2}.top-prof{font-size:13px;font-weight:800;width:38px;height:38px;border:1.5px solid var(--border-light);border-radius:50%;background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}.top-prof.on{border-color:var(--ink);color:var(--ink)}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:70;display:flex;align-items:flex-end}[role=dialog][tabindex="-1"]{outline:none}.sheet-up{width:100%;background:var(--card);border-top:2px solid var(--border);border-radius:24px 20px 0 0;padding:14px 20px 36px;animation:up .22s ease}.grab{width:40px;height:4px;border-radius:4px;background:var(--line-strong);margin:0 auto 12px}.sheet-up{background:var(--raised);border-top:2px solid var(--line);border-radius:1.33rem 1.33rem 0 0}@keyframes up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.hero{padding:1.2rem 1.2rem 1.1rem;box-shadow:0 3px 0 var(--shadow)}.hero-cefr{font-family:var(--font-sans);font-size:3rem;font-weight:700;line-height:1}.hero-sub{font-size:14px;color:var(--ink-soft);margin-top:.2rem}.meter{display:flex;flex-direction:column;gap:.35rem}.meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.meter-l{font-size:14px;font-weight:600}.meter-v{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.meter-bar{height:10px;border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--card)}.meter-bar i{display:block;height:100%;background:var(--ink);transition:width .5s ease}.meter-bar{position:relative;height:.89rem;border:0;border-radius:999px;background:var(--sunken)}.meter-bar i{position:relative;border-radius:999px;background:var(--gold)}.meter-bar i:after{content:"";position:absolute;left:.44rem;right:.44rem;top:.22rem;height:.17rem;border-radius:2px;background:var(--gloss)}.meter-bar.accent i{background:var(--accent-fill)}.meters{display:flex;flex-direction:column;gap:.8rem}.statgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stat{border:1.5px solid var(--border-light);border-radius:12px;padding:.6rem;background:var(--card);display:flex;flex-direction:column;gap:1px}.stat b{font-size:1.4rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--ink-soft)}.nclc{display:inline-flex;align-items:center;gap:.4rem;border:1.5px solid var(--ink);border-radius:12px;padding:.25rem .6rem;font-size:13px;font-weight:700}.nclc b{font-variant-numeric:tabular-nums}.start{display:flex;align-items:center;gap:.9rem;width:100%;background:var(--fill);color:var(--on-fill);border:2px solid var(--accent-fill);border-radius:16px;padding:1.1rem 1.2rem;cursor:pointer;text-align:left;box-shadow:0 .22rem 0 var(--accent-edge);transition:transform .15s}.start:active{transform:translateY(2px)}.lv{position:absolute;top:0;right:0;bottom:0;left:0;z-index:65;background:var(--paper);display:flex;flex-direction:column}.lv-bar{padding:56px 16px 10px 20px;display:flex;align-items:center;gap:.6rem;flex:none;border-bottom:1.5px solid var(--border-light)}.lv-prog{display:flex;gap:3px;flex:1}.lv-prog i{flex:1;height:8px;border:1.5px solid var(--ink);border-radius:4px}.lv-prog i.f{background:var(--ink)}.lv-prog i.cur{background:repeating-linear-gradient(-45deg,var(--ink) 0 2px,transparent 2px 5px)}.lv-bar{border-bottom:2px solid var(--line)}.lv-title{font-weight:800}.lv-prog{gap:.28rem}.lv-prog i{height:.89rem;border:0;border-radius:999px;background:var(--sunken)}.lv-prog i.f{background:var(--accent-fill)}.lv-prog i.cur{background:color-mix(in srgb,var(--accent-fill) 40%,var(--sunken))}.num-big{font-size:4.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;margin:.4rem auto .2rem}.tutor-stage{height:190px;position:relative;flex:0 0 auto;border-bottom:1.5px solid var(--border-light);background:radial-gradient(72% 60% at 50% 34%,#2b2723,#15120f);overflow:hidden}.tutor-stage canvas{display:block;width:100%!important;height:100%!important}.tutor-stage-ph{height:100%;display:flex;align-items:center;justify-content:center}.call{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#dfe3e8;z-index:40}.call-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#20261c}.call-stage:before{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;pointer-events:none;background:url(/avatars/call-bg.jpg) center/cover no-repeat;filter:blur(20px) saturate(1.08) brightness(.92);transform:scale(1.08)}.call-stage canvas{display:block;position:relative;width:100%!important;height:100%!important;z-index:1}.call-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(0deg,#10160ea8,#10160e33 22%,#10160e00 38%),radial-gradient(86% 76% at 50% 40%,#0000 56%,#0000004d)}.call-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0) + .7rem) .9rem .7rem;z-index:4}.call-name{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:700;font-size:15px;background:#00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.35rem .7rem;border-radius:999px}.live-dot{width:9px;height:9px;border-radius:50%;background:#7a7a7a;flex:none}.live-dot.on{background:#ff4d4d;box-shadow:0 0 #ff4d4d99;animation:livepulse 1.8s infinite}@keyframes livepulse{0%{box-shadow:0 0 #ff4d4d8c}70%{box-shadow:0 0 0 7px #ff4d4d00}to{box-shadow:0 0 #ff4d4d00}}.call-tutor .call-stage{background:radial-gradient(120% 90% at 50% 38%,#1b2130,#0b0d12 70%)}.call-tutor .call-stage:before{display:none}.call-tutor .call-stage:after{background:linear-gradient(0deg,#080a0eb8,#080a0e2e 24%,#080a0e00 42%)}.call-orb{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:1}.vorb-wrap{display:grid;place-items:center}.vorb{width:clamp(140px,44vw,220px);height:clamp(140px,44vw,220px);position:relative;border-radius:50%;transform:scale(calc(1 + var(--lvl,0)*.16));transition:transform .1s ease-out;will-change:transform}.vorb-core{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff,#d4e2ff 44%,#a7c0f7 68%,#7593e8);box-shadow:0 0 calc(36px + var(--lvl,0)*80px) rgba(150,180,255,calc(.32 + var(--lvl,0)*.5)),inset 0 0 40px #ffffff59}.vorb-calm .vorb-core{animation:vorbbreathe 4s ease-in-out infinite}.vorb-think .vorb-core{animation:vorbbreathe 1.6s ease-in-out infinite;filter:saturate(.7) brightness(.85)}.vorb-user .vorb-core{background:radial-gradient(circle at 38% 32%,#f2fff6,#bdf3d2 44%,#86e3ac 68%,#49c47e);box-shadow:0 0 50px #5adc9680,inset 0 0 40px #ffffff59}@keyframes vorbbreathe{0%,to{opacity:.82;box-shadow:0 0 34px #96b4ff4d,inset 0 0 40px #ffffff4d}50%{opacity:1;box-shadow:0 0 60px #96b4ff80,inset 0 0 46px #fff6}}@media (prefers-reduced-motion: reduce){.vorb-calm .vorb-core,.vorb-think .vorb-core{animation:none}}.tutor-cta{background:var(--accent-fill);color:var(--on-accent);border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.tutor-cta:disabled{opacity:.5}.tutor-beta{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;padding:1px 6px;border-radius:999px}.ib-spin{display:inline-block;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:ibspin .7s linear infinite;vertical-align:middle}.avatar-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;color:#fff;font-weight:600;font-size:15px;text-shadow:0 1px 10px rgba(0,0,0,.6)}@keyframes ibspin{to{transform:rotate(360deg)}}.call-x{width:40px;height:40px;border-radius:50%;border:none;background:#0000004d;color:#fff;font-size:18px;cursor:pointer;display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.call-cap{position:absolute;left:0;right:0;bottom:1rem;z-index:4;padding:0 1.1rem;display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center}.cap-maxi{margin:0;color:#fff;font-size:1.15rem;line-height:1.45;font-weight:600;max-width:34ch;text-shadow:0 1px 10px rgba(0,0,0,.6)}.cap-maxi .fr-hl{color:#4ade80;font-weight:800;text-shadow:0 1px 12px rgba(0,0,0,.75)}.cap-maxi .en-hl{color:#ffd98a;text-shadow:0 1px 11px rgba(0,0,0,.8)}.cap-you{margin:0;color:#ffe9b8;font-size:.95rem;font-style:italic;max-width:34ch;text-shadow:0 1px 8px rgba(0,0,0,.6)}.call-join{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:1.2rem;background:#0e0b098c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.call-join-card{display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.6rem 1.3rem;max-width:380px}.call-join-sub{margin:0;color:#ffd79a;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.call-join-title{margin:0;color:#fff;font-size:1.5rem;line-height:1.2}.call-join .hint{color:#ffffffb8}.call-join .hint.c-warn{color:var(--bad)}.call-join .link{color:#fff9}.call-bar{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1rem 1rem calc(env(safe-area-inset-bottom,0) + 1rem);background:#0d0b09}.call-status{color:#ffffffbf;font-size:14px;font-weight:600;min-height:1.1em}.call-controls{display:flex;align-items:center;gap:1.4rem}.call-btn{position:relative;width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;background:#2c2824;color:#fff;transition:background .15s,transform .12s}.call-btn:active{transform:scale(.94)}.call-btn.muted{background:#fff;color:#171717}.call-btn.end{background:var(--bad);color:var(--on-feedback);font-size:20px}.call-btn-slash{position:absolute;width:2.5px;height:34px;background:var(--page-bad);transform:rotate(45deg);border-radius:2px;box-shadow:0 0 0 2px #fff}.lv-scroll{flex:1;overflow-y:auto;padding:1.2rem 20px 1.5rem}.lv-foot{flex:none;padding:.9rem 20px calc(env(safe-area-inset-bottom) + 20px);border-top:1.5px solid var(--border-light);background:var(--paper);display:flex;gap:.6rem}.stage-tag{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.lv-foot{border-top:2px solid var(--line)}.scard{box-shadow:0 3px 0 var(--shadow);padding:1.3rem 1.2rem}.scard-fr{font-size:1.7rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;text-wrap:balance}.scard-en{font-size:1.05rem;color:var(--ink-soft);margin-top:.5rem;line-height:1.4}.scard-mean{font-size:1.35rem;font-weight:700;color:var(--accent-text);line-height:1.3;margin:.1rem 0 0;text-wrap:balance}.scard-ex{display:flex;align-items:center;gap:.7rem;text-align:left;border-top:1px solid var(--divider);padding-top:.8rem;margin-top:.3rem}.scard-ex+.scard-ex{margin-top:0}.scard-ph{font-size:14px;color:var(--ink-soft);font-style:italic;margin-top:.5rem}.scard-hidden{font-size:1.3rem;color:var(--border-light);letter-spacing:.1em}.reg-tag{display:inline-flex;align-items:center;align-self:center;gap:.3rem;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#2563eb;background:#2563eb1a;border-radius:999px;padding:.12rem .5rem;margin:.1rem 0}.reg-tag.formal{color:#b4530a;background:#b4530a1a}.reg-alt{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-light)}.reg-alt-fr{font-weight:600;color:var(--ink);font-size:1.02rem}.reg-pick-row{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.reg-pick-lbl{font-size:12px;color:var(--ink-soft);font-weight:600}.reg-pick{font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;color:#2563eb;background:transparent;border:1.5px solid rgba(37,99,235,.4);border-radius:999px;padding:.2rem .6rem}.reg-pick.formal{color:#b4530a;border-color:#b4530a66}.reg-pick.on{color:#fff;background:#2563eb;border-color:#2563eb}.reg-pick.formal.on{background:#b4530a;border-color:#b4530a}.fn-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem}.play{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:72px;height:72px;border-radius:50%;background:var(--fill);color:var(--on-fill);border:2px solid var(--border);cursor:pointer;flex:none;transition:transform .15s}.play:active{transform:scale(.95)}.play.sm{width:48px;height:48px}.play.ghost{background:var(--card);color:var(--ink)}.play svg{width:28px;height:28px}.play{border:0;background:var(--accent-fill);color:var(--on-accent);box-shadow:0 .22rem 0 var(--accent-edge);transition:transform 80ms ease,box-shadow 80ms ease}.play:active{transform:translateY(.17rem);box-shadow:0 .05rem 0 var(--accent-edge)}.play.ghost{background:var(--raised);color:var(--accent-text);border:2px solid var(--line);box-shadow:0 .17rem 0 var(--line)}.play.ghost:active{box-shadow:0 0 0 var(--line)}.why-tef{border:1.5px dashed var(--border-light);border-radius:14px;padding:.75rem .9rem;display:flex;gap:.6rem;align-items:flex-start}.why-tef .lbl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.why-tef p{font-size:14px;line-height:1.45;margin-top:.15rem}.var-list{display:flex;flex-direction:column;gap:.5rem}.var{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--border-light);border-radius:14px;padding:.6rem .7rem;background:var(--card)}.var-fr{font-weight:600;font-size:16px;line-height:1.3}.var-en{font-size:13px;color:var(--ink-soft)}.rec{display:flex;flex-direction:column;align-items:center;gap:.9rem}.rec-btn{width:96px;height:96px;border-radius:50%;background:var(--card);border:2.5px solid var(--ink);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:transform .15s,background .15s}.rec-btn:active{transform:scale(.96)}.rec-btn.on{background:var(--bad);border-color:var(--bad);color:var(--on-feedback);animation:recpulse 1.2s ease infinite}.rec-btn svg{width:34px;height:34px}.rec-btn{background:var(--raised);border:2px solid var(--line);color:var(--accent-text);box-shadow:0 .22rem 0 var(--line)}.rec-btn:active{transform:translateY(.17rem);box-shadow:0 .05rem 0 var(--line)}.rec-btn.on{background:var(--bad);border-color:var(--bad);color:var(--on-feedback);box-shadow:0 .22rem 0 var(--bad-edge)}@keyframes recpulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--page-bad) 15%,transparent)}}.rec-hint{font-size:14px;color:var(--ink-soft);text-align:center}.wave{display:flex;align-items:center;gap:3px;height:28px}.wave i{width:4px;background:var(--bad);border-radius:2px;display:block;animation:wv .9s ease infinite}@keyframes wv{0%,to{height:6px}50%{height:24px}}.score{border:2px solid var(--border);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.7rem;animation:fadeIn .22s ease}.score-top{display:flex;align-items:center;gap:.9rem}.score-tr{font-size:14px;color:var(--ink-soft);line-height:1.4}.tok{display:inline;border-radius:4px;padding:0 1px}.tok.ok{color:var(--good)}.tok.bad{color:var(--bad);text-decoration:underline;text-decoration-style:wavy;text-underline-offset:3px}.tok.miss{color:var(--ink-soft);opacity:.5}.due-ring{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid var(--ink);border-radius:50%;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.err-row{display:flex;flex-direction:column;gap:.35rem;padding:.8rem 0;border-bottom:1px solid var(--divider)}.err-row:last-child{border-bottom:none}.err-h{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.err-t{font-weight:600;font-size:16px}.err-m{font-size:13px;color:var(--ink-soft);white-space:nowrap}.sev{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.sev.hi{background:var(--bad)}.sev.mid{background:var(--status-started)}.sev.lo{background:var(--status-todo)}.sev.st-done{background:var(--status-done)}.sev.st-started{background:var(--status-started)}.sev.st-todo{background:var(--status-todo)}.conj{width:100%;border-collapse:collapse;margin-top:.2rem}.conj td{padding:.55rem .4rem;border-bottom:1px solid var(--divider);vertical-align:baseline}.conj tr:last-child td{border-bottom:none}.conj .cp{color:var(--ink-soft);font-weight:600;font-size:15px;white-space:nowrap;width:1%;padding-right:1rem}.conj .cf{font-weight:700;font-size:1.15rem;letter-spacing:-.01em}.conj .ca{width:1px;padding-left:.15rem;padding-right:.15rem;vertical-align:middle}.conj .ca button{display:grid;place-items:center}@media (max-width:420px){.conj .cp{padding-right:.4rem;font-size:14px}.conj .cf{font-size:1rem}}.conj td.cp,.conj td.cf{vertical-align:middle}.rec-btn.mini{width:34px;height:34px;border-width:1.5px}.rec-btn.mini svg{width:16px;height:16px}.rec-btn.mini.ok{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.rec-btn.mini.miss{border-color:var(--bad);color:var(--bad)}.rec-btn.mini{border-width:2px;box-shadow:0 .11rem 0 var(--line)}.rec-btn.mini.ok{box-shadow:0 .11rem 0 var(--accent-edge)}.conj .ce{color:var(--ink-soft);font-size:13px;text-align:right}.conj-end{color:var(--accent-text)}.stage-card{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--border-light);border-radius:16px;padding:.9rem 1rem;cursor:pointer;min-height:66px}.stage-card:hover:not(:disabled){border-color:var(--ink)}.stage-card:disabled{opacity:.55;cursor:default}.stage-card.done{border-color:var(--accent-line)}.stage-num{width:30px;height:30px;flex:none;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-weight:800;font-size:14px}.stage-card.done .stage-num{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.stage-ct{flex:1;min-width:0}.stage-ct b{font-size:16px;display:block}.stage-ct span{font-size:13px;color:var(--ink-soft)}.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.opt{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:.6rem .8rem;border:1.5px solid var(--border-light);border-radius:14px;background:var(--card);font-size:16px;font-weight:600;cursor:pointer;color:var(--ink);transition:border-color .12s,background .12s;font-family:inherit}.opt:hover:not(:disabled){border-color:var(--ink)}.opt:disabled{cursor:default}.opt.sel{border-color:var(--ink);border-width:2px}.opt.ok{border-color:var(--good);border-width:2px;background:var(--good-bg);color:var(--good)}.opt.bad{border-color:var(--bad);border-width:2px;background:var(--bad-bg);color:var(--bad)}.opt-num{position:absolute;bottom:-8px;right:10px;min-width:19px;height:19px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1;color:var(--ink-subtle);background:var(--surface);border:2px solid var(--line);border-radius:6px;pointer-events:none}.opt{min-height:2.67rem;padding:.55rem .9rem;border:2px solid var(--line);border-radius:.78rem;background:var(--raised);box-shadow:0 .17rem 0 var(--line);font-size:1rem;font-weight:700;transition:transform 80ms ease,box-shadow 80ms ease,border-color .12s,background .12s}.opt:hover:not(:disabled){border-color:var(--line-strong)}.opt:active:not(:disabled){transform:translateY(.17rem);box-shadow:0 0 0 var(--line)}.opt.sel{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);box-shadow:0 .17rem 0 var(--accent-edge)}.opt.ok{border-color:var(--good);background:var(--good-bg);color:var(--good);box-shadow:0 .17rem 0 var(--good-edge)}.opt.bad{border-color:var(--bad);background:var(--bad-bg);color:var(--bad);box-shadow:0 .17rem 0 var(--bad-edge)}.verdict{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-radius:14px;border:1.5px solid var(--border-light);animation:fadeIn .18s ease}.verdict.ok{border-color:var(--good);background:var(--good-bg)}.verdict.bad{border-color:var(--bad);background:var(--bad-bg)}.verdict.warn{border-color:var(--close);background:var(--close-bg)}.verdict.warn .verdict-ic{background:var(--close)}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.match-col{display:flex;flex-direction:column;gap:.5rem}.match-item{min-height:52px;padding:.5rem .7rem;border:1.5px solid var(--border-light);border-radius:14px;background:var(--card);font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;text-align:center;line-height:1.3;transition:border-color .12s,background .12s}.match-item:hover:not(:disabled){border-color:var(--ink)}.match-item.sel{border-color:var(--ink);border-width:2px;background:var(--hover)}.match-item.done{border-color:var(--good);background:var(--good-bg);color:var(--good);cursor:default}.match-item.bad{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}.verdict-ic{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;color:var(--on-feedback);font-weight:800;font-size:15px;margin-top:1px}.verdict.ok .verdict-ic{background:var(--good)}.verdict.bad .verdict-ic{background:var(--bad)}.verdict-t{font-size:15px;font-weight:700}.verdict p{font-size:14px;color:var(--ink-soft);line-height:1.4;margin-top:2px}.verdict.big{align-items:center;padding:1rem 1.1rem;gap:.85rem}.verdict.big .verdict-ic{width:34px;height:34px;font-size:18px;margin-top:0}.verdict.big .verdict-t{font-size:18px;line-height:1.3}.verdict.big .verdict-t b{font-size:1.05em}.verdict{border:2px solid transparent;border-radius:.89rem;gap:.75rem}.verdict.ok{border-color:var(--good-line);background:var(--good-bg)}.verdict.bad{border-color:var(--bad-line);background:var(--bad-bg)}.verdict.warn{border-color:var(--close-line);background:var(--close-bg)}.verdict-ic,.verdict.ok .verdict-ic,.verdict.bad .verdict-ic,.verdict.warn .verdict-ic{width:1.6rem;height:1.6rem;background:var(--surface);font-size:.83rem;font-weight:900}.verdict.ok .verdict-ic,.verdict.ok .verdict-t{color:var(--good)}.verdict.bad .verdict-ic,.verdict.bad .verdict-t{color:var(--bad)}.verdict.warn .verdict-ic,.verdict.warn .verdict-t{color:var(--close)}.verdict-t{font-weight:800}.verdict-t b{color:var(--ink)}.verdict p{color:var(--ink-muted)}.verdict.big{padding:1rem 1.1rem}.verdict.big .verdict-ic{width:2.89rem;height:2.89rem;font-size:1.2rem}.verdict.big .verdict-t{font-size:1.1rem}.write-in{width:100%;font-family:inherit;font-size:24px;font-weight:700;text-align:center;color:var(--ink);background:var(--card);border:2px solid var(--border-light);border-radius:14px;padding:.85rem 1rem;outline:none;transition:border-color .15s}.write-in::placeholder{color:var(--ink-soft);font-weight:500;font-size:19px}.write-in:focus{border-color:var(--ink)}.write-in:disabled{opacity:1;-webkit-text-fill-color:var(--ink)}.write-in{background:var(--sunken);border-radius:.78rem;font-weight:800}.write-in:focus{border-color:var(--accent-line)}.write-in.ok{border-color:var(--good);background:var(--good-bg)}.write-in.warn{border-color:var(--close);background:var(--close-bg)}.write-in.bad{border-color:var(--bad);background:var(--bad-bg)}.blank{border-bottom:2px solid var(--ink);min-width:64px;display:inline-block;text-align:center;font-weight:700;padding:0 .2rem}.score-badge{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;border:2px solid currentColor;border-radius:14px;padding:.45rem .55rem;flex:none;display:inline-flex;align-items:baseline;gap:1px}.score-badge small{font-size:.65rem;font-weight:600;opacity:.6}.list-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;background:none;border:none;border-bottom:1px solid var(--divider);padding:.85rem .2rem;text-align:left;cursor:pointer;min-height:58px;color:var(--ink)}.list-row:hover{background:var(--hover)}.list-left{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}.list-title{font-size:16px;font-weight:800;line-height:1.3}.list-row{border-bottom:2px solid var(--divider)}.list-row:last-child{border-bottom:none}.list-sub{font-size:13px;color:var(--ink-soft);line-height:1.35;display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-meta{font-size:14px;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.list-meta.done{color:var(--good);font-weight:700}.list-col{min-width:0}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.phrase-row{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--divider);padding:.55rem .1rem}.phrase-row:last-child{border-bottom:none}.phrase-mid{flex:1;min-width:0}.phrase-pick{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-width:0;background:none;border:none;text-align:left;cursor:pointer;color:var(--ink);padding:.3rem 0}.phrase-pick .list-sub{white-space:normal}.phrase-check{flex:none;width:24px;height:24px;border-radius:7px;border:1.5px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--on-accent);background:transparent;transition:background .12s,border-color .12s}.phrase-check.on{background:var(--accent-fill);border-color:var(--accent-fill)}.delf-steps{display:flex;gap:.4rem;margin-bottom:1rem}.delf-step{flex:1;height:4px;border-radius:2px;background:var(--border-light)}.delf-step.done{background:var(--accent-fill)}.delf-step.cur{background:var(--ink)}.delf-area{font:inherit;font-size:16px;line-height:1.5;padding:.7rem .8rem;border:1.5px solid var(--border-light);border-radius:12px;background:var(--card);color:var(--ink);outline:none;resize:vertical;width:100%}.delf-area:focus{border-color:var(--accent-line)}.delf-score{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem 0}.delf-score-n{font-size:3rem;font-weight:700;font-family:var(--font-sans);line-height:1}.delf-score-d{font-size:1.3rem;color:var(--ink-soft)}.delf-verdict{font-size:15px;font-weight:700;color:var(--ink-soft)}.delf-verdict.pass{color:var(--good)}.delf-field{display:flex;align-items:center;gap:.6rem}.delf-field-l{flex:0 0 132px;font-size:14px;color:var(--ink-soft)}.delf-field .acct-in{flex:1}.dx{scroll-margin-top:72px;transition:border-color .2s}.dx.live{border-color:var(--accent-line)}.dx-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.dx-t{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.dx-pts{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.dx-ctx{margin:0;font-size:15px;line-height:1.45}.dx-ins{margin:0;font-size:14px;color:var(--ink-soft);font-style:italic}.dx-play{display:flex;flex-wrap:wrap;gap:.4rem}.dl-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:var(--card);border:1.5px solid var(--border-light);border-radius:12px;font-size:14px;line-height:1.4}.dl-dot{width:10px;height:10px;border-radius:50%;background:var(--border-light);flex:none}.dl-dot.on{background:var(--accent-fill);animation:dl-pulse 1.1s ease-in-out infinite}@keyframes dl-pulse{50%{opacity:.35}}.dl-time{font-weight:700;font-variant-numeric:tabular-nums}.d-timerbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .9rem;background:var(--card);border:1.5px solid var(--border-light);border-radius:12px;font-size:14px}.d-timer{font-weight:700;font-variant-numeric:tabular-nums}.d-timer.low{color:var(--bad)}.dq{display:flex;flex-direction:column;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--divider)}.dq-head{display:flex;align-items:baseline;gap:.5rem}.dq-n{flex:none;font-weight:800;font-size:14px;width:1.2rem}.dq-q{flex:1;font-weight:600;font-size:16px;line-height:1.35}.dq-pts{flex:none;font-size:11px;color:var(--ink-soft);white-space:nowrap}.dq-opts{display:flex;flex-direction:column;gap:.4rem}.dq-opts.pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dq-opt{display:flex;align-items:center;gap:.6rem;min-height:46px;padding:.5rem .7rem;border:1.5px solid var(--border-light);border-radius:11px;background:var(--card);color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}.dq-opts.pics .dq-opt{flex-direction:column;justify-content:center;gap:.3rem;min-height:96px}.dq-opt:hover:not(:disabled){border-color:var(--ink)}.dq-opt:disabled{cursor:default}.dq-opt.sel{border-color:var(--ink);border-width:2px;background:var(--hover)}.dq-opt.right{border-color:var(--good);border-width:2px;background:var(--good-bg);color:var(--good)}.dq-opt.wrong{border-color:var(--bad);border-width:2px;background:var(--bad-bg);color:var(--bad)}.dq-opt.dim{opacity:.5}.dq-opt.sm{min-height:38px;padding:.3rem .6rem;font-size:13px;justify-content:center}.dq-l{flex:none;font-size:12px;font-weight:800;color:var(--ink-soft)}.dq-pic{line-height:1;font-size:28px}.dq-pic.lg{font-size:40px}.dq-pic.xl{font-size:46px}.dq-in{font:inherit;font-size:16px;padding:.6rem .75rem;border:1.5px solid var(--border-light);border-radius:11px;background:var(--card);color:var(--ink);outline:none}.dq-in:focus{border-color:var(--accent-line)}.dq-short-r{display:flex;flex-direction:column;gap:.2rem}.dq-ans{font-weight:600;padding:.35rem .6rem;border-radius:9px;border:1.5px solid}.dq-ans.right{color:var(--good);border-color:var(--good);background:var(--good-bg)}.dq-ans.wrong{color:var(--bad);border-color:var(--bad);background:var(--bad-bg)}.dq-key{font-size:13px;color:var(--good);font-weight:600}.dq-route{width:100%;max-width:120px;height:auto;max-height:110px}.dq-route-grid line{stroke:var(--border-light);stroke-width:5;stroke-linecap:round}.dq-route-path{fill:none;stroke:var(--accent-line);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.dq-route-start{fill:var(--ink)}.dq-route-in{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dq-route-x{fill:var(--bad);font-size:16px;font-weight:800}.dq-match{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.dq-match-cell{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;border:1.5px solid var(--border-light);border-radius:12px;background:var(--card)}.dq-match-cell.right{border-color:var(--good);background:var(--good-bg)}.dq-match-cell.wrong{border-color:var(--bad);background:var(--bad-bg)}.dq-match-cell select{width:100%;font:inherit;font-size:13px;padding:.3rem;border:1.5px solid var(--border-light);border-radius:8px;background:var(--paper);color:var(--ink)}.dq-objs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}.dq-obj{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;border:1.5px solid var(--border-light);border-radius:12px;background:var(--card)}.dq-yn{display:flex;flex-direction:column;gap:.3rem;width:100%}.dd{font-size:15.5px;line-height:1.55;color:var(--ink);border-radius:10px}.dd-body{padding:.7rem .9rem}.dd-email{border:1.5px solid var(--border-light);background:var(--card);overflow:hidden}.dd-mailbar{padding:.35rem .9rem;background:var(--tint);font-size:12px;font-weight:700;color:var(--ink-soft)}.dd-mailrow{display:flex;gap:.6rem;padding:.3rem .9rem;border-bottom:1px solid var(--divider);font-size:14px}.dd-k{flex:0 0 3.2rem;color:var(--ink-soft)}.dd-sms{display:flex;flex-direction:column;gap:.3rem;padding:.6rem;background:var(--tint)}.dd-sms-from{font-size:12px;font-weight:700;color:var(--ink-soft);padding-left:.4rem}.dd-bubble{align-self:flex-start;max-width:92%;padding:.6rem .8rem;border-radius:16px 16px 16px 4px;background:var(--card);border:1px solid var(--border-light)}.dd-board{padding:.7rem;background:var(--tint);border:1.5px solid var(--border-light)}.dd-board-t{font-family:var(--font-sans);font-weight:700;font-size:1.1rem;margin-bottom:.5rem}.dd-ads{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem}.dd-ad{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;background:var(--card);border:1px solid var(--border-light);font-size:14px;line-height:1.4;transform:rotate(var(--tilt,0deg))}.dd-article{border-top:3px solid var(--ink);background:var(--card);padding-top:.2rem}.dd-src{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:.3rem .9rem 0}.dd-h{font-family:var(--font-sans);font-size:1.2rem;margin:.2rem .9rem 0;line-height:1.25}.dd-notice{border:2px solid var(--ink);background:var(--card)}.dd-notice-t{padding:.5rem .9rem;border-bottom:2px solid var(--ink);font-weight:800;text-align:center;letter-spacing:.03em}.d-form{display:flex;flex-direction:column;gap:.35rem;padding:.8rem;border:1.5px solid var(--border-light);border-radius:10px;background:var(--card)}.d-form-t{font-weight:800;margin-bottom:.2rem}.d-row{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:0;padding:.25rem 0;font:inherit;color:var(--ink);cursor:pointer}.d-crit{display:flex;flex-direction:column;gap:.25rem;padding-top:.55rem;border-top:1px solid var(--divider)}.d-critbar{height:5px;border-radius:3px;background:var(--divider);overflow:hidden}.d-critbar i{display:block;height:100%;background:var(--accent-fill);border-radius:3px}.d-lvl{font-size:11px;font-weight:700;color:var(--ink-soft);margin-left:.3rem}.d-formrow{display:flex;gap:.5rem;font-size:14px;line-height:1.4}.d-ok{color:var(--good);font-weight:800}.d-no{color:var(--bad);font-weight:800}.d-fix{font-size:14.5px;line-height:1.45}.d-fix s{color:var(--bad)}.d-script summary{cursor:pointer;font-size:14px;color:var(--ink-soft)}.d-script p{margin:.4rem 0 0;font-size:14.5px;line-height:1.5}.d-spin{width:34px;height:34px;margin:0 auto;border-radius:50%;border:3px solid var(--border-light);border-top-color:var(--accent-line);animation:d-spin .9s linear infinite}@keyframes d-spin{to{transform:rotate(360deg)}}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;background:var(--card);border:1.5px solid var(--border-light);border-radius:16px;padding:.95rem 1.1rem;cursor:pointer;text-align:left;color:var(--ink);transition:border-color .12s,transform .12s}.nav-row:hover{border-color:var(--ink)}.nav-row:active{transform:translateY(1px)}.nav-col{display:flex;flex-direction:column;min-width:0}.nav-t{font-size:17px;font-weight:700;line-height:1.25}.nav-s{font-size:13px;color:var(--ink-soft);margin-top:2px}.nav-chev{font-size:24px;color:var(--ink-soft);flex:none;line-height:1}.nav-ico{width:46px;height:46px;flex:none;display:grid;place-items:center;font-size:24px;background:var(--ico-bg);border:1.5px solid var(--border-light);border-radius:14px;line-height:1}.nav-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.nav-prog{display:block;height:6px;margin-top:.5rem;background:var(--border-light);border-radius:999px;overflow:hidden}.nav-prog-fill{display:block;height:100%;background:var(--accent-fill);border-radius:999px;transition:width .4s ease}.nav-row{background:var(--raised);border:2px solid var(--line);border-radius:.89rem;box-shadow:0 .17rem 0 var(--line);transition:transform 80ms ease,box-shadow 80ms ease,border-color .12s}.nav-row:hover{border-color:var(--line-strong)}.nav-row:active{transform:translateY(.17rem);box-shadow:0 0 0 var(--line)}.nav-t{font-weight:800}.nav-ico{border:0;border-radius:.67rem;background:var(--sunken)}.nav-prog{height:.5rem;background:var(--sunken)}.nav-prog-fill{background:var(--gold)}.nav-prog.accent .nav-prog-fill{background:var(--accent-fill)}.sy-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:13px;font-weight:600;border:1.5px solid var(--border-light);background:var(--card);color:var(--ink-soft);border-radius:14px;padding:.3rem .65rem;cursor:pointer;min-height:34px;white-space:nowrap}.sy-pill.synced{color:var(--ink)}.sy-pill.syncing,.sy-pill.pending{color:var(--ink);border-color:var(--ink)}.sy-pill.offline{border-style:dashed;border-color:var(--ink);color:var(--ink)}.sy-pill.error{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}@keyframes spin{to{transform:rotate(360deg)}}.acct{display:flex;gap:1rem;align-items:center;padding:1.1rem}.acct-av{width:56px;height:56px;flex:none;border-radius:50%;background:var(--fill);color:var(--on-fill);display:grid;place-items:center;font-weight:800;font-size:18px}.acct-in{width:100%;border:none;border-bottom:1.5px solid var(--border-light);background:none;outline:none;font-family:inherit;font-size:19px;font-weight:700;color:var(--ink);padding:.15rem 0 .25rem;margin-bottom:.25rem}.acct-in:focus{border-bottom-color:var(--accent-line)}.acct-in{border-bottom-width:2px}.select-setting{font:inherit;font-size:15px;color:var(--ink);background:var(--card);border:1.5px solid var(--border-light);border-radius:10px;padding:.3rem .5rem}.ac-wrap{position:relative}.ac-list{position:absolute;left:0;right:0;top:100%;z-index:20;margin:.15rem 0 0;padding:.25rem;list-style:none;background:var(--card);border:2px solid var(--border);border-radius:12px;box-shadow:0 3px 0 var(--shadow)}.ac-item{display:flex;align-items:baseline;gap:.6rem;padding:.5rem .65rem;border-radius:7px;cursor:pointer}.ac-item.on{background:var(--hover)}.ac-w{font-weight:600;color:var(--ink)}.ac-en{font-size:13px;color:var(--ink-soft)}.ac-item b{font-weight:800;text-decoration:underline;text-underline-offset:2px}.modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}html,body,#root{height:100%}body{display:block;min-height:100dvh;padding:0;gap:0;background:var(--body)}.app{height:100dvh;width:100%;max-width:520px;margin:0 auto;box-shadow:0 0 0 1px var(--border-light)}.topbar{padding:calc(env(safe-area-inset-top) + 16px) 20px 10px}.tabbar{padding:6px 4px calc(env(safe-area-inset-bottom) + 14px)}.lv-bar{padding:calc(env(safe-area-inset-top) + 14px) 16px 10px 20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.auth-err{color:var(--bad);font-size:14px;text-align:center;margin:0}@media (min-width:560px){.app{border-radius:0}}.chat{display:flex;flex-direction:column;gap:.7rem;padding-bottom:1rem}.chat-row{display:flex}.chat-row.coach{justify-content:flex-start}.chat-row.learner{justify-content:flex-end}.chat-bubble{max-width:85%;padding:.7rem .9rem;border-radius:14px 14px 14px 4px;font-size:16px;line-height:1.5}.chat-bubble.coach{background:var(--card);border:1.5px solid var(--border-light);color:var(--ink)}.chat-bubble.learner{background:var(--accent-fill);color:var(--on-accent);border-radius:14px 14px 4px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.say-card{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;padding:.45rem .6rem;background:var(--paper);border:1.5px solid var(--border-light);border-radius:10px}.say-fr{font-size:1.15rem;font-weight:700;line-height:1.4}.chat-score{font-size:12px;font-weight:800;padding:.05rem .4rem;border-radius:8px;background:#ffffff38}.chat-score.ok{background:#ffffff47}.chat-score.mid{background:#fff3}.chat-score.low{background:var(--bad)}.word-emoji{font-size:3.4rem;line-height:1;margin-bottom:.1rem;align-self:center}.word-icon svg{display:block}.list-emoji{font-size:1.5rem;line-height:1;width:1.8rem;text-align:center;flex:0 0 auto}.chat-bubble.coach .seg-fr{font-weight:700;color:var(--accent-text)}.taxi-book-name{font-weight:700;font-size:18px}.taxi-bar-sub{color:var(--ink-soft);font-size:13px}.taxi-unit{border:1.5px solid var(--border-light);border-radius:14px;overflow:hidden;background:var(--card)}.taxi-lesson-row{position:relative;display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;padding:1.05rem 1rem 1.05rem 1.1rem;background:none;border:0;border-top:1px solid var(--border-light);font-size:17px;cursor:pointer}.taxi-lesson-row:first-child{border-top:0}.taxi-lesson-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}.taxi-lesson-row.is-started:before{background:var(--status-started)}.taxi-lesson-row.is-done:before{background:var(--status-done)}.taxi-lesson-row:hover{background:var(--row-hover)}.taxi-lesson-number{display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--accent-text);width:30px;height:30px;flex:none;border-radius:50%;background:var(--accent-bg);border:1px solid var(--accent-border)}.taxi-lesson-row.is-done .taxi-lesson-number{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill)}.taxi-row-chev{color:var(--ink-soft);flex:none}.taxi-row-summary{display:block;color:var(--ink-soft);font-size:14px;line-height:1.5;margin:.15rem 0}.taxi-lesson-row.is-eval .taxi-lesson-number{color:#8a5a00}.taxi-md{font-size:16px;line-height:1.65;overflow-wrap:break-word}.taxi-md .taxi-p{margin:.55rem 0}.taxi-md .taxi-en{color:#2d4f6c;background:#eef3f8;border-left:3px solid #8fb0cf;padding:.45rem .7rem;border-radius:0 6px 6px 0;font-size:15px;line-height:1.55}.taxi-md .taxi-en em{font-style:normal}.taxi-md .taxi-h2{font-size:22px;font-family:var(--font-sans);margin:1.6rem 0 .5rem;line-height:1.3}.taxi-md .taxi-h3{font-size:20px;color:var(--accent-text);margin:1.5rem 0 .4rem;line-height:1.35}.taxi-md .taxi-h4{font-size:17px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);margin:1.8rem 0 .5rem;padding-top:.9rem;border-top:1px solid var(--border-light)}.taxi-md .taxi-dialogue{font-size:17px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);margin:1.2rem 0 .3rem}.taxi-md .taxi-ex-head{font-size:18px;font-weight:700;line-height:1.3;margin:.1rem 0 .55rem}.taxi-md .taxi-ex-head strong,.taxi-md .taxi-ex-head em{font-weight:700;font-style:normal}.taxi-md .taxi-ex-head .taxi-en-inline{font-weight:400;font-style:italic;font-size:15px;color:var(--ink-soft);white-space:nowrap}.taxi-md .taxi-en-brief{color:var(--ink-soft);font-size:14px;font-style:italic;background:none;border:0;padding:0;margin:.1rem 0 .5rem}.taxi-md .taxi-task{font-weight:600}.wl-search{display:flex;gap:.5rem}.wl-input{flex:1;font:inherit;font-size:16px;padding:.6rem .8rem;border:1.5px solid var(--border-light);border-radius:10px;background:var(--card);color:var(--ink);outline:none}.wl-input:focus{border-color:var(--accent-line)}.wl-card{padding:1rem}.wl-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.wl-word{display:inline-flex;align-items:center;gap:.4rem;font-size:1.5rem;font-weight:700;font-family:var(--font-sans);background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}.wl-gender{font-size:13px;font-weight:700;padding:.15rem .55rem;border-radius:999px}.wl-pos{font-size:13px;color:var(--ink-soft);font-style:italic}.wl-en{font-size:1.05rem;margin:0}.wl-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:14px;color:var(--ink-soft)}.wl-ex{margin-top:.3rem;padding-top:.5rem;border-top:1px dashed var(--border-light)}.wl-ex-row{display:flex;align-items:flex-start;gap:.5rem}.wl-ex-text{display:block}.wl-ex-en{display:block;color:var(--ink-soft);font-size:14px;margin-top:.1rem}.wl-note{font-size:14px;color:var(--ink-soft);background:var(--tint);border-radius:8px;padding:.5rem .7rem;margin:.2rem 0 0}.wl-recent{display:flex;gap:.4rem;flex-wrap:wrap}.wl-chip{cursor:pointer}.wl-saved{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--good);background:var(--good-bg);border:1px solid var(--good-line);border-radius:999px;padding:.1rem .45rem}.taxi-md hr{border:0;border-top:1px dashed var(--border-light);margin:1.5rem 0}.taxi-md ul,.taxi-md ol{padding-left:1.3rem;margin:.4rem 0}.taxi-md li{margin:.2rem 0}.taxi-md blockquote{margin:.6rem 0;padding:.5rem .8rem;border-left:3px solid var(--border-light);background:var(--card);border-radius:0 6px 6px 0}.taxi-md .taxi-img{display:block;margin:.8rem 0 .2rem}.taxi-md .taxi-img img{display:block;max-width:100%;height:auto;max-height:420px;border-radius:6px;border:1px solid var(--border-light)}.taxi-md .taxi-figrow{display:flex;gap:.6rem;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.8rem 0 .2rem;scroll-snap-type:x mandatory}.taxi-md .taxi-figrow br{display:none}.taxi-md .taxi-figrow .taxi-img{flex:0 0 auto;width:min(82%,460px);margin:0;scroll-snap-align:start}.taxi-md .taxi-figrow .taxi-img img{max-height:none;width:100%}.taxi-md .taxi-table{overflow-x:auto;margin:.7rem 0;-webkit-overflow-scrolling:touch}.taxi-md table{border-collapse:collapse;font-size:15px;line-height:1.45;min-width:60%}.taxi-md th,.taxi-md td{text-align:left;padding:.45rem .65rem;border-bottom:1px solid var(--border-light);vertical-align:top}.taxi-md th{background:var(--accent-bg);font-size:14px;font-weight:600}.taxi-md table .taxi-img img{max-height:160px}.taxi-md a{color:var(--accent-text)}.taxi-audio{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;max-width:100%}.taxi-audio audio{flex:1;min-width:0;height:40px;max-width:420px}.taxi-speed{flex:none;min-width:44px;min-height:40px;border:1px solid var(--border-light);border-radius:8px;background:var(--card);font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}.taxi-retry{font-size:13px;color:var(--bad)}.taxi-next{display:flex;flex-direction:column;gap:.6rem}@media (min-width:700px){.taxi-book .lv-scroll{padding-left:32px;padding-right:32px}}.taxi-md .taxi-box{position:relative;margin:1.4rem 0}.taxi-md .taxi-box>.taxi-h4:first-of-type{border-top:0;padding-top:0;margin-top:.2rem}.taxi-md .taxi-box-grammaire{background:var(--amber-bg);border:1.5px solid var(--amber-border);border-radius:12px;padding:1rem 1rem .6rem;box-shadow:0 1px 0 var(--amber-border)}.taxi-md .taxi-box-grammaire .taxi-h4{color:#8a5a00}.taxi-md .taxi-box-grammaire th{background:var(--box-head-bg)}.taxi-md .taxi-box-grammaire td,.taxi-md .taxi-box-grammaire th{border-bottom-color:#efd9a0}.taxi-md .taxi-box-savoir-dire{background:var(--accent-bg);border:1.5px solid var(--box-line-good);border-radius:12px;padding:1rem 1rem .6rem}.taxi-md .taxi-box-savoir-dire .taxi-h4{color:var(--accent-text)}.taxi-box-tag{position:absolute;top:-.7rem;right:.8rem;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--paper);padding:0 .45rem;border-radius:4px;color:#8a5a00;border:1px solid #e6c46a}.taxi-box-savoir-dire>.taxi-box-tag{color:var(--accent-text);border-color:var(--box-line-good)}.taxi-ex{background:var(--card);border:1.5px solid var(--border-light);border-radius:12px;padding:.8rem 1rem;margin:1rem 0}.taxi-ex.is-right{border-color:var(--good)}.taxi-help{background:var(--tint);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0;font-size:15px;line-height:1.55}.taxi-help ol{margin:.4rem 0 .2rem;padding-left:1.2rem}.taxi-help li{margin:.15rem 0}.taxi-help-task{font-weight:600}.taxi-help-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-right:.5rem}.taxi-help-example{margin-top:.35rem;padding-top:.35rem;border-top:1px dashed var(--border-light)}.taxi-gap-wrap{display:inline-flex;align-items:baseline;gap:.25rem;vertical-align:baseline}.taxi-gap{font:inherit;font-size:16px;color:var(--field-ink);background:var(--field-bg);border:0;border-bottom:2px solid var(--field-border);padding:0 .2rem;min-width:3ch;max-width:100%;border-radius:3px 3px 0 0;outline:none}.taxi-gap:focus{background:var(--gap-focus-bg);border-bottom-color:var(--field-ink)}.taxi-gap.ok{border-bottom-color:var(--good);color:var(--good);background:var(--good-bg)}.taxi-gap.bad{border-bottom-color:var(--bad);background:var(--gap-bad-bg)}.taxi-gap-key{font-size:13px;color:var(--good);font-weight:600}.pk-in{background:var(--field-bg)}.taxi-ex-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.taxi-score{font-size:14px;color:var(--bad)}.taxi-score.ok{color:var(--good);font-weight:600}.taxi-key{margin-top:.7rem;padding:.6rem .8rem;border-left:3px solid var(--good);background:var(--good-bg);border-radius:0 8px 8px 0;font-size:15px}.taxi-key p{margin:.3rem 0}.cedit{color-scheme:light;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;background:#e9e7e2;color:#1f1f1f;font-family:var(--font-sans)}.ce-head{flex:none;display:flex;align-items:center;gap:.7rem;background:#201e1b;color:#fff;padding:calc(env(safe-area-inset-top,0px) + 12px) clamp(14px,3vw,28px) 12px}.ce-back{flex:none;width:34px;height:34px;display:grid;place-items:center;font-size:1.5rem;line-height:1;color:#fff;background:transparent;border:none;border-radius:9px;cursor:pointer}.ce-back:hover{background:#ffffff1f}.ce-title{flex:1;min-width:0;font:inherit;font-size:1.05rem;font-weight:700;color:#fff;background:transparent;border:none;outline:none;padding:.25rem .4rem;border-radius:8px}.ce-title::placeholder{color:#fff6}.ce-title:focus{background:#ffffff1a}.ce-status{flex:none;font-size:.74rem;color:#ffffff8c;white-space:nowrap}.ce-status-error{color:#ff9a9a}.ce-share{flex:none;white-space:nowrap}.ce-save-err{flex:none;margin:0;padding:.4rem .75rem;font-size:.85rem;text-align:center;background:var(--bad-bg);color:var(--bad)}.ce-save-err .link{color:inherit;font-size:inherit}.ce-conflict{flex:none;font:inherit;font-size:.78rem;color:#ffd9a0;background:transparent;border:none;text-decoration:underline;cursor:pointer;white-space:nowrap}.ce-share-wrap{flex:none;position:relative}.ce-share-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:900;width:250px;display:flex;flex-direction:column;gap:.55rem;padding:.8rem;background:#fff;color:#1f1f1f;border:1px solid #e4e2dd;border-radius:12px;box-shadow:0 10px 30px #0003}.ce-share-label{margin:0;font-size:.78rem;color:#6b6b6b}.ce-share-pop label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.ce-toolbar{flex:none;background:#fff;border-bottom:1px solid #e4e2dd;display:flex;justify-content:center;padding:.5rem clamp(8px,2vw,16px)}.ce-toolbar-inner{display:flex;align-items:center;gap:.22rem;width:100%;max-width:1040px;overflow-x:auto;scrollbar-width:none}.ce-toolbar-inner::-webkit-scrollbar{display:none}.ce-tb-btn{flex:none;min-width:44px;height:44px;padding:0 .6rem;display:grid;place-items:center;font:inherit;font-size:1.12rem;color:#3c3a36;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer}.ce-tb-btn:hover{background:#f2f0ea}.ce-tb-btn.is-active{background:var(--page-accent-soft);border-color:var(--page-accent-soft-line);color:var(--page-accent)}.ce-tb-btn:disabled{opacity:.35;cursor:default}.ce-tb-btn svg{width:22px;height:22px}.ce-tx{font-size:1.18rem;font-weight:700}.ce-sep{flex:none;width:1px;height:28px;background:#e4e2dd;margin:0 .4rem}.ce-size-wrap{position:relative;flex:none}.ce-size{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:.98rem;color:#2a2a2a;background:#fff;border:1px solid #d9d7d1;border-radius:10px;padding:.5rem .7rem;cursor:pointer;min-width:118px;justify-content:space-between}.ce-size:hover{background:#f7f5f0}.ce-size-caret{font-size:.7rem;color:#8a867c}.ce-size-pop{position:fixed;z-index:60;min-width:168px;background:#2b2b31;border:1px solid #3d3d45;border-radius:12px;box-shadow:0 14px 36px #0006;padding:6px;display:flex;flex-direction:column}.ce-size-opt{display:flex;align-items:center;gap:.5rem;text-align:left;border:none;background:transparent;color:#eceaf2;padding:.5rem .6rem;border-radius:8px;font:inherit;cursor:pointer;line-height:1.1}.ce-size-opt:hover{background:#3a3a43}.ce-size-opt.is-active{color:#fff;font-weight:600}.ce-size-check{width:16px;flex:none;color:#fff;font-size:.85rem}.ce-ico-a{display:inline-flex;align-items:flex-end;justify-content:center;height:22px;font-weight:800;font-size:1.18rem;line-height:1;border-bottom:3px solid #e0564f}.ce-pop-wrap{position:relative;flex:none}.ce-palette{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:60;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:11px;background:#fff;border:1px solid #e4e2dd;border-radius:14px;box-shadow:0 12px 34px #0000002e}.ce-palette.ce-palette-fixed{position:fixed}.ce-swatch{width:26px;height:26px;border-radius:8px;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}.ce-swatch:hover{transform:scale(1.08)}.ce-swatch-none{display:grid;place-items:center;background:#f3f1ec;color:#8a867c;font-size:.85rem}.ce-img-err{margin:0;padding:.45rem clamp(14px,3vw,28px);font-size:.8rem;color:#b54a3f;background:#fbeceb}.ce-body{flex:1;min-height:0;display:flex;flex-direction:column}.ce-rail{flex:none;order:2;background:#302f3b;border-top:1px solid #45444f;display:flex;align-items:center;gap:10px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ce-rail::-webkit-scrollbar{height:7px}.ce-rail-toggle{flex:none;border:none;background:transparent;color:#b8b5c2;cursor:pointer;font-size:1rem;border-radius:6px;padding:5px 9px}.ce-rail-toggle:hover{background:#ffffff1f}.ce-rail-list{display:flex;flex-direction:row;align-items:flex-start;gap:12px}.ce-pg{flex:none;cursor:pointer;position:relative;border-radius:13px;padding:0}.ce-pg-thumb{position:relative;width:var(--tw,92px);height:var(--th,116px);overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;box-shadow:0 2px 8px #00000047;transition:box-shadow .15s,transform .15s}.ce-pg:hover .ce-pg-thumb{box-shadow:0 4px 14px #0000005c}.ce-pg-thumb-inner{position:absolute;top:0;left:0;width:760px;transform:scale(var(--ts,.12));transform-origin:top left;pointer-events:none;padding:18px;color:#1a1a1a;line-height:1.5;--ink:#1a1a1a;--ink-soft:#6b6b6b;--border:#e4e2dd;--border-light:#ecece6;--field-bg:#f5f3ef;--field-border:#ddd;--shadow:rgba(0,0,0,.12)}.ce-pg.is-active{background:#ec4e95;padding:5px 5px 2px;box-shadow:0 4px 14px #ec4e956b}.ce-pg.is-active .ce-pg-thumb{border-color:#ffffff80;box-shadow:none}.ce-pg-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px 6px 2px}.ce-pg-num{font-size:.72rem;font-weight:700;color:#cfccd6;line-height:1}.ce-pg.is-active .ce-pg-num{color:#fff}.ce-pg-menu{position:relative}.ce-pg-dots{border:none;background:transparent;color:#cfccd6;cursor:pointer;font-size:1rem;line-height:1;padding:1px 5px;border-radius:5px}.ce-pg-dots:hover{background:#ffffff29;color:#fff}.ce-pg.is-active .ce-pg-dots{color:#fff}.ce-pg.is-active .ce-pg-dots:hover{background:#ffffff47}.ce-pg-pop{position:absolute;right:0;bottom:calc(100% + 5px);z-index:40;background:#fff;border:1px solid #e4e2dd;border-radius:9px;box-shadow:0 10px 26px #00000029;padding:4px;min-width:120px;display:flex;flex-direction:column}.ce-pg-pop button{text-align:left;border:none;background:transparent;padding:.42rem .55rem;border-radius:6px;font:inherit;font-size:.82rem;color:#2a2a2a;cursor:pointer}.ce-pg-pop button:hover{background:#f2f0ea}.ce-pg-del{color:var(--danger)}.ce-pg-del:disabled{color:#bbb;cursor:default}.ce-pg-add{flex:none;align-self:stretch;display:grid;place-items:center;width:100%;height:40px;border:1px solid transparent;background:#3c3b48;color:#cfccd6;border-radius:11px;font:inherit;font-size:1.3rem;font-weight:400;line-height:1;cursor:pointer}.ce-pg-add:hover{background:#474655;color:#fff}.ce-add-wrap{flex:none;align-self:stretch;display:flex}.ce-add-pop{position:fixed;z-index:900;min-width:230px;background:#fff;border:1px solid #e4e2dd;border-radius:12px;box-shadow:0 14px 34px #0003;padding:6px;display:flex;flex-direction:column;font-family:var(--font-sans)}.ce-add-pop button{display:flex;align-items:center;gap:.7rem;border:none;background:transparent;padding:.7rem .8rem;border-radius:8px;font:inherit;font-size:.95rem;font-weight:500;color:#1f1f1f;cursor:pointer;text-align:left}.ce-add-pop button:hover{background:#f2f0ea}.ce-add-pop svg{flex:none;color:#3a3a3a}.ce-pg-thumb-sheet{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:#fff;transform:scale(.82);transform-origin:top left}.ce-sheet{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#302f3b}.ce-sheet-wait{flex:1;display:grid;place-items:center}.ce-toolbar[hidden],.ce-scroll[hidden]{display:none!important}.ce-tbl-add{position:absolute;z-index:45;display:grid;place-items:center;border:1px solid #e7cddd;background:#fbeef5;color:#a83c72;cursor:pointer;font-size:1.35rem;font-weight:800;line-height:1;border-radius:7px;padding:0}.ce-tbl-add:hover{background:#f6dcea}.ce-tbl-add-col{width:22px}.ce-tbl-add-row{height:22px}.ce-tbl-menu{position:absolute;z-index:46}.ce-tbl-dots{display:grid;place-items:center;width:30px;height:24px;border:1px solid #e4e2dd;background:#fff;color:#6b6b6b;border-radius:7px;cursor:pointer;font-size:1rem;line-height:1;box-shadow:0 1px 4px #0000001f}.ce-tbl-dots:hover{background:#f2f0ea;color:#2a2a2a}.ce-tbl-pop{position:absolute;top:calc(100% + 5px);right:0;background:#fff;border:1px solid #e4e2dd;border-radius:10px;box-shadow:0 12px 30px #0000002e;padding:4px;min-width:150px;display:flex;flex-direction:column}.ce-tbl-pop button{text-align:left;border:none;background:transparent;padding:.45rem .6rem;border-radius:6px;font:inherit;font-size:.84rem;color:#2a2a2a;cursor:pointer}.ce-tbl-pop button:hover{background:#f2f0ea}.ce-tbl-pop-sep{height:1px;background:#ecece6;margin:4px 2px}.ce-tbl-del{color:var(--danger)}.ce-scroll{flex:1;min-height:0;overflow-y:auto;background:#302f3b;padding:28px 16px 90px;-webkit-overflow-scrolling:touch}.canvas-sheet{color-scheme:light;position:relative;max-width:820px;margin:0 auto;background:#faf8f4;border:1px solid #e4e2dd;border-radius:16px;box-shadow:0 6px 28px #00000021;padding:clamp(1.4rem,4vw,2.6rem);min-height:72vh;--ink:#1a1a1a;--ink-soft:#6b6b6b;--border:#e4e2dd;--border-light:#ececE6;--field-bg:#f5f3ef;--field-border:#ddd;--shadow:rgba(0,0,0,.12);color:#1a1a1a}.canvas-sheet,.ce-pg-thumb-inner{--accent-text:var(--page-accent);--accent-fill:var(--page-accent);--accent-line:var(--page-accent);--accent-bg:var(--page-accent-bg);--accent-border:var(--page-accent-line);--good:var(--page-accent);--good-bg:var(--page-accent-bg);--good-line:var(--page-accent-line);--status-done:var(--page-accent)}.ce-content .ProseMirror,.cdoc{outline:none;line-height:1.45;color:#1a1a1a;font-size:22px}.ce-content .ProseMirror{min-height:66vh}.ce-content .ProseMirror:focus{outline:none}.ce-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#9a968c;float:left;height:0;pointer-events:none}@media (min-width:900px){.ce-scroll{padding:44px 24px 120px}.canvas-sheet{padding:3rem 3.4rem}.ce-toolbar-inner{justify-content:center}.ce-body{flex-direction:row}.ce-rail{order:0;flex-direction:column;align-items:center;width:148px;border-top:none;border-right:1px solid #45444f;overflow-y:auto;overflow-x:hidden;padding:12px 10px 22px;gap:10px}.ce-rail.is-collapsed{width:42px;padding:12px 5px}.ce-rail-toggle{align-self:flex-end}.ce-rail-list{flex-direction:column;align-items:center;gap:10px}.ce-pg{--tw:112px;--th:126px;--ts:.147}.ce-pg-thumb{width:var(--tw);height:var(--th)}.ce-pg-add{align-self:stretch;width:112px;margin-top:4px}.ce-pg-thumb-sheet{transform:none}}.ce-content .ProseMirror h1,.cdoc-h1{font-size:1.7rem;font-weight:800;margin:1.1rem 0 .5rem;line-height:1.2}.ce-content .ProseMirror h2,.cdoc-h2{font-size:1.35rem;font-weight:800;margin:1rem 0 .4rem;line-height:1.25}.ce-content .ProseMirror h3,.cdoc-h3{font-size:1.12rem;font-weight:700;margin:.8rem 0 .3rem}.ce-content .ProseMirror p,.cdoc-p{margin:.5rem 0}.ce-content .ProseMirror ul,.cdoc-ul{margin:.5rem 0;padding-left:1.4rem;list-style:disc}.ce-content .ProseMirror ol,.cdoc-ol{margin:.5rem 0;padding-left:1.5rem;list-style:decimal}.ce-content .ProseMirror li,.cdoc li{margin:.2rem 0}.ce-content .ProseMirror blockquote,.cdoc-bq{border-left:3px solid var(--accent-border);margin:.6rem 0;padding:.1rem 0 .1rem .9rem;color:var(--ink-soft)}.ce-content .ProseMirror pre,.cdoc-pre{background:var(--field-bg);border-radius:8px;padding:.7rem .9rem;overflow:auto;font-size:.9rem}.ce-content .ProseMirror hr,.cdoc-hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.ce-content .ProseMirror img,.cdoc-img{max-width:100%;height:auto;border-radius:14px;margin:1rem auto;display:block;border:1px solid rgba(0,0,0,.08);box-shadow:0 6px 22px #00000021}.ce-img-wrap{position:relative;display:block;width:fit-content;max-width:100%;margin:1rem auto;cursor:grab}.ce-img-wrap:active{cursor:grabbing}.ce-img-wrap img{margin:0;max-width:100%}.ce-img-wrap.is-selected img{outline:4px solid var(--page-accent);outline-offset:2px}.ce-img-handle{position:absolute;right:-8px;bottom:-8px;width:18px;height:18px;border-radius:50%;background:var(--page-accent);border:3px solid #fff;box-shadow:0 1px 5px #00000059;cursor:nwse-resize;opacity:0;transition:opacity .12s}.ce-img-wrap:hover .ce-img-handle,.ce-img-wrap.is-selected .ce-img-handle{opacity:1}.ce-content .ProseMirror mark,.cdoc mark{border-radius:3px;padding:.06em 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}.ce-content .ProseMirror a,.cdoc a{color:var(--accent-text);text-decoration:underline}.ce-content .ProseMirror .tableWrapper,.cdoc-table{margin:1.1rem 0;border:1px solid #e7e4dd;border-radius:12px;overflow:hidden;background:#fff}.ce-content .ProseMirror table,.cdoc-table table{border-collapse:collapse;width:100%;margin:0;table-layout:fixed}.ce-content .ProseMirror th,.ce-content .ProseMirror td,.cdoc th,.cdoc td{border:none;border-bottom:1px solid #eceae4;padding:.4rem .85rem;vertical-align:middle;text-align:left;line-height:1.35;font-size:1rem}.ce-content .ProseMirror td>p,.ce-content .ProseMirror th>p,.cdoc td>p,.cdoc th>p{margin:0}.ce-content .ProseMirror th,.cdoc th{background:#faf8f4;font-weight:700;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;color:#8a8578;border-bottom:1.5px solid #ddd9d2;white-space:normal}.ce-content .ProseMirror td:first-child,.cdoc td:first-child{font-weight:600;color:#1a1a1a}.ce-content .ProseMirror tr:last-child td,.cdoc tr:last-child td{border-bottom:none}.ce-content .ProseMirror tr:hover td,.cdoc tr:hover td{background:#f6f4ef}.ce-content .ProseMirror td,.ce-content .ProseMirror th{position:relative}.ce-content .ProseMirror .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-bg);opacity:.5;pointer-events:none}.ce-content .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--page-accent);pointer-events:none;z-index:5}.ce-content .ProseMirror.resize-cursor{cursor:col-resize}.canvas-del{flex:none;padding:.3rem .5rem;border-radius:8px;color:var(--ink-soft);font-size:1rem}.canvas-del:hover{background:var(--bad-bg);color:var(--bad)}.canvas-view-app{max-width:none;box-shadow:none;display:flex;flex-direction:column;height:100dvh;background:#302f3b}.canvas-view-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:calc(env(safe-area-inset-top,0px) + .7rem) clamp(14px,3vw,28px) .7rem;background:#201e1b}.canvas-view-brand{font-weight:800;color:#fff;text-decoration:none}.canvas-view-tag{font-size:.72rem;color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em}.canvas-view-scroll{flex:1;min-height:0;overflow-y:auto;padding:28px 16px 60px;-webkit-overflow-scrolling:touch}.canvas-title-view{font-size:1.6rem;font-weight:800;margin:0 0 .7rem;color:#1a1a1a}.canvas-view-foot{max-width:820px;margin:1rem auto 0;text-align:center;font-size:.8rem;color:#6b6b6b}.canvas-view-foot a{color:var(--page-accent)}@media (min-width:900px){.canvas-view-scroll{padding:44px 24px 80px}}.ce-new-badge{flex:none;font-size:.68rem;font-weight:800;letter-spacing:.02em;background:#e3e7fb;color:#5560d6;padding:3px 8px;border-radius:7px;margin:0 .2rem}.ce-ico-math{font-size:1.18rem;font-weight:600;font-family:Times New Roman,Georgia,serif;letter-spacing:-.02em}.ce-math{display:inline-block;padding:0 2px;vertical-align:middle}.ce-math-block{display:block;text-align:center;margin:.7rem 0}.ProseMirror .ce-math.ProseMirror-selectednode{outline:2px solid var(--page-accent);border-radius:4px}.mm-scrim{color-scheme:light;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000073;display:grid;place-items:center;padding:16px}.mm{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:#fff;color:#1a1a1a;border-radius:16px;padding:20px;box-shadow:0 20px 60px #00000059;font-family:var(--font-sans)}.mm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mm-title{font-size:1.4rem;font-weight:800;margin:0}.mm-x{border:none;background:transparent;font-size:1.05rem;cursor:pointer;color:#555;width:32px;height:32px;border-radius:8px}.mm-x:hover{background:#f1efea}.mm-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.mm-tab{font:inherit;font-size:.82rem;padding:.35rem .75rem;border:1px solid #d9d7d1;background:#fff;border-radius:999px;cursor:pointer;color:#333}.mm-tab:hover{background:#f5f3ef}.mm-tab.is-active{background:#1f1d1b;color:#fff;border-color:#1f1d1b}.mm-syms{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-height:190px;overflow-y:auto;padding:5px;border:1px solid #eee;border-radius:10px;margin-bottom:14px}.mm-sym{min-height:38px;display:grid;place-items:center;border:1px solid transparent;background:#faf9f6;border-radius:8px;cursor:pointer;color:#1a1a1a}.mm-sym:hover{background:var(--page-accent-bg);border-color:var(--page-accent-line)}.mm-label,.mm-sub{display:block;font-size:.78rem;font-weight:700;color:#555;margin-bottom:5px}.mm-input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;color:#1a1a1a;border:1px solid #d9d7d1;border-radius:10px;padding:.6rem .7rem;resize:vertical;outline:none;box-sizing:border-box}.mm-input:focus{border-color:var(--page-accent)}.mm-preview-row{margin:14px 0}.mm-preview{min-height:44px;display:flex;align-items:center;justify-content:center;background:#faf9f6;border:1px solid #eee;border-radius:10px;padding:.6rem;color:#1a1a1a}.mm-ph{color:#b7b3a9}.mm-display{display:flex;align-items:center;gap:.5rem;font-size:.86rem;color:#333;margin:12px 0 18px;cursor:pointer}.mm-foot{display:flex;justify-content:flex-end;gap:.6rem}.class-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;background:#17150f;color:#f0eee9}.class-main{flex:1;min-height:0;position:relative;display:flex}.class-board-wait{flex:1;display:grid;place-items:center;background:#302f3b}.class-board-err{place-content:center;gap:.75rem;padding:1rem;text-align:center;color:#ffffffe6}.class-board-err p{margin:0;max-width:30rem}.cedit-embed{position:relative;inset:auto;z-index:auto;height:100%;flex:1;min-height:0}.class-tiles{position:absolute;right:16px;bottom:16px;z-index:35;display:flex;flex-direction:column;gap:12px;align-items:flex-end;pointer-events:none}.ptile{position:relative;width:clamp(150px,16vw,190px);height:clamp(96px,11vw,122px);border-radius:16px;overflow:hidden;background:#24232a75;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;box-shadow:0 10px 30px #00000052}.ptile-maxi{background:#342f4a75}.ptile-ava{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#6b6658;color:#fff;font-weight:800;font-size:1.4rem}.ptile-maxi .ptile-ava{background:linear-gradient(135deg,var(--media-accent),var(--media-accent-deep))}.ptile-ava.alt{background:#6b6658}.ptile-name{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#f0eee9;background:#00000080;padding:2px 9px;border-radius:9px}.ptile{transition:border-color .25s ease,box-shadow .25s ease}.ptile.speaking{border-color:var(--media-accent);box-shadow:0 0 0 2px var(--media-accent),0 10px 30px #00000052}.ptile-dot{width:7px;height:7px;border-radius:50%;background:var(--media-accent);animation:pulse-dot 1s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.class-caption{position:absolute;left:50%;transform:translate(-50%);bottom:92px;z-index:40;width:max-content;max-width:min(760px,88%);background:#12100ddb;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.5rem .9rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center;pointer-events:none}.class-caption .cap-maxi{margin:0;font-size:.95rem;line-height:1.35;color:#fff;max-width:760px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.class-caption .cap-you{margin:0;font-size:.85rem;line-height:1.3;color:#bdbab2;font-style:italic;max-width:760px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.class-dock{position:absolute;left:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem 1rem calc(env(safe-area-inset-bottom,0px) + .9rem);background:transparent;pointer-events:none}.class-dock>*{pointer-events:auto}.dock-bar{display:inline-flex;align-items:center;gap:.5rem;background:#232227;border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:.4rem;box-shadow:0 6px 24px #0006}.dock-btn{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:none;background:#3a3942;color:#f0eee9;cursor:pointer;transition:background .14s ease,transform .08s ease}.dock-btn:hover{background:#474651}.dock-btn:active{transform:translateY(1px)}.dock-btn.off{background:#4a3a3c;color:#ffd9d4}.dock-btn.off:hover{background:#5a4446}.dock-btn.danger{width:72px;border-radius:26px;background:#e2574b;color:#fff}.dock-btn.danger:hover{background:#ea655a}.tcall-demo{flex:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem calc(.5rem + 86px);background:#262530;border-top:1px dashed rgba(255,255,255,.14)}.tcall-demo .btn{width:auto;padding:.35rem .6rem;font-size:.8rem}.lessons-page{max-width:900px;margin:0 auto;padding:1.4rem clamp(16px,4vw,28px) 4rem}.lessons-head{margin-bottom:1.4rem}.lessons-titlerow{display:flex;align-items:center;gap:.7rem}.lessons-back{flex:none;width:42px;height:42px;display:grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;border-radius:12px;color:var(--ink);cursor:pointer;transition:background .12s ease}.lessons-back:hover{background:var(--hover)}.lessons-back:active{transform:scale(.94)}.lessons-title{margin:0;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;color:var(--ink);letter-spacing:-.01em}.lessons-sub{margin:.3rem 0 0 calc(42px + .7rem);color:var(--ink-soft);font-size:.95rem}.lessons-mod{margin-top:1.8rem}.lessons-mod-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.lessons-mod-pill{flex:none;display:grid;place-items:center;min-width:42px;padding:.2rem .5rem;border-radius:9px;background:var(--ink);color:var(--card);font-weight:800;font-size:.85rem;letter-spacing:.02em}.lessons-mod-name{font-size:1.05rem;font-weight:700;color:var(--ink)}.ltl{list-style:none;margin:0;padding:0}.ltl-item{position:relative;display:flex;align-items:stretch;gap:1rem;padding:0 0 1rem}.ltl-item:before{content:"";position:absolute;left:6px;top:18px;bottom:-2px;width:2px;background:var(--border-light)}.ltl-item:last-child:before{display:none}.ltl-dot{flex:none;width:14px;height:14px;margin-top:22px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--paper)}.lrow{--lc-line:var(--ink);flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--card);border:1px solid var(--border-light);border-radius:16px;padding:1rem 1.2rem;transition:border-color .12s ease,box-shadow .12s ease}.lrow:hover{border-color:var(--border);box-shadow:0 10px 26px -18px #0009}.lrow-body{min-width:0;display:flex;flex-direction:column;gap:.1rem}.lrow-top{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.lrow-title{margin:.05rem 0;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:800;color:var(--ink);line-height:1.12;letter-spacing:-.01em}.lrow-sum{margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.lrow-actions{flex:none;display:flex;align-items:center;gap:.6rem}.lcard-join,.lcard-canvas{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid var(--lc-line);border-radius:8px;font-weight:800;font-size:.95rem;color:var(--lc-line);box-shadow:0 2px 0 var(--lc-line);padding:.62rem 1.05rem;white-space:nowrap;transition:background .12s ease,transform .08s ease,box-shadow .12s ease}.lcard-join:active,.lcard-canvas:active{transform:translateY(2px);box-shadow:0 0 0 var(--lc-line)}.lcard-join svg,.lcard-canvas svg{flex:none}.lcard-join{background:var(--lesson-pink);color:#121016;border-color:#121016;box-shadow:0 2px #121016}.lcard-fav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:none;border:0;color:var(--ink-soft,var(--lc-line));opacity:.7;transition:color .12s ease,opacity .12s ease,transform .08s ease}.lcard-fav:active{transform:scale(.88)}.lcard-fav.on,.lcard-fav:hover{opacity:1}.lcard-fav.on,.lcard-fav:hover{color:var(--lesson-pink)}.ltabs{display:inline-flex;gap:4px;margin:.9rem 0 0 calc(42px + .7rem);padding:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent)}.ltab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--ink);font-weight:800;font-size:.92rem;padding:.45rem 1.05rem;border-radius:999px}.ltab.on{background:var(--accent-fill);color:var(--on-accent)}.ltabs{background:var(--sunken)}.ltab{color:var(--ink-muted)}@media (max-width:760px){.ltabs{display:flex;width:fit-content;max-width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none}.ltab{flex:none;padding:.45rem .85rem}}.ltaxi{margin-top:1.1rem}.ltaxi-head{margin:0 0 .55rem;font-size:1rem;font-weight:800;color:var(--ink)}.ltaxi-num{color:#c2477c;margin-right:.2rem}.lfilter{display:flex;gap:.5rem;margin:1.25rem 0 .25rem}.lfilter-btn{display:inline-flex;align-items:center;gap:.4rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent;border:2px solid var(--ink);border-radius:999px;color:var(--ink);font-weight:800;font-size:.9rem;padding:.45rem .95rem}.lfilter-btn.on{background:var(--band);border-color:var(--accent-line);color:var(--accent-text)}.lfilter-btn.on svg{color:var(--accent-text)}.lfilter-btn{border-color:var(--line)}.lfilter-btn:not(.on){color:var(--ink-muted)}.lcard-join:hover{background:var(--lesson-pink-hover)}.lcard-join:active{box-shadow:0 0 #121016}.lcard-canvas{background:transparent}.lcard-canvas:hover{background:var(--hover)}@media (max-width:620px){.lrow{flex-direction:column;align-items:stretch}.lrow-actions{width:100%;flex-wrap:wrap}.lcard-join{flex:1 1 100%}.lcard-canvas{flex:1 1 0;min-width:0;padding-inline:.6rem}.lessons-mod-name{min-width:0}.ltaxi-head{line-height:1.3}}.tcall-join{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;align-items:center;justify-content:center;background:#141318;padding:1.5rem}.lj-hero{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.15rem}.lj-title{margin:0;color:#fff;font-size:clamp(2rem,6vw,3.1rem);font-weight:800;line-height:1.08;letter-spacing:-.015em}.lj-when{margin:0;color:#ffffffb8;font-size:clamp(1rem,2.6vw,1.3rem);font-weight:600}.lj-enter{width:100%;margin-top:.55rem;border:none;border-radius:16px;background:var(--lesson-pink-soft);color:#1a1420;font-size:1.22rem;font-weight:700;padding:1.05rem 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.55rem;transition:background .15s ease,transform .08s ease}.lj-enter:hover:not(:disabled){background:var(--lesson-pink-soft-hover)}.lj-enter:active:not(:disabled){transform:translateY(1px)}.lj-enter:disabled{opacity:.72;cursor:default}.lj-enter .pulse{background:#1a1420}.lj-err{margin:0;color:#ffb0a4;font-size:.92rem;max-width:420px}.lj-back{background:none;border:none;color:#ffffff8c;font-size:.95rem;cursor:pointer;text-decoration:underline;padding:.3rem .6rem}.lj-back:hover{color:#fffc}@media (max-width:560px){.class-tiles{right:10px;bottom:84px;gap:8px}.ptile{width:118px;height:76px;border-radius:13px}.ptile-ava{width:40px;height:40px;font-size:1.05rem}.ptile-name{font-size:.72rem;left:7px;bottom:7px}.dock-bar{gap:.4rem}}.dsp{display:flex;flex-direction:column;gap:.75rem;max-width:640px;margin:0 auto;padding:.5rem 0 2rem}.dsp-center{align-items:center;justify-content:center;min-height:40vh}.dsp-h{margin:.6rem 0 0;font-size:1.35rem;line-height:1.2}.dsp-sub{margin:.5rem 0 0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.dsp-cards{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.dsp-card{font:700 1.02rem/1.2 var(--font-sans);padding:.75rem 1rem;min-width:7.2rem;text-align:center;background:var(--card);border:1.5px solid var(--ink);border-radius:12px;box-shadow:2px 3px 0 var(--border-light)}.dsp-pick{display:flex;flex-direction:column;gap:.6rem}.dsp-opt{cursor:pointer;border:1.5px solid var(--border-light);border-radius:14px;background:var(--card);transition:border-color .15s ease}.dsp-opt:hover{border-color:var(--ink-soft)}.dsp-opt.on{border-color:var(--ink);box-shadow:3px 4px 0 var(--border-light)}.dsp-opt:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.dsp-opt .dsp-sit{border:none;background:none}.dsp-sit{padding:.85rem 1rem;border:1.5px solid var(--border-light);border-radius:14px;background:var(--tint)}.dsp-sit-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.dsp-sit-head b{font-size:1.1rem}.dsp-sit-text{margin:.35rem 0 0;font-size:16px;line-height:1.5}.dsp-gloss{margin:.4rem 0 0;font-size:14px;color:var(--ink-soft);font-style:italic}.dsp-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.7rem}.dsp-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;font-size:13px;line-height:1.3;padding:.6rem .4rem;background:var(--card);border:1px solid var(--border-light);border-radius:10px}.dsp-item-e{font-size:2rem;line-height:1}.dsp-money{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center}.dsp-note{font:700 13px/1 var(--font-sans);padding:.55rem .7rem;min-width:3.6rem;text-align:center;border:1.5px solid var(--accent-line);color:var(--accent-text);background:var(--card);border-radius:4px;box-shadow:inset 0 0 0 3px var(--card),inset 0 0 0 4px var(--border-light)}.dsp-coin{font:700 11px/1 var(--font-sans);width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--ink-soft);color:var(--ink);background:var(--tint)}.dsp-notes{width:100%;box-sizing:border-box;font-size:16px;padding:.7rem .85rem;border:1.5px solid var(--border-light);border-radius:12px;background:var(--card);resize:vertical}.dsp-notes:focus{outline:none;border-color:var(--ink)}.wl-input,.dq-in,.delf-area,.dsp-notes,.select-setting{background:var(--sunken);border:2px solid var(--line);border-radius:.78rem;color:var(--ink)}.wl-input:focus,.dq-in:focus,.delf-area:focus,.dsp-notes:focus,.select-setting:focus{border-color:var(--accent-line)}.select-setting{font-size:16px;padding:.35rem .6rem;font-weight:700}.dsp-actions{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:.6rem}.dsp-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.1rem}.dsp-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.dsp-part{font-size:15px;color:var(--ink-soft)}.dsp-part b{color:var(--ink)}.dsp-clock{font:700 1.5rem/1 var(--font-sans);font-variant-numeric:tabular-nums}.dsp-clock.low{color:var(--bad)}.dsp-warn{margin:0;text-align:center;font-size:14px;font-weight:600;color:var(--bad)}.dsp-err{margin:.4rem 0 0;font-size:16px;color:var(--bad)}.dsp-stage{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.2rem 0 .4rem}.dsp-orb{--lvl:0;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ink);background:var(--card);transition:border-color .2s ease}.dsp-orb span{width:46%;height:46%;border-radius:50%;background:var(--ink);transform:scale(calc(.85 + var(--lvl)*.6));transition:transform 80ms linear,background .2s ease}.dsp-orb.talk span{background:var(--accent-fill)}.dsp-orb.you{border-color:var(--accent-line)}.dsp-orb.you span{background:var(--accent-fill);animation:dsp-breathe 1.2s ease-in-out infinite}.dsp-orb.wait span,.dsp-orb.think span{opacity:.35;animation:dsp-breathe 1.8s ease-in-out infinite}@keyframes dsp-breathe{0%,to{transform:scale(.8)}50%{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.dsp-orb span{animation:none!important;transition:none}}.dsp-status{margin:0;font-size:14px;font-weight:600;color:var(--ink-soft);min-height:1.2em}.dsp-cap{margin:0;max-width:34rem;text-align:center;font:1.05rem/1.45 var(--font-sans)}.dsp-you{margin:0;max-width:34rem;text-align:center;font-size:14px;color:var(--ink-soft)}.dsp-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:15px;color:var(--ink-soft);cursor:pointer}.cert-ov{z-index:75}.cert-scroll{padding:1rem 16px 2rem;overflow-x:hidden}.cert-hint{margin-top:.8rem}.cert-ov{position:fixed;top:0;right:0;bottom:0;left:0;max-width:520px;margin:0 auto}.cert-tabs{display:flex;gap:.4rem;justify-content:center;margin:0 auto .9rem;max-width:760px}.aw-sheet{--aw-bg:#f3ead6;--aw-bg2:#2c7a65;--aw-ink:#14211c;--aw-paper:#f3ead6;position:relative;width:100%;max-width:760px;margin:0 auto;aspect-ratio:297/210;container-type:inline-size;overflow:hidden;background:var(--aw-bg);color:var(--aw-ink);color-scheme:light;font-family:"Bricolage Grotesque",var(--font-sans);box-shadow:0 1px 2px #0000002e,0 14px 40px #00000029;-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:certIn .32s ease-out both}.aw-sheet *{box-sizing:border-box}.aw-sheet :where(p,h1){margin:0}.aw-in{position:absolute;top:2.4cqw;right:2.4cqw;bottom:2.4cqw;left:2.4cqw;border:.28cqw solid var(--aw-ink);border-radius:1.6cqw;padding:4.6cqw 5cqw 3.8cqw;display:flex;flex-direction:column}.aw-ribbon{position:absolute;top:-.3cqw;right:9cqw;width:17cqw;height:62%;background:var(--aw-bg2);clip-path:polygon(0 0,100% 0,100% 100%,50% 85%,0 100%)}.aw-seal{position:absolute;right:6.4cqw;top:12cqw;width:22.5cqw;height:22.5cqw}.aw-seal-ring{font-family:"Bricolage Grotesque",var(--font-sans)}.aw-brand{position:relative;font-weight:800;font-size:2.7cqw;letter-spacing:-.03em;display:flex;align-items:center;gap:.6cqw}.aw-t1{font-weight:800;font-size:5.4cqw;letter-spacing:-.04em;line-height:1;margin-top:auto;max-width:58cqw}.aw-by{font-size:2cqw;margin-top:3cqw}.aw-nm{font-weight:800;font-size:8.6cqw;letter-spacing:-.05em;line-height:1;margin-top:.4cqw;max-width:62cqw;overflow-wrap:anywhere}.aw-why{font-size:2cqw;line-height:1.35;margin-top:1.6cqw;max-width:60cqw}.aw-chip{display:inline-block;background:var(--aw-ink);color:var(--aw-paper);border-radius:.5cqw;padding:0 .6cqw}.aw-sc{display:flex;gap:1cqw;margin-top:1.8cqw;flex-wrap:wrap}.aw-sc span{border:.18cqw solid var(--aw-ink);border-radius:5cqw;padding:.3cqw 1.2cqw;font-size:1.35cqw;font-weight:600}.aw-ft{display:flex;justify-content:space-between;align-items:flex-end;margin-top:3.6cqw;font-size:2cqw;line-height:1.35}@media (prefers-reduced-motion:reduce){.aw-sheet{animation:none}}@media print{@page{size:A4 portrait;margin:12mm}@page land{size:A4 landscape;margin:10mm}html,body{background:#fff!important;height:auto!important;overflow:visible!important}body>*:not(.cert-ov){display:none!important}.cert-ov{position:static;max-width:none;background:#fff}.cert-ov .lv-bar,.cert-hint,.cert-tabs{display:none!important}.cert-scroll{overflow:visible!important;padding:0!important;height:auto!important}.aw-sheet{page:land;max-width:none;width:calc((210mm - 20mm) * 297 / 210);height:190mm;aspect-ratio:auto;margin:0 auto;box-shadow:none;animation:none;break-inside:avoid}}.vprog{display:flex;flex-direction:column;gap:.45rem;margin:.35rem 0 .9rem}.vprog-top{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.vprog-pct{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--accent-text);font-variant-numeric:tabular-nums}.vprog-sub{font-size:14px;color:var(--ink-soft)}.vprog-bar{height:10px;border-radius:99px;background:var(--border-light);overflow:hidden}.vprog-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent-fill);transition:width .6s ease}.vprog-bar{position:relative;height:.89rem;background:var(--sunken)}.vprog-bar i{position:relative;background:var(--gold)}.vprog-bar i:after{content:"";position:absolute;left:.44rem;right:.44rem;top:.22rem;height:.17rem;border-radius:2px;background:var(--gloss)}.vprog-bar.accent i{background:var(--accent-fill)}@media (prefers-reduced-motion:reduce){.vprog-bar i{transition:none}}.top-ico{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1.5px solid var(--border-light);border-radius:14px;background:var(--card);color:var(--ink-soft);cursor:pointer}.top-ico:hover{border-color:var(--ink);color:var(--ink)}.fbar{display:block;height:4px;max-width:180px;margin-top:.45rem;background:var(--border-light);border-radius:99px;overflow:hidden}.fbar span{display:block;height:100%;background:var(--gold);border-radius:99px;transition:width .4s ease}.fbar{height:.33rem;background:var(--sunken)}.fbar.accent span{background:var(--accent-fill)}.focus-hint{font-size:13px;color:var(--ink-soft);margin:0 0 .55rem;padding:0 1rem}.chips.wrap{flex-wrap:wrap}.group-list{background:var(--card);border:1.5px solid var(--border-light);border-radius:16px;overflow:hidden}.group-list .nav-row{border:0;border-radius:0;border-top:1px solid var(--divider)}.group-list .nav-row:first-child{border-top:0}.group-list .nav-row:hover{background:var(--tint)}.dock-timer{min-width:64px;padding:0 .7rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:.98rem;color:#f0eee9;text-align:center;letter-spacing:.02em}.dock-timer.over{color:#9fd9b8}.ce-body{position:relative}.ce-blank-cta{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:5;width:min(420px,calc(100% - 32px));background:#fff;color:#1f1f1f;border-radius:16px;padding:1.3rem 1.2rem;text-align:center;box-shadow:0 18px 48px -20px #0000008c}.ce-blank-title{margin:0 0 .9rem;font-size:1.15rem;font-weight:800}.ce-blank-btns{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.ce-blank-btns .btn{width:auto;padding:.7rem 1.1rem}.ce-blank-sub{margin:.8rem 0 0;font-size:.85rem;color:#6b6860}.lfree{margin:0 0 1.8rem;border:1.5px dashed var(--lesson-pink);background:color-mix(in srgb,var(--lesson-pink) 6%,var(--card));border-radius:16px;padding:1rem 1.2rem}.lfree-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.lfree-title{margin:0;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:800;color:var(--ink)}.lfree-sub{margin:.15rem 0 0;font-size:.9rem;color:var(--ink-soft)}.lfree-err{margin:.6rem 0 0;color:var(--danger);font-size:.9rem}.lfree-empty{margin:.8rem 0 0;color:var(--ink-soft);font-size:.9rem}.lfree-list{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lfree-item{display:flex;align-items:center;gap:.4rem}.lfree-open{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--card);border:1px solid var(--border-light);border-radius:10px;padding:.6rem .9rem;color:var(--ink);font:inherit;text-align:left}.lfree-open:hover{border-color:var(--border)}.lfree-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lfree-date{flex:none;font-size:.85rem;color:var(--ink-soft)}.lfree-del{flex:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-light);background:transparent;color:var(--ink-soft);font-size:1.2rem;cursor:pointer}.lfree-del:hover{color:var(--danger);border-color:var(--danger)}.lrow-edited{color:var(--lesson-pink)}.class-main .ce-scroll{padding-bottom:260px}@media (min-width:900px){.class-main .ce-scroll{padding-bottom:280px}}.dock-btn.on{background:#f0eee9;color:#232227}.dock-btn.on:hover{background:#fff}.notes-panel{position:absolute;top:0;right:0;bottom:0;z-index:60;width:min(360px,100%);display:flex;flex-direction:column;background:#fff;color:#1f1f1f;box-shadow:-12px 0 40px -18px #0009}.notes-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid #e6e3dd}.notes-head h2{margin:0;font-size:1.2rem;font-weight:800}.notes-x{width:36px;height:36px;border:none;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:#1f1f1f}.notes-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.1rem 7rem}.notes-label{display:block;margin:0 0 .35rem;font-size:.9rem;color:#3a3833}.notes-date{width:100%;padding:.7rem .8rem;border:1.5px solid #cfccc5;border-radius:10px;font:inherit;background:#fff;color:#1f1f1f;margin-bottom:1rem}.notes-field{margin-bottom:1rem}.notes-box{white-space:pre-wrap;min-height:84px;padding:.7rem .8rem;border-radius:10px;background:#f2f0ea;font-size:.92rem;line-height:1.45;color:#1f1f1f}.notes-box.empty{background:#e2e1e8;color:#77757f}.notes-strength{margin:0 0 1rem;padding:.6rem .8rem;border-radius:10px;background:var(--page-accent-bg);color:var(--page-accent-deep);font-size:.9rem}.notes-empty{margin:.2rem 0 1rem;color:#5b5953;font-size:.92rem;line-height:1.45}.notes-foot{margin:1rem 0 0;font-size:.8rem;color:#8a877f}.notes-wait{padding:1rem 0}.tsp{--tsp-ink:var(--ink);--tsp-line:var(--border-light);--tsp-raised:var(--card);--tsp-sunk:var(--hover);position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:var(--paper);color:var(--tsp-ink);font-family:var(--font-sans)}.tsp button{font:inherit;color:inherit}.tsp-head{flex:none;height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--tsp-line)}.tsp-hbtn{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;border:1px solid var(--tsp-line);background:transparent;cursor:pointer;font-size:14px!important;font-weight:600!important;white-space:nowrap}.tsp-hbtn.quiet{border-color:transparent}.tsp-hbtn:hover{background:var(--tsp-sunk)}.tsp-titles{display:flex;flex-direction:column;line-height:1.2;min-width:0}.tsp-kicker{font-size:12px;opacity:.7}.tsp-title{font-family:var(--font-sans);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsp-np{display:flex;align-items:center;gap:10px;margin-left:8px;height:40px;padding:0 6px 0 12px;border-radius:999px;background:color-mix(in srgb,var(--tsp-pink) 22%,var(--paper))}.tsp-np-pp{width:32px;height:32px;flex:none;border:0;border-radius:50%;background:var(--tsp-ink);color:var(--paper)!important;display:flex;align-items:center;justify-content:center;cursor:pointer}.tsp-np{padding-left:4px!important}.tsp-np-t{font-size:14px;font-weight:600;white-space:nowrap}.tsp-np-bar{position:relative;width:180px;height:24px;display:flex;align-items:center;cursor:pointer;touch-action:none}.tsp-np-bar:focus-visible{outline:2px solid var(--tsp-ink);outline-offset:2px;border-radius:4px}.tsp-np-track{position:relative;width:100%;height:4px;border-radius:2px;background:var(--tsp-line)}.tsp-np-track span{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--tsp-ink)}.tsp-np-bar:hover .tsp-np-track{height:6px}.tsp-np-knob{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--tsp-ink);pointer-events:none}.tsp-np-time{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;opacity:.8}.tsp-np-speed{display:flex;padding:2px;border-radius:999px;background:var(--paper)}.tsp-np-speed button{height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;font-size:12px!important;font-weight:600!important;cursor:pointer}.tsp-np-speed button.on{background:var(--tsp-ink);color:var(--paper)!important}.tsp-np-stop{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:inherit!important;display:flex;align-items:center;justify-content:center;cursor:pointer}.tsp-switch{width:28px;height:16px;border-radius:999px;background:var(--tsp-line);position:relative}.tsp-switch span{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--paper);transition:left .15s}.tsp-switch.on{background:var(--tsp-ink)}.tsp-switch.on span{left:14px}.tsp-timer{height:40px;display:flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--tsp-line);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.tsp-body{flex:1;min-height:0;display:flex;position:relative}.tsp-fit{overflow:hidden}.tsp-viewbar{position:absolute;left:calc((100% - var(--side-w,340px)) / 2);bottom:16px;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:var(--tsp-raised);border:1px solid var(--tsp-line);box-shadow:0 12px 32px -16px #12111773}.tsp-viewbar button{height:34px;border:0;background:transparent;border-radius:999px;cursor:pointer;font-size:13px!important;font-weight:600!important;display:inline-flex;align-items:center;gap:6px;padding:0 10px}.tsp-viewbar button:hover:not(:disabled){background:var(--tsp-sunk)}.tsp-viewbar button:disabled{opacity:.35;cursor:default}.tsp-seg,.tsp-zoom,.tsp-pager{display:flex;align-items:center;gap:2px}.tsp-seg button.on{background:var(--tsp-ink)!important;color:var(--paper)!important}.tsp-pager,.tsp-zoom{padding-left:6px;border-left:1px solid var(--tsp-line)}.tsp-pager span{min-width:44px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.tsp-pager button,.tsp-zoom button{width:34px;padding:0;justify-content:center;font-size:18px!important}.tsp-zoom .pct{min-width:48px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.tsp-fitbtns{padding-left:6px;border-left:1px solid var(--tsp-line)}.tsp-desk{padding-bottom:80px!important}.tsp-desk{flex:1;min-width:0;overflow:auto;display:flex;background:color-mix(in srgb,var(--ink) 7%,var(--paper));padding:12px 16px}.tsp-fit{position:relative;flex:none;margin:auto}.tsp-spread{position:absolute;left:0;top:0;width:1620px;height:1100px;transform-origin:0 0;box-shadow:0 18px 40px -24px #1211178c;color:#1d1c1f}.tsp-page{position:absolute;top:0;width:810px;height:1100px;background:#fff 0 0/810px 1100px no-repeat}.tsp-white,.tsp-titlebg{position:absolute}.tsp-titlebg{background:#f7f9e1;clip-path:polygon(0 0,calc(100% - 16px) 0,calc(100% - 3px) 100%,0 100%)}.tsp-num{position:absolute;width:18px;text-align:right;font:600 10px var(--font-sans);color:#8e8da0}.tsp-num.strong{color:#121117}.tsp-row{position:absolute;display:flex;align-items:center;white-space:nowrap;font-family:Fira Sans Condensed,sans-serif;font-size:14.5px;color:#1d1c1f;box-sizing:border-box}.tsp-row.block{display:block;white-space:normal}.tsp-row.block .tsp-t{white-space:pre-wrap}.tsp-t{white-space:pre}.tsp-tag{font:700 13px/1.2 var(--font-sans);letter-spacing:.08em;background:#ffe5ef;border:2px solid #121117;padding:3px 12px;border-radius:999px;color:#121117}.tsp-tag.abs{position:absolute;z-index:1;padding:2px 14px}.tsp-btn{flex:none;height:22px;padding:0 9px;border-radius:999px;border:0;background:#121117;color:#fff!important;font:600 12px var(--font-sans)!important;cursor:pointer}.tsp-btn.light{height:18px;font-size:11px!important;padding:0 7px;background:#fff;color:#121117!important;border:1px solid #121117}.tsp-play{flex:none;width:22px;height:22px;border-radius:999px;border:0;background:#121117;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tsp-play.on{background:var(--tsp-pink);color:#121117!important}.tsp-line{all:unset;cursor:pointer;height:20px;padding:0 4px;border-radius:4px;font:300 13.8px Roboto Slab,serif;color:#1d1c1f;white-space:pre;overflow:hidden;text-overflow:ellipsis}.tsp-line:hover{background:color-mix(in srgb,var(--tsp-pink) 18%,transparent)}.tsp-line.on{background:color-mix(in srgb,var(--tsp-pink) 32%,transparent)}.tsp-line:focus-visible,.tsp-say:focus-visible{outline:2px solid #121117;outline-offset:1px}.tsp-opts{display:inline-flex;gap:2px;flex:none}.tsp-opts button{min-width:24px;height:22px;padding:0 4px;box-sizing:border-box;border-radius:6px;border:1px solid #b9b8c6;background:#fff;color:#121117!important;font:700 12px var(--font-sans)!important;cursor:pointer}.tsp-opts button.on{background:#121117;color:#fff!important;border:2px solid #121117}.tsp-opts.sm button{min-width:17px;height:16px;padding:0 2px;border-radius:4px;font-size:10px!important}.tsp-cycle{min-width:22px;height:20px;padding:0 4px;box-sizing:border-box;border-radius:5px;border:1px dashed #8a8999;background:#fff;color:#121117!important;font:700 12px var(--font-sans)!important;cursor:pointer;vertical-align:middle}.tsp-cycle.on{border:1.5px solid #121117}.tsp-cycle.spot{background:color-mix(in srgb,var(--tsp-pink) 14%,transparent)}.tsp-cycle.wrong{border-color:#d4183d;color:#d4183d!important}.tsp-cycle.right{background:#e8f5ec}.tsp-gapwrap{display:inline-flex;align-items:center;flex:none}.tsp-gap{box-sizing:border-box;margin:0 1px;padding:0 2px;border:0;border-bottom:2px dotted rgba(18,17,23,.55);border-radius:3px;background:transparent;color:#121117;font-family:Andika,system-ui,sans-serif;font-weight:400;line-height:1;text-align:center;vertical-align:middle}.tsp-gap.spot{background:color-mix(in srgb,var(--tsp-pink) 16%,transparent)}.tsp-gap.filled{border-bottom-color:transparent;background:transparent}.tsp-gap.wrong{outline:1.5px dashed #121117;outline-offset:-1px}.tsp-gap:focus{background:#fff;box-shadow:0 0 0 2px #121117;outline:none}.tsp-mark{font:700 11px var(--font-sans);margin:0 2px}.tsp-hint{flex:none;width:18px;height:18px;margin-right:2px;padding:0;border-radius:50%;border:0;background:#121117;color:#fff!important;font:700 11px var(--font-sans)!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tsp-chip{flex:1 1 auto;min-width:22px;max-width:100%;overflow:hidden;display:inline-flex;align-items:center;gap:4px;height:21px;padding:0 4px;border-radius:4px;border:1px dotted #64637a;background:#fff;color:#4d4c5c!important;font:600 11px var(--font-sans)!important;cursor:pointer;justify-content:flex-start}.tsp-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tsp-chip.spot{background:color-mix(in srgb,var(--tsp-pink) 16%,transparent)}.tsp-chip.filled{border-color:transparent;color:#121117!important;font:400 16px Andika,system-ui,sans-serif!important}.tsp-chip.wrong{border:1.5px dashed #121117}.tsp .tsp-e{all:unset;cursor:pointer;display:inline-flex;align-items:center;padding:0 1px;border-radius:3px;text-decoration:underline dotted;font:400 14.5px/normal Fira Sans Condensed,sans-serif;color:#1d1c1f}.tsp .tsp-e.on{background:#ffe5ef;text-decoration:line-through;box-shadow:inset 0 0 0 1.5px #121117}.tsp-ed{position:absolute;z-index:4;width:350px;box-sizing:border-box;padding:10px 12px;background:#fff;color:#121117;border:1.5px solid #121117;border-radius:8px;box-shadow:0 14px 30px -16px #12111799;display:flex;flex-direction:column;gap:6px}.tsp-ed-top{display:flex;justify-content:space-between;gap:8px}.tsp-ed-stem{font:600 14px Fira Sans Condensed,sans-serif}.tsp-ed-v{flex:none;font:700 12px var(--font-sans)}.tsp-ed-row{display:flex;gap:8px;align-items:center}.tsp-ed-row input{flex:1;min-width:0;height:36px;box-sizing:border-box;padding:0 6px;border:0;border-bottom:2px solid #121117;background:#f7f7fa;color:#121117;font:400 19px Andika,system-ui,sans-serif}.tsp-ed-row input:focus{outline:none;background:#fff}.tsp-ed.multi{width:460px}.tsp-ed.multi .tsp-ed-row{flex-wrap:wrap;justify-content:flex-end}.tsp-ed-row textarea{flex:1 1 100%;box-sizing:border-box;padding:6px 8px;border:1px solid #b9b8c6;border-radius:6px;background:#f7f7fa;color:#121117;font:400 18px/1.4 Andika,system-ui,sans-serif;resize:vertical}.tsp-ed-row textarea:focus{outline:none;background:#fff;border-color:#121117}.tsp-ed-hint,.tsp-ed-done{height:36px;padding:0 12px;border-radius:999px;font:600 13px var(--font-sans)!important;cursor:pointer}.tsp-ed-hint{border:1px solid #121117;background:#fff;color:#121117!important}.tsp-ed-done{border:0;background:#121117;color:#fff!important}.tsp-pin{position:absolute;width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:#121117;color:#fff!important;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #12111759;cursor:pointer}.tsp-pin.on{background:var(--tsp-pink);color:#121117!important}.tsp-m{position:absolute;width:32px;height:32px;border-radius:50%;border:0;background:#121117;color:#fff!important;display:flex;align-items:center;justify-content:center;font:700 13px var(--font-sans)!important;box-shadow:0 0 0 3px var(--tsp-pink);cursor:pointer}.tsp-mpill{position:absolute;height:30px;display:flex;align-items:center;gap:6px;padding:0 12px 0 3px;border:0;border-radius:999px;background:#121117;color:#fff!important;font:600 13px var(--font-sans)!important;white-space:nowrap;cursor:pointer}.tsp-mpill span{width:24px;height:24px;border-radius:50%;background:var(--tsp-pink);color:#121117;display:flex;align-items:center;justify-content:center;font:700 12px var(--font-sans)}.tsp-m:disabled,.tsp-mpill:disabled{opacity:.7;cursor:wait}.tsp-h1{position:absolute;margin:0;font:800 42px/1.04 Roboto Slab,serif;letter-spacing:-.01em;color:#121117}.tsp-say{all:unset;cursor:pointer;border-radius:3px}.tsp-say:hover{background:color-mix(in srgb,var(--tsp-pink) 30%,transparent)}.tsp-folio{position:absolute;display:flex;align-items:center;gap:8px;font:700 15px var(--font-sans);color:#121117}.tsp-folio i{width:2px;height:22px;background:#121117}.tsp-folio em{font:italic 400 11px Roboto Slab,serif;color:#4d4c5c}.tsp-ex6{position:absolute;width:357px;height:150px;box-sizing:border-box;padding:16px 14px 8px 18px;border-radius:18px;border:2px solid #121117;background:#fff;color:#1d1c1f!important;text-align:left;font-family:Fira Sans Condensed,sans-serif!important;cursor:pointer;display:flex;flex-direction:column;gap:4px}.tsp-ex6:hover{background:#fff7fa}.tsp-ex6-h{display:flex;align-items:baseline;gap:8px;font-size:19px;font-weight:700}.tsp-ex6-h b{font:700 26px/1 var(--font-sans)}.tsp-ex6-p{font-size:14px;font-weight:600;line-height:1.25;white-space:pre-line}.tsp-pop{position:absolute;width:370px;display:flex;flex-direction:column;gap:10px;padding:16px;box-sizing:border-box;border-radius:12px;background:#fff;color:#121117;border:1px solid #dcdce5;box-shadow:0 18px 40px -16px #12111780;font-size:14px;line-height:1.5;z-index:5}.tsp-pop-h{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-sans);font-size:16px}.tsp-pop-h button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;font-size:18px!important;cursor:pointer}.tsp-pop-go{height:44px;border:0;border-radius:8px;background:#121117;color:#fff!important;font-weight:600!important;cursor:pointer}.tsp-side{flex:none;width:var(--side-w,340px);position:relative;display:flex;flex-direction:column;border-left:1px solid var(--tsp-line);background:var(--tsp-raised)}.tsp-call{flex:none;padding:16px;border-bottom:1px solid var(--tsp-line);display:flex;flex-direction:column;gap:12px}.tsp-call-top{display:flex;align-items:center;gap:12px}.tsp-avatar{position:relative;width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:inset 0 0 0 2px var(--tsp-line)}.tsp-avatar.live{box-shadow:inset 0 0 0 2px var(--tsp-pink)}.tsp-avatar span{width:40px;height:40px;border-radius:50%;background:var(--tsp-pink);color:#121117;display:flex;align-items:center;justify-content:center;font:700 16px var(--font-sans)}.tsp-call-who{flex:1;display:flex;flex-direction:column;min-width:0}.tsp-call-who b{font:700 16px var(--font-sans)}.tsp-call-who span{font-size:13px;opacity:.75}.tsp-call-time{font-size:13px;opacity:.7;font-variant-numeric:tabular-nums}.tsp-call.folded{padding:10px 16px}.tsp-fold,.tsp-fold-call{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--tsp-line);background:transparent;color:inherit;cursor:pointer}.tsp-side .tsp-fold-call{background:var(--tsp-ink);color:var(--tsp-raised)!important;border-color:transparent}.tsp-fold-call svg{width:16px;height:16px}.tsp-side .tsp-fold-call.on{background:var(--bad);color:#fff!important}.tsp-sees{align-self:flex-start;display:flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;box-sizing:border-box;border-radius:999px;background:var(--tsp-sunk);font-size:12px;font-weight:600}.tsp-caps{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;background:var(--tsp-sunk);font-size:14px;line-height:1.45}.tsp-caps b{font-size:12px;opacity:.7}.tsp-call-btns{display:flex;gap:8px}.tsp-cbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:8px;border:1px solid var(--tsp-ink);background:transparent;font-size:14px!important;font-weight:600!important;cursor:pointer}.tsp-cbtn.on,.tsp-cbtn.primary{background:var(--tsp-ink);color:var(--paper)!important;border-color:var(--tsp-ink)}.tsp-chat{flex:1;min-height:0;display:flex;flex-direction:column}.tsp-chat-h{flex:none;padding:12px 16px 0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.tsp-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 16px;display:flex;flex-direction:column-reverse}.tsp-log>div{display:flex;flex-direction:column;gap:10px}.tsp-msg{align-self:flex-start;max-width:270px;padding:10px 12px;border-radius:12px;background:var(--tsp-sunk);font-size:14px;line-height:1.5}.tsp-msg p{margin:0}.tsp-msg p+p,.tsp-msg p+ul,.tsp-msg ul+p{margin-top:8px}.tsp-msg ul{margin:0;padding-left:18px}.tsp-msg li+li{margin-top:3px}.tsp-msg li.sub{margin-left:14px;list-style:circle}.tsp-msg strong{font-weight:700}.tsp-msg.me{align-self:flex-end;background:var(--tsp-ink);color:var(--paper)}.tsp-chips{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.tsp-chips button{height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--tsp-line);background:transparent;font-size:13px!important;cursor:pointer}.tsp-send{flex:none;display:flex;gap:8px;padding:0 16px 16px}.tsp-send{align-items:flex-end}.tsp-send textarea{flex:1;min-width:0;height:44px;min-height:44px;max-height:150px;box-sizing:border-box;padding:11px 12px;line-height:20px;resize:none;overflow-y:auto;border-radius:8px;border:1px solid var(--tsp-line);background:var(--paper);color:var(--tsp-ink);font:inherit;font-size:14px}.tsp-send button{width:44px;height:44px;border:0;border-radius:8px;background:var(--tsp-ink);color:var(--paper)!important;display:flex;align-items:center;justify-content:center;cursor:pointer}@media (max-width:1180px){.tsp-side{width:300px}.tsp-timer{display:none}.tsp-viewbar{left:calc((100% - 300px)/2)}}.tlib{container-type:inline-size;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;padding-bottom:2rem}.tlib-k{font-size:.85rem;color:var(--ink-soft)}.tlib-h{margin:0;font-size:1.25rem;font-weight:800;color:var(--ink)}.tlib-sec{display:flex;flex-direction:column;gap:1rem}.tlib-continue{display:flex;align-items:center;gap:1.1rem;padding:1rem 1.2rem 1rem 1rem;border-radius:16px;background:color-mix(in srgb,var(--tsp-pink) 16%,var(--card))}.tlib-continue-cover{flex:none;width:56px;height:78px;object-fit:cover;border-radius:4px;box-shadow:0 6px 14px -8px #12111799}.tlib-continue-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.tlib-continue-title{font-size:1.3rem;font-weight:800;color:var(--ink);line-height:1.2}.tlib-btn{flex:none;height:48px;padding:0 1.5rem;border-radius:8px;border:0;background:var(--ink);color:var(--paper);font-weight:700;font-size:.95rem;cursor:pointer}.tlib-books{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.tlib-book{display:flex;gap:1.1rem;padding:1rem;border-radius:16px;background:var(--card);color:var(--ink);text-align:left;font:inherit;min-width:0;border-color:#000}.tlib-book.on{border:2px solid var(--ink);cursor:pointer;transition:transform .15s}.tlib-book.on:hover{transform:translateY(-2px)}.tlib-book.off{border:1px dashed var(--border-light)}.tlib-cover{flex:none;width:120px;height:166px;border-radius:6px;object-fit:cover;box-shadow:0 10px 22px -12px #12111799}.tlib-book-txt{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding-top:.25rem}.tlib-book-title{font-size:1.15rem;font-weight:800}.tlib-bar{display:block;width:180px;max-width:100%;height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 12%,transparent)}.tlib-bar i{display:block;height:6px;border-radius:3px;background:var(--ink)}.tlib-tochead{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.tlib-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.tlib-tab{height:38px;padding:0 .9rem;border-radius:999px;border:1px solid var(--border-light);background:transparent;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.tlib-tab.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tlib-panel{border:1px solid var(--border-light);border-radius:16px;overflow:hidden;background:var(--card)}.tlib-panel-head{padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);font-size:1.1rem;font-weight:800;color:var(--ink)}.tlib-row{display:flex;align-items:center;gap:1rem;width:100%;min-height:56px;padding:.6rem 1.25rem;border:0;border-top:1px solid var(--border-light);background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background-color .12s}.tlib-panel-head+.tlib-row{border-top:0}.tlib-row:hover{background:color-mix(in srgb,var(--tsp-pink) 10%,transparent)}.tlib-kind{flex:none;width:108px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.tlib-row-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.tlib-row-title{font-size:1rem;font-weight:550}.tlib-here{flex:none;display:inline-flex;align-items:center;height:26px;padding:0 .65rem;border-radius:999px;background:color-mix(in srgb,var(--tsp-pink) 22%,var(--card));font-size:.75rem;font-weight:700;color:var(--ink)}.tlib-done{flex:none;color:#2e9e6b;font-weight:800}.tlib-chev{flex:none;color:var(--ink-soft)}@container (max-width:900px){.tlib-books{grid-template-columns:1fr}.tlib-book.off .tlib-cover{width:70px;height:96px}}@container (max-width:560px){.tlib-continue{flex-wrap:wrap}.tlib-continue-title{font-size:1.1rem}.tlib-btn{width:100%}.tlib-cover{width:90px;height:125px}.tlib-row{display:grid;grid-template-columns:1fr auto auto;column-gap:.6rem;row-gap:.1rem;padding:.7rem .9rem}.tlib-kind{width:auto;grid-column:1;grid-row:1;font-size:.68rem}.tlib-row-txt{grid-column:1;grid-row:2}.tlib-here,.tlib-done{grid-column:2;grid-row:1/3}.tlib-chev{grid-column:3;grid-row:1/3}.tlib-tabs{position:relative;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.tlib-tab{flex:none}}.tsp-typing{display:inline-flex;align-items:center;gap:4px;padding:13px 14px}.tsp-typing i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:tspDot 1.1s ease-in-out infinite}.tsp-typing i:nth-child(2){animation-delay:.15s}.tsp-typing i:nth-child(3){animation-delay:.3s}@keyframes tspDot{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:.9}}@media (prefers-reduced-motion:reduce){.tsp-typing i{animation:none;opacity:.6}}.tsp-msg.tsp-wait{font-style:italic;opacity:.75}.tlib-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;--ink-soft:var(--ink-muted);--tl-i3:var(--ink-subtle);--tl-band:var(--band);--tl-sunk:var(--sunken);background:var(--paper);color:var(--ink);font-family:var(--font-sans)}.tlib-top{flex:none;height:64px;display:flex;align-items:center;gap:12px;padding:env(safe-area-inset-top) 32px 0;border-bottom:1px solid var(--border-light)}.tlib-logo{width:34px;height:34px;border-radius:50%;background:var(--tsp-pink);color:#121117;display:flex;align-items:center;justify-content:center;font:700 15px var(--font-sans)}.tlib-top-title{font:700 19px var(--font-sans)}.tlib-top-btn{height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:8px;border:1px solid var(--border-light);background:transparent;color:var(--ink);font:600 14px var(--font-sans);cursor:pointer}.tlib-top-btn:hover{background:color-mix(in srgb,var(--tsp-pink) 10%,transparent)}.tlib-main{flex:1;min-height:0;overflow-y:auto;padding:36px 32px 48px}.tlib-page .tlib{gap:32px;font-family:var(--font-sans)}.tlib-page .tlib-h,.tlib-page .tlib-continue-title,.tlib-page .tlib-book-title,.tlib-page .tlib-panel-head{font-family:var(--font-sans);font-weight:700}.tlib-page .tlib-h{font-size:20px}.tlib-page .tlib-k{font-size:14px;color:var(--ink-soft)}.tlib-page .tlib-continue{background:var(--tl-band);padding:16px 20px 16px 16px}.tlib-page .tlib-continue-title{font-size:22px}.tlib-page .tlib-continue-txt .tlib-k:first-child{font-size:13px;font-weight:600}.tlib-page .tlib-book{padding:16px;gap:18px}.tlib-page .tlib-book-title{font-size:19px}.tlib-page .tlib-bar{background:var(--tl-sunk)}.tlib-page .tlib-tochead .tlib-k{color:var(--tl-i3)}.tlib-page .tlib-panel-head{padding:16px 20px;font-size:18px}.tlib-page .tlib-panel-head .tlib-k{font-family:var(--font-sans);font-weight:500}.tlib-page .tlib-row{height:56px;min-height:56px;padding:0 20px}.tlib-page .tlib-kind{color:var(--tl-i3);font-size:12px;font-weight:600}.tlib-page .tlib-row-txt{flex-direction:row;align-items:baseline;gap:16px}.tlib-page .tlib-row-title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlib-page .tlib-row-txt .tlib-k{margin-left:auto;flex:none;font-size:13px;color:var(--tl-i3)}.tlib-page .tlib-here{background:var(--tl-band)}.tlib-page .tlib-tab{height:38px;padding:0 14px;font-size:14px}@media (max-width:700px){.tlib-top{padding-left:16px;padding-right:16px}.tlib-main{padding:20px 16px 32px}}@container (max-width:560px){.tlib-page .tlib-row{height:auto;padding:.7rem .9rem}.tlib-page .tlib-row-txt{flex-direction:column;align-items:flex-start;gap:.1rem}.tlib-page .tlib-row-txt .tlib-k{margin-left:0}.tlib-page .tlib-row-title{white-space:normal}}.tlib-page .paper-card{border:1px solid var(--border-light);border-radius:16px;background:var(--card);box-shadow:none;padding:16px 20px}.tlib-page .paper-card b{font-family:var(--font-sans);font-size:18px}.tlib-page .paper-card .btn{height:40px;padding:0 16px;border-radius:8px;border:1px solid var(--border-light);background:transparent;color:var(--ink);font:600 14px var(--font-sans);text-decoration:none;box-shadow:none;display:inline-flex;align-items:center}.tlib-page .paper-card .btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tsp-pnav{display:flex;align-items:center;gap:2px;margin-left:8px;flex:none}.tsp-pnav button{height:40px;min-width:40px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;gap:4px;font:600 13px var(--font-sans);cursor:pointer}.tsp-pnav button:hover:not(:disabled){background:color-mix(in srgb,var(--tsp-pink) 14%,transparent)}.tsp-pnav button:disabled{opacity:.3;cursor:default}.tsp-pnav-p{font:600 14px var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap}.tsp-pnav-l{opacity:.75}@media (max-width:1100px){.tsp-pnav-l{display:none}}.tsp-resize{position:absolute;left:-5px;top:0;bottom:0;width:10px;cursor:col-resize;z-index:5;touch-action:none}.tsp-resize:after{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}.tsp-resize:hover:after,.tsp-resize:focus-visible:after,.tsp-resize:active:after{background:var(--tsp-pink)}.tsp-send .tsp-mic{background:transparent;border:1px solid var(--tsp-line);color:var(--tsp-ink)!important}.tsp-send .tsp-mic.on{background:var(--tsp-pink);border-color:var(--tsp-pink);color:#121117!important;animation:tspMic 1.2s ease-in-out infinite}.tsp-send .tsp-mic:disabled{opacity:.4;cursor:default}@keyframes tspMic{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--tsp-pink) 25%,transparent)}}.tsp-cap b{display:block;font-size:12px;opacity:.7;margin-bottom:2px}.tsp-cap p{margin:0 0 6px}.tsp-cap p:last-child{margin-bottom:0}.tsp-cap strong{font-weight:700}.cz-page{color-scheme:light;position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:flex;flex-direction:column;--bg:#ffffff;--raised:#ffffff;--sunk:#f0f0f4;--band:#ffe5ef;--ink:#121117;--i2:#4d4c5c;--i3:#64637a;--ln:#dcdce5;--act:#121117;--onact:#ffffff;background:var(--bg);color:var(--ink);font-family:var(--font-sans)}.cz-page.dark{color-scheme:dark;--bg:#121117;--raised:#1c1b23;--sunk:#272630;--band:#3b2130;--ink:#f3f2f7;--i2:#c6c5d2;--i3:#9d9caf;--ln:#3b3a48;--act:#f3f2f7;--onact:#121117}.cz-page.dark img{filter:brightness(.92)}.cz-page .grow{flex:1 1 auto}.cz-page button{font:inherit;color:inherit}.cz-page button:focus-visible,.cz-page a:focus-visible{outline:2px solid var(--tsp-pink);outline-offset:2px}.cz-top{flex:none;min-height:64px;display:flex;align-items:center;gap:14px;padding:env(safe-area-inset-top) 24px 0;border-bottom:1px solid var(--ln)}.cz-top-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}.cz-k{font-size:12px;color:var(--i3)}.cz-title{font:700 18px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cz-prog{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;white-space:nowrap}.cz-time{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.cz-time.idle{color:var(--i2)}.cz-time.fin{color:var(--good)}.cz-done{display:flex;flex-direction:column;gap:12px}.cz-stats{display:flex;flex-wrap:wrap;gap:12px}.cz-stats>span{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:12px 16px;border:1px solid var(--ln);border-radius:12px;font-size:13px;color:var(--i2)}.cz-stats b{font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}.cz-bar{display:block;width:220px;height:8px;border-radius:4px;background:var(--sunk);overflow:hidden}.cz-bar>span{display:block;height:100%;border-radius:4px;background:var(--act)}.cz-bar.sm{width:160px;height:6px}.cz-ghost{height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:8px;border:1px solid var(--ln);background:transparent;font-size:14px!important;font-weight:600!important;cursor:pointer;flex:none}.cz-ghost.sm{height:30px;border-radius:999px;font-size:13px!important}.cz-ghost:disabled{opacity:.55;cursor:default}.cz-link{height:40px;display:inline-flex;align-items:center;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--i2)!important;font-size:14px!important;font-weight:600!important;text-decoration:none;cursor:pointer}.cz-primary{height:46px;padding:0 26px;border:0;border-radius:8px;background:var(--act);color:var(--onact)!important;font-size:15px!important;font-weight:600!important;cursor:pointer}.cz-outline{height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:8px;border:1px solid var(--ink);background:transparent;font-size:15px!important;font-weight:600!important;cursor:pointer}.cz-outline.soft{border-color:var(--ln)}.cz-m{flex:none;width:24px;height:24px;border-radius:50%;background:var(--tsp-pink);color:#121117;display:inline-flex;align-items:center;justify-content:center;font:700 12px var(--font-sans)}.cz-body{flex:1;min-height:0;display:flex}.cz-nav{flex:none;width:280px;box-sizing:border-box;padding:16px 12px;border-right:1px solid var(--ln);display:flex;flex-direction:column;gap:4px;overflow-y:auto}.cz-navb{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.cz-navb:hover{background:color-mix(in srgb,var(--tsp-pink) 10%,transparent)}.cz-navb.cur{background:var(--sunk)}.cz-ring{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ln);display:flex;align-items:center;justify-content:center;font:700 13px var(--font-sans);box-sizing:border-box}.cz-ring.part{border:0;background:var(--band)}.cz-ring.full{border:0;background:var(--act);color:var(--onact)}.cz-navt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.cz-tag-s{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--i3)}.cz-navtitle{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cz-navsc{font-size:13px;font-weight:600;color:var(--i2);white-space:nowrap}.cz-nav .cz-outline{height:44px;margin-top:8px;font-size:14px!important;flex:none}.cz-main{flex:1;min-width:0;overflow-y:auto;background:var(--sunk)}.cz-card{max-width:860px;margin:28px auto 40px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px;padding:28px 32px;border-radius:16px;background:var(--raised)}.cz-head{display:flex;align-items:center;gap:12px}.cz-num{font:700 34px/1 var(--font-sans)}.cz-tag{height:26px;display:flex;align-items:center;padding:0 10px;border-radius:999px;background:var(--band);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cz-q{display:flex;flex-direction:column;gap:6px}.cz-q h1{margin:0;font:700 22px/1.3 var(--font-sans)}.cz-ex{font-size:15px;color:var(--i2)}.cz-ex b{color:var(--ink)}.cz-bank{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 14px;border-radius:10px;background:var(--sunk);font-size:15px}.cz-doc{white-space:pre-wrap;padding:14px 16px;border-radius:10px;background:var(--sunk);font-size:15px;line-height:1.55}.cz-fig{position:relative;max-width:100%;margin:0;align-self:flex-start}.cz-fig img{display:block;border-radius:8px;border:1px solid var(--ln);background:#fff}.cz-pin{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--tsp-pink);color:#121117;display:flex;align-items:center;justify-content:center;font:700 13px var(--font-sans);box-shadow:0 0 0 2px #fff}.cz-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.cz-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px}.cz-item.wrong{background:var(--band)}.cz-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 4px;font-size:18px;line-height:1.5}.cz-n{flex:none;width:28px;font-weight:700;color:var(--i2)}.cz-t{white-space:pre-wrap}.cz-br{flex-basis:100%;height:0}.cz-br+*{margin-left:32px}.cz-gapw{position:relative;display:inline-flex;align-items:center;max-width:100%}.cz-in{height:38px;max-width:100%;box-sizing:border-box;padding:0 30px 0 10px;border:0;border-bottom:2px solid var(--ink);border-radius:6px 6px 0 0;background:var(--sunk);color:var(--ink);font:400 20px/1 Andika,system-ui,sans-serif}.cz-gapw.big{flex:1 1 100%;min-width:0}.cz-in.big{width:100%}.cz-in:focus{outline:none;box-shadow:0 0 0 2px var(--tsp-pink)}.cz-in.wrong{outline:2px dashed var(--ink)}.cz-mark{position:absolute;right:6px;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-sizing:border-box}.cz-mark.ok{background:var(--act);color:var(--onact)}.cz-mark.no{border:1.5px dashed var(--ink)}.cz-seq .cz-mark{position:static;margin-left:4px}.cz-opts{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.cz-opt{min-width:40px;height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--ln);background:transparent;font-size:16px!important;font-weight:600!important;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.cz-opt.on{border:2px solid var(--act);background:var(--act);color:var(--onact)!important}.cz-opt.bad{border:2px dashed var(--ink);background:transparent;color:var(--ink)!important}.cz-opt.rev{border:2px solid var(--act);background:var(--band)}.cz-opt.strike.on .cz-opt-t{text-decoration:line-through;text-decoration-thickness:2px}.cz-opt.strike.on{background:var(--band);color:var(--ink)!important;border-color:var(--ink)}.cz-opt-mk{font-size:13px}.cz-markline{display:inline-flex;flex-wrap:wrap;gap:2px 4px}.cz-word{border:0;background:transparent;padding:2px 5px;border-radius:999px;font-size:18px!important;cursor:pointer;line-height:1.4}.cz-word:hover{background:color-mix(in srgb,var(--tsp-pink) 12%,transparent)}.cz-word.m-u{text-decoration:underline;text-decoration-thickness:2.5px;text-underline-offset:4px}.cz-word.m-c{box-shadow:inset 0 0 0 2px var(--ink)}.cz-word.m-s{text-decoration:line-through;text-decoration-thickness:2px}.cz-word.wrong{outline:2px dashed var(--ink);outline-offset:1px}.cz-hint{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-left:32px;padding:10px 12px;border-radius:10px;background:var(--raised);border:1px solid var(--ln);font-size:14px;line-height:1.5}.cz-hint.open{margin-left:0}.cz-fb p{margin:0 0 6px}.cz-foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid var(--ln)}.cz-status{font-size:15px;font-weight:600}.cz-soft{color:var(--i2);font-size:14px}.cz-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cz-order{display:flex;flex-direction:column;gap:16px}.cz-order-g{display:flex;flex-direction:column;gap:8px}.cz-seq{min-height:52px;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;border:1.5px dashed var(--ln)}.cz-seq.words,.cz-pool.words{flex-direction:row;flex-wrap:wrap;align-items:center}.cz-seq.wrong{border-color:var(--ink)}.cz-pool{display:flex;flex-wrap:wrap;gap:8px}.cz-piece{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:6px 12px;border-radius:10px;border:1px solid var(--ln);background:var(--raised);font-size:16px!important;text-align:left;cursor:pointer}.cz-piece b{font-family:var(--font-sans);color:var(--i3)}.cz-piece.placed{background:var(--sunk)}.cz-piece.picked{border:2px solid var(--act);background:var(--band)}.cz-piece.wrong{outline:2px dashed var(--ink)}.cz-sort{display:flex;flex-direction:column;gap:14px}.cz-cols{display:grid;gap:10px}.cz-col{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:12px;overflow:hidden;min-height:150px}.cz-col-h{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border:0!important;background:var(--sunk);cursor:pointer;font-size:14px!important}.cz-col-h b{font-size:18px}.cz-col-h span{color:var(--i3);font-size:13px}.cz-col-h em{font-size:12px;color:var(--i2)}.cz-col-h:disabled{cursor:default}.cz-col-b{display:flex;flex-wrap:wrap;gap:6px;padding:10px}.cz-cross{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start}.cz-cross .cz-items{flex:1 1 380px}.cz-clue{font-size:16px}.cz-cross .cz-line{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:6px 10px;align-items:center}.cz-grid{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:10px;background:var(--sunk)}.cz-grid-row{display:flex;gap:2px}.cz-cell{width:28px;height:28px;box-sizing:border-box;border:1px solid var(--ln);background:var(--raised);display:flex;align-items:center;justify-content:center;font:700 15px var(--font-sans)}.cz-cell.hid{background:var(--band);border-color:var(--ink)}.cz-search{display:flex;flex-direction:column;gap:12px}.cz-wsgrid{display:grid;gap:3px;max-width:520px}.cz-wscell{aspect-ratio:1;border:1px solid var(--ln);border-radius:6px;background:var(--raised);font:700 17px var(--font-sans)!important;cursor:pointer;padding:0}.cz-wscell.lit{background:var(--band);border-color:var(--ink)}.cz-wscell.start{background:var(--act);color:var(--onact)!important}.cz-found{font-size:15px;color:var(--i2)}.cz-area{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ln);border-radius:10px;background:var(--sunk);color:var(--ink);font-size:17px;line-height:1.5;resize:vertical}.cz-area.hand{font:400 22px/1.5 Andika,system-ui,sans-serif}.cz-area:focus{outline:none;box-shadow:0 0 0 2px var(--tsp-pink)}.cz-diff{font-size:16px;line-height:1.7}.cz-diff .bad{text-decoration:underline wavy;text-underline-offset:4px}.cz-key{font-size:15px;color:var(--i2)}.cz-shown{margin-left:8px;font:400 18px/1.2 Andika,system-ui,sans-serif;color:var(--good)}.cz-task{margin:0;font-size:17px;line-height:1.45}.cz-big{margin:0;font:700 40px var(--font-sans)}.cz-sumtab{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:12px;overflow:hidden}.cz-sumrow{display:flex;align-items:center;gap:14px;min-height:50px;padding:0 16px;border:0;border-top:1px solid var(--ln);background:transparent;text-align:left;cursor:pointer;font-size:15px!important}.cz-sumrow:first-child{border-top:0}.cz-sumrow b{width:28px}.cz-sumsc{width:80px;text-align:right;font-size:14px;font-weight:600}.cz-res{display:none}@media (max-width:820px){.cz-top{padding:env(safe-area-inset-top) 12px 0;gap:4px 10px;flex-wrap:wrap;min-height:0}.cz-top .cz-ghost{width:40px;height:40px;padding:0;justify-content:center;flex:none;margin-top:8px}.cz-hide-phone,.cz-top .cz-link,.cz-top .grow{display:none}.cz-top-t{flex:1 1 calc(100% - 110px);margin-top:8px}.cz-k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cz-title{white-space:normal}.cz-title{font-size:17px}.cz-time{order:5;font-size:13px;padding:2px 0 10px}.cz-prog{flex:1 1 calc(100% - 180px);min-width:0;order:5;font-size:13px;gap:10px;padding:2px 0 10px}.cz-prog .cz-bar{flex:1;width:auto}.cz-res{display:inline-flex;order:6;align-items:center;height:32px;margin-bottom:8px;padding:0 12px;border-radius:999px;border:1px solid var(--ln);background:transparent;font:600 13px var(--font-sans);color:var(--ink);cursor:pointer}.cz-top .cz-theme{order:1}.cz-body{flex-direction:column}.cz-nav{width:auto;flex-direction:row;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-right:0;border-bottom:1px solid var(--ln);padding:8px 10px;scroll-padding:0 40px}.cz-nav::-webkit-scrollbar{display:none}.cz-navt,.cz-navsc,.cz-nav .grow,.cz-nav .cz-outline{display:none}.cz-navb{flex:none;min-height:44px;padding:2px;gap:0}.cz-card{margin:12px 8px 24px;padding:18px 16px}.cz-line{font-size:17px}.cz-hint{margin-left:0}.cz-bar.sm{width:60px}}.tsp-fab,.tsp-sheet-x{display:none}.tsp.phone .tsp-head{height:auto;min-height:52px;flex-wrap:wrap;gap:6px 8px;padding:6px 10px}.tsp.phone .tsp-hbtn{height:36px;padding:0 10px}.tsp.phone .tsp-hide-phone,.tsp.phone .tsp-timer,.tsp.phone .tsp-pnav-l,.tsp.phone .tsp-kicker{display:none}.tsp.phone .tsp-titles{flex:1 1 0;order:0}.tsp.phone .tsp-title{font-size:15px}.tsp.phone .tsp-pnav{margin-left:0}.tsp.phone .tsp-np{order:10;flex:1 1 100%;margin-left:0;gap:6px}.tsp.phone .tsp-np-bar{flex:1;width:auto}.tsp.phone .tsp-np-t{display:none}.tsp.phone .tsp-desk{padding:8px 8px 76px!important}.tsp.phone .tsp-viewbar{left:12px;transform:none;bottom:12px;padding:3px}.tsp.phone .tsp-fitbtns button{font-size:0!important;width:34px;justify-content:center;padding:0}.maxi-phone .tsp-resize,.maxi-phone .tsp-side{display:none}.maxi-phone .tsp-side.open{display:flex;position:fixed;left:0;right:0;bottom:0;top:auto;height:min(78vh,640px);width:auto;z-index:70;border-left:0;border-top:1px solid var(--tsp-line);border-radius:16px 16px 0 0;box-shadow:0 -18px 40px -20px #00000080;padding-top:14px}.maxi-phone .tsp-sheet-x{display:block;position:absolute;top:0;left:0;right:0;height:30px;border:0;background:transparent;cursor:grab;touch-action:none;z-index:2}.maxi-phone .tsp-call-top{touch-action:none}.maxi-phone .tsp-side.open{animation:tspSheetIn .22s ease-out}@keyframes tspSheetIn{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.maxi-phone .tsp-side.open{animation:none}}.maxi-phone .tsp-sheet-x span{display:block;width:40px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--tsp-line)}.maxi-phone .tsp-fab{display:inline-flex;position:absolute;right:12px;bottom:12px;z-index:4;align-items:center;gap:8px;height:44px;padding:0 14px 0 5px;border-radius:999px;border:1px solid var(--tsp-line);background:var(--tsp-raised);font-weight:700!important;font-size:14px!important;box-shadow:0 8px 20px -10px #00000080;cursor:pointer}.maxi-phone .tsp-fab .tsp-avatar{width:34px;height:34px;font-size:15px}.maxi-phone .tsp-fab.live{background:color-mix(in srgb,var(--tsp-pink) 30%,var(--tsp-raised))}.maxi-phone .tsp-fab .tsp-avatar{box-shadow:none}.maxi-phone .tsp-fab .tsp-avatar span{width:34px;height:34px;font-size:14px}.tsp.phone .tsp-zoom{display:none}.tsp.phone .tsp-viewbar{right:136px;justify-content:space-between;padding:4px 6px}.tsp.phone .tsp-viewbar button{height:40px}.tsp.phone .tsp-pager{flex:1;justify-content:space-between;border-left:0;padding-left:0}.tsp.phone .tsp-pager button{width:44px;font-size:22px!important}.tsp.phone .tsp-fitbtns button{width:42px}.maxi-phone .tsp-fab{height:52px}.cz-page{--tsp-ink:var(--ink);--tsp-line:var(--ln);--tsp-raised:var(--raised);--tsp-sunk:var(--sunk)}.cz-page .tsp-side{--paper:var(--bg)}.cz-body{position:relative}.maxi-phone .cz-main{padding-bottom:72px}.cz-opts.box{align-items:center;gap:8px}.cz-opt.tick{width:34px;min-width:34px;height:34px;padding:0;border-radius:8px;justify-content:center;border-width:2px}.cz-opt.tick.on{background:var(--act);color:var(--onact)!important}.cz-opt.bad{border-style:dashed}.cz-navsec{display:block;margin:12px 10px 2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--i3)}.cz-nav .cz-navsec:first-child{margin-top:0}.cz-model{margin-top:12px}.cz-model b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--i3);margin-bottom:4px}.cz-verdict{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--raised);border:1px solid var(--ln);border-left:4px solid var(--close-line);font-size:14px;line-height:1.5}.cz-verdict.good{border-left-color:var(--good-line)}.cz-verdict.bad{border-left-color:var(--bad-line)}.cz-verdict p{margin:0 0 6px}.cz-verdict-t{display:flex;align-items:center;gap:8px;font-size:15px}.cz-verdict.good .cz-verdict-t b{color:var(--good)}.cz-verdict.bad .cz-verdict-t b{color:var(--bad)}.cz-verdict.close .cz-verdict-t b{color:var(--close)}.cz-verdict-cap{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--i3);margin-top:10px!important}.cz-fixes{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}.cz-fix{display:flex;flex-direction:column}.cz-fix s{color:var(--i2)}.cz-fix-why{font-size:13px;color:var(--i2)}.cz-corr{margin:8px 0 6px}.cz-corr summary{cursor:pointer;font-weight:600}.cz-corr p{margin-top:6px;font-size:15px;white-space:pre-line}.cz-xw{--xw:34px;display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-start}.cz-xw-grid{display:grid;gap:0;flex:none}.cz-xw-x{width:var(--xw);height:var(--xw)}.cz-xw-c{position:relative;width:var(--xw);height:var(--xw);box-sizing:border-box;border:1px solid var(--ink);margin:0 -1px -1px 0;background:var(--raised)}.cz-xw-c i{position:absolute;left:2px;top:0;font:600 9px/1.2 var(--font-sans);font-style:normal;color:var(--i2);pointer-events:none}.cz-xw-c input{width:100%;height:100%;box-sizing:border-box;border:0;padding:4px 0 0;background:transparent;text-align:center;font:700 17px var(--font-sans);color:var(--ink);text-transform:uppercase;caret-color:var(--tsp-pink)}.cz-xw-c input:focus{outline:2px solid var(--tsp-pink);outline-offset:-2px}.cz-xw-c.cur{background:color-mix(in srgb,var(--tsp-pink) 14%,transparent)}.cz-xw-c.given{background:color-mix(in srgb,var(--ink) 12%,var(--raised))}.cz-xw-c.bad{outline:1.5px dashed var(--ink);outline-offset:-4px}.cz-xw-clues{list-style:none;margin:0;padding:0;flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.cz-xw-h{margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--i3)}.cz-xw-clue{display:flex;align-items:center;gap:8px}.cz-xw-clue button{flex:1;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:8px;font-size:16px;line-height:1.35;cursor:pointer;color:var(--ink)}.cz-xw-clue.cur button{background:color-mix(in srgb,var(--tsp-pink) 14%,transparent)}.cz-xw-clue.wrong button{outline:1.5px dashed var(--ln)}@media (max-width:820px){.cz-navsec{display:none}}.cedit,.canvas-sheet,.sh-root,.pdfi-scrim,.mm-scrim,.cz-page,.tsp-row,.tsp-ex6,.trn-sheet,.aw-sheet{font-weight:400;--focus-ring:var(--page-accent)}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=link]:focus-visible,[role=switch]:focus-visible,[tabindex="0"]:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.dq-match-cell select,.tsp-send textarea,.mm-input,.notes-date{font-size:16px}.hint-flush{margin-top:0}.card-inset{padding:.2rem 1rem}.m-0{margin:0}.mt-0{margin-top:0}.fw-600{font-weight:600}.fw-700{font-weight:700}.c-soft{color:var(--ink-soft)}.c-warn{color:var(--bad)}.c-close{color:var(--close)}.c-good{color:var(--good)}.c-accent{color:var(--accent-text)}.flex-1{flex:1}.flex-none{flex:none}.w-full{width:100%}.pointer{cursor:pointer}.play.ib-38{width:38px;height:38px}.play.ib-34{width:34px;height:34px}.play.ib-32{width:32px;height:32px}.mt-xs{margin-top:.25rem}.mt-s{margin-top:.5rem}.mt-m{margin-top:.75rem}.mt-l{margin-top:1rem}.mt-2xl{margin-top:2rem}.mb-xs{margin-bottom:.25rem}.mb-l{margin-bottom:1rem}.gap-xs{gap:.25rem}.gap-s{gap:.5rem}.gap-m{gap:.75rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-15{font-size:15px}.d-flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.nowrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}.text-left{text-align:left}.d-block{display:block}.cursor-default{cursor:default}.new-tag{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);border:1.5px solid var(--accent-line);border-radius:6px;padding:.1rem .45rem}.new-word{background:none;border:none;padding:0 1px;font:inherit;color:var(--accent-text);font-weight:800;border-bottom:2px dotted var(--accent-line);cursor:pointer}.m-press{transition:transform var(--t-tap) var(--e-out),box-shadow var(--t-tap) var(--e-out)}.m-press:active:not(:disabled),.m-press.is-down{transform:translateY(4px);box-shadow:0 0 0 transparent!important}@keyframes m-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.m-pop{animation:m-pop var(--t-feedback) var(--e-spring) both}@keyframes m-pop-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.m-pop-in{animation:m-pop-in .36s var(--e-spring) both}@keyframes m-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.m-shake{animation:m-shake .32s var(--e-std) both}@keyframes m-slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-slideup{animation:m-slideup .28s var(--e-out) both}@keyframes m-rise{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.m-rise{animation:m-rise .36s var(--e-out) both;animation-delay:calc(var(--i, 0) * 70ms)}.m-fill{transition:width .5s var(--e-spring)}@keyframes m-shine{0%{transform:translate(-120%)}to{transform:translate(320%)}}.m-shine{position:relative;overflow:hidden}.m-shine:before{content:"";position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,var(--gloss),transparent);animation:m-shine .7s var(--e-out) both}@keyframes m-bump{0%{transform:scale(1)}35%{transform:scale(1.35) rotate(-6deg)}to{transform:scale(1)}}.m-bump{animation:m-bump .36s var(--e-spring) both;transform-origin:50% 80%}@keyframes m-flicker{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.04,.97) rotate(-2deg)}50%{transform:scale(.98,1.04) rotate(1.5deg)}75%{transform:scale(1.03,.98) rotate(-1deg)}}.m-flicker{animation:m-flicker .9s ease-in-out infinite;transform-origin:50% 90%}@keyframes m-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}.m-breathe{animation:m-breathe 3.2s ease-in-out infinite;transform-origin:50% 100%}@keyframes m-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.m-blink{animation:m-blink 4.2s infinite;transform-box:fill-box;transform-origin:center}@keyframes m-hop{0%,to{transform:translateY(0)}30%{transform:translateY(-14px)}55%{transform:translateY(0) scale(1.04,.96)}70%{transform:translateY(-4px)}}.m-hop{animation:m-hop .7s var(--e-out) both}@keyframes m-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.m-wave{animation:m-wave .9s ease-in-out infinite;transform-origin:50% 50%}@keyframes m-ring{0%{transform:scale(1);opacity:.55}to{transform:scale(1.7);opacity:0}}.m-ring{animation:m-ring 1.4s var(--e-out) infinite}@keyframes m-flip-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes m-flip-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes m-drop-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.m-flip-out{animation:m-flip-out .26s var(--e-in) both}.m-flip-in{animation:m-flip-in .32s var(--e-spring) both}.m-drop-in{animation:m-drop-in .42s var(--e-std) both}@keyframes m-stamp{0%{transform:scale(1.8) rotate(-12deg);opacity:0}55%{transform:scale(.92) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0)}}.m-stamp{animation:m-stamp .52s var(--e-spring) both}@keyframes m-glow{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--gold) 18%,transparent)}}.m-glow{animation:m-glow 1.6s ease-in-out 2}@keyframes m-shimmer{0%{background-position:-240px 0}to{background-position:240px 0}}.m-shimmer{background:linear-gradient(90deg,var(--sunken) 0,var(--line) 40px,var(--sunken) 80px) var(--sunken);background-size:480px 100%;animation:m-shimmer 1.3s linear infinite}@keyframes m-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent-fill) 45%,transparent)}70%{box-shadow:0 0 0 12px transparent}to{box-shadow:0 0 0 0 transparent}}.m-pulse{animation:m-pulse 1.8s var(--e-out) 2}@keyframes m-bounce{0%,to{transform:translateY(0)}35%{transform:translateY(-6px) scale(1.08)}65%{transform:translateY(1px) scale(.97)}}.m-bounce{animation:m-bounce .42s var(--e-spring) both}@keyframes m-fly{0%{transform:translate(var(--dx,0),var(--dy,0))}to{transform:translate(0)}}.m-fly{animation:m-fly .34s var(--e-out) both}.m-ring-fill{transition:stroke-dashoffset .9s var(--e-out)}@keyframes m-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.m-press,.m-press:active,.m-press.is-down{transition:none;transform:none}.m-pop,.m-shake,.m-slideup,.m-bump,.m-flicker,.m-breathe,.m-blink,.m-hop,.m-wave,.m-ring,.m-flip-out,.m-bounce,.m-fly,.m-glow,.m-pulse,.m-shimmer,.m-shine:before{animation:none!important}.m-pop-in,.m-rise,.m-flip-in,.m-drop-in,.m-stamp{animation:m-fade-in var(--t-fast) linear both!important}.m-fill,.m-ring-fill{transition:none}}.app.shl{--side-w:256px;--rail-w:370px}.shl-side,.shl-rail{display:none}.shl-main{flex:1;min-height:0;display:flex;flex-direction:column}.shl-ov{display:contents}.shl-top{gap:.6rem;border-bottom:2px solid var(--line)}.shl-ava{flex:none;width:2.1rem;height:2.1rem;border:0;background:var(--accent-fill);color:var(--on-accent);font-size:.83rem;font-weight:900;box-shadow:0 .17rem 0 var(--accent-edge)}.shl-ava.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent-line)}.shl-stats{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.shl-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.89rem;font-weight:800;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.shl-stat b{display:inline-block;font-weight:800}.shl-stat.fire{color:var(--ink-subtle)}.shl-stat.fire.lit{color:var(--fire)}.shl-stat.hours{color:var(--subject-blue)}.shl-stat.rank{color:var(--subject-purple)}.shl-stat.rank.none{color:var(--ink-subtle)}.shl-search{border-radius:.67rem}.shl-top .sy-pill{min-height:1.9rem;font-size:.72rem;padding:.2rem .55rem}.tabbar.shl-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.33rem;align-items:stretch;border-top:2px solid var(--line);background:var(--surface);padding:.44rem .55rem calc(env(safe-area-inset-bottom) + .44rem)}.shl-tabs .tab{min-width:0;min-height:3.1rem;padding:.25rem .1rem;gap:.1rem;border:2px solid transparent;border-radius:.67rem;color:var(--ink-muted);font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),transform var(--t-tap) var(--e-out)}.shl-tabs .tab:hover{color:var(--ink)}.shl-tabs .tab.on{border-color:var(--accent-line);background:var(--band);color:var(--accent-text);font-weight:800}.shl-tabs .tab-ico{display:inline-flex}.shl-tabs .tab.on svg{stroke-width:2.4}.shl-skel{display:flex;flex-direction:column;gap:.8rem}.shl-skel>span{display:block;border-radius:.89rem}.shl-skel-h{height:1.6rem;width:45%}.shl-skel-card{height:7rem}.shl-skel-row{height:3.2rem}.update-banner{position:fixed;z-index:9999;top:calc(env(safe-area-inset-top) + 4.4rem);left:.89rem;right:.89rem;max-width:30rem;margin:0 auto}@media (min-width:1024px){.app.shl{max-width:none;display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);grid-template-rows:minmax(0,1fr);box-shadow:none}.shl-top,.tabbar.shl-tabs{display:none}.shl-main{grid-column:2;grid-row:1;min-width:0}.shl .sheet{max-width:648px;margin:0 auto;padding:2rem 24px 3rem}.shl-side{display:flex;flex-direction:column;gap:1.3rem;grid-column:1;grid-row:1;min-height:0;overflow-y:auto;border-right:2px solid var(--line);padding:1.5rem 1rem 1rem;background:var(--surface)}.shl-logo{padding:0 .6rem}.shl-logo .logo-word{color:var(--accent-text)}.shl-nav{display:flex;flex-direction:column;gap:.45rem}.shl-item{display:flex;align-items:center;gap:.9rem;height:2.9rem;padding:0 .78rem;border-radius:.78rem;border:2px solid transparent;background:none;cursor:pointer;text-align:left;color:var(--ink-muted);font-size:.83rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.shl-item:hover{background:var(--raised);color:var(--ink)}.shl-item.on{border-color:var(--accent-line);background:var(--band);color:var(--accent-text)}.shl-sq{width:2rem;height:2rem;flex:none;border-radius:.67rem;display:grid;place-items:center;color:var(--surface)}.shl-sq.pink{background:var(--accent-fill);box-shadow:0 .17rem 0 var(--accent-edge)}.shl-sq.blue{background:var(--subject-blue);box-shadow:0 .17rem 0 var(--subject-blue-edge)}.shl-sq.gold{background:var(--gold);box-shadow:0 .17rem 0 var(--gold-edge)}.shl-sq.green{background:var(--subject-green);box-shadow:0 .17rem 0 var(--subject-green-edge)}.shl-sq.purple{background:var(--subject-purple);box-shadow:0 .17rem 0 var(--subject-purple-edge)}.shl-sq.orange{background:var(--subject-orange);box-shadow:0 .17rem 0 var(--subject-orange-edge)}.shl-sq.red{background:var(--subject-red);box-shadow:0 .17rem 0 var(--subject-red-edge)}.shl-maxi{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center;padding:1rem .9rem;border:2px solid var(--line);border-radius:.89rem;box-shadow:0 .17rem 0 var(--line)}.shl-maxi-mic{color:var(--art-teal);display:flex}.shl-maxi b{font-size:.89rem;font-weight:800;margin-top:.2rem}.shl-maxi>span:not(.shl-maxi-mic){font-size:.72rem;color:var(--ink-muted);line-height:1.35}.shl-maxi-go{margin-top:.5rem;background:none;border:0;cursor:pointer;color:var(--accent-text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;min-height:2.2rem}.shl-maxi-go:hover{color:var(--fill-hover)}.shl-ov{display:block;position:absolute;top:0;bottom:0;left:var(--side-w);right:0;z-index:65;pointer-events:none}.shl-ov>*{pointer-events:auto}.shl-ov.full,.shl-ov:has(.ss-top,.lc){left:0;right:0}.update-banner{top:auto;bottom:1.5rem;left:auto;right:1.5rem;max-width:22rem}}@media (min-width:1200px){.app.shl{grid-template-columns:var(--side-w) minmax(0,1fr) var(--rail-w)}.shl-rail{display:flex;flex-direction:column;gap:1rem;grid-column:3;grid-row:1;min-height:0;overflow-y:auto;padding:1.4rem 1.6rem 1.5rem .4rem}.shl-ov{right:var(--rail-w)}}.shl-rail-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:2.6rem;padding:0 .3rem}.shl-rail-top .shl-stats{gap:1.3rem}.shl-card{border:2px solid var(--line);border-radius:.89rem;box-shadow:0 .17rem 0 var(--line);background:var(--surface);padding:1rem 1.1rem}.shl-card-h{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.shl-big{display:inline-flex;align-items:center;gap:.35rem;font-size:1.45rem;font-weight:900;line-height:1}.shl-big b{display:inline-block;font-weight:900}.shl-big.fire{color:var(--ink-subtle)}.shl-big.fire.lit{color:var(--fire)}.shl-big.hours{color:var(--subject-blue)}.shl-big.rank{color:var(--subject-purple)}.shl-card-t{font-size:.83rem;font-weight:800;color:var(--ink-muted)}.shl-best{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:800;color:var(--ink-subtle)}.shl-best svg{color:var(--gold)}.shl-card-s{margin-top:.5rem;font-size:.78rem;color:var(--ink-muted);line-height:1.4}.shl-week{list-style:none;margin:.9rem 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;text-align:center}.shl-wl{display:block;font-size:.67rem;font-weight:900;color:var(--ink-subtle)}.shl-wd{display:block;width:1.6rem;height:1.6rem;margin:.25rem auto 0;border-radius:50%;border:2px solid var(--line);background:var(--sunken)}.shl-week .done .shl-wd{background:var(--fire);border-color:var(--fire-edge)}.shl-week .today .shl-wd{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--line-strong)}.shl-week .future .shl-wd{opacity:.45}
