:root{--bg:#131118;--bg-2:#1a1722;--panel:#1e1b26;--panel-2:#292433;--panel-3:#332e3d;--text:#f3f1f7;--text-2:#c8c2d4;--muted:#948da1;--faint:#5c5668;--accent:#ff8a6b;--accent-press:#f0714f;--accent-ink:#2a1008;--accent-weak:rgba(255,138,107,0.14);--accent-line:rgba(255,138,107,0.42);--good:#3ed9a4;--good-press:#2cc290;--good-ink:#05231a;--good-weak:rgba(62,217,164,0.14);--good-line:rgba(62,217,164,0.40);--gold:#f5c265;--gold-ink:#2a1d05;--gold-weak:rgba(245,194,101,0.13);--gold-line:rgba(245,194,101,0.36);--danger:#ff6b7d;--danger-weak:rgba(255,107,125,0.16);--border:#2c2735;--border-2:#3a3446;--ring:rgba(255,138,107,0.5);--fs-display:28px;--fs-h1:25px;--fs-h2:18px;--fs-body:16px;--fs-en:17px;--fs-15:15px;--fs-sm:14px;--fs-xs:12.5px;--fs-pill:11px;--fw-reg:400;--fw-med:500;--fw-semi:600;--fw-bold:700;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.28);--shadow-md:0 6px 20px -8px rgba(0,0,0,0.45);--shadow-lg:0 16px 40px -12px rgba(0,0,0,0.55);--shadow-accent:0 8px 22px -8px rgba(255,138,107,0.42);--shadow-good:0 8px 22px -8px rgba(62,217,164,0.36);--ease:cubic-bezier(0.22,1,0.36,1);--spring:cubic-bezier(0.34,1.5,0.6,1);--t-1:120ms;--t-2:220ms;--t-3:360ms}@media (prefers-color-scheme:light){:root{--bg:#f8f4ef;--bg-2:#fdfbf8;--panel:#ffffff;--panel-2:#f1ebe3;--panel-3:#e7dfd4;--text:#241f2b;--text-2:#4a4356;--muted:#837a8d;--faint:#a79eb0;--accent:#ef6a45;--accent-press:#e0562f;--accent-ink:#ffffff;--accent-weak:rgba(239,106,69,0.10);--accent-line:rgba(239,106,69,0.32);--good:#12a877;--good-press:#0e9367;--good-ink:#ffffff;--good-weak:rgba(18,168,119,0.11);--good-line:rgba(18,168,119,0.34);--gold:#b7791f;--gold-ink:#ffffff;--gold-weak:rgba(183,121,31,0.10);--gold-line:rgba(183,121,31,0.30);--danger:#e0384a;--danger-weak:rgba(224,56,74,0.10);--border:#ebe3d9;--border-2:#dccfc1;--ring:rgba(239,106,69,0.32);--shadow-sm:0 1px 2px rgba(60,40,30,0.06);--shadow-md:0 6px 20px -8px rgba(70,45,30,0.14);--shadow-lg:0 16px 40px -14px rgba(70,45,30,0.20);--shadow-accent:0 10px 26px -10px rgba(239,106,69,0.34);--shadow-good:0 10px 26px -10px rgba(18,168,119,0.28)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{text-size-adjust:100%}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}.app{max-width:580px;margin:0 auto;min-height:100dvh;padding:max(var(--s-7),calc(env(safe-area-inset-top, 0px) + var(--s-5))) max(var(--s-5),env(safe-area-inset-right)) calc(var(--s-9) + env(safe-area-inset-bottom)) max(var(--s-5),env(safe-area-inset-left));overflow-x:clip}.bubble,.cn-text,.delta span,.hint,.why,h1,h2,p{overflow-wrap:break-word;word-break:keep-all}h1{font-size:var(--fs-h1);line-height:1.2;letter-spacing:-.02em;font-weight:var(--fw-bold);margin:var(--s-2) 0 var(--s-1)}h2{font-size:var(--fs-h2);line-height:1.3;letter-spacing:-.01em;font-weight:var(--fw-semi);margin:var(--s-6) 0 var(--s-3)}p{margin:0 0 var(--s-4)}p.muted{color:var(--muted);line-height:1.55;margin:var(--s-1) 0 var(--s-5)}a{color:var(--accent);text-decoration:none;font-weight:var(--fw-med);transition:color var(--t-2) var(--ease),opacity var(--t-1) var(--ease)}a:active{opacity:.7}a.back{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-med)}a.back:hover{color:var(--text)}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-sm)}.stack{flex-direction:column}.row,.stack{display:flex;gap:var(--s-3)}.row{align-items:center}button{font:inherit;font-weight:var(--fw-med);color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 18px;min-height:44px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--t-1) var(--spring),background var(--t-2) var(--ease),border-color var(--t-2) var(--ease),box-shadow var(--t-2) var(--ease)}button:hover{background:var(--panel-3)}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:default;transform:none}button.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink);font-weight:var(--fw-semi);box-shadow:var(--shadow-accent)}button.primary:hover{background:var(--accent-press)}button.accent{background:var(--good);border-color:transparent;color:var(--good-ink);font-weight:var(--fw-semi);box-shadow:var(--shadow-good)}button.accent:hover{background:var(--good-press)}button.ghost{background:transparent;color:var(--muted);border-color:var(--border);padding:11px 15px;font-size:var(--fs-sm)}button.ghost:hover{background:var(--panel);color:var(--text)}button.big{width:100%;padding:17px 18px;font-size:var(--fs-en);border-radius:var(--r-xl)}button.big.soft{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-sm);font-weight:var(--fw-semi)}button.big.soft:hover{background:var(--panel-3)}input[type=password],input[type=text]{font:inherit;font-size:var(--fs-body);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:13px 15px;width:100%;min-height:48px;transition:border-color var(--t-2) var(--ease),box-shadow var(--t-2) var(--ease)}input::placeholder{color:var(--faint)}input[type=password]:focus,input[type=text]:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-weak)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:30px;background:transparent;cursor:pointer;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-pill);background:linear-gradient(to right,var(--good) 0 var(--pct,50%),var(--panel-2) var(--pct,50%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:var(--shadow-sm);-webkit-transition:transform var(--t-1) var(--spring);transition:transform var(--t-1) var(--spring)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-track{height:6px;border-radius:var(--r-pill);background:var(--panel-2)}input[type=range]::-moz-range-progress{height:6px;border-radius:var(--r-pill);background:var(--good)}input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--panel);box-shadow:var(--shadow-sm)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow-sm)}.hero{margin-bottom:var(--s-6)}.hero h1{font-size:var(--fs-display);line-height:1.15}.hero p.muted{font-size:var(--fs-15);max-width:34ch}a.navlink{display:block;text-decoration:none}.card-title{font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s-3)}label.ctl{color:var(--muted);font-size:var(--fs-xs);flex-direction:column;flex:1 1;min-width:0}.transcript,label.ctl{display:flex;gap:var(--s-2)}.transcript{flex-direction:column;padding-bottom:var(--s-3)}.bubble{padding:12px 15px;border-radius:18px;line-height:1.5;font-size:var(--fs-15);max-width:88%;white-space:pre-wrap;box-shadow:var(--shadow-sm);animation:bubble-in var(--t-3) var(--ease) both}.bubble.friend{background:var(--panel);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:6px;cursor:pointer}.bubble.user{background:var(--accent);color:var(--accent-ink);align-self:flex-end;margin-left:auto;border-bottom-right-radius:6px}@keyframes bubble-in{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}.status{color:var(--muted);font-size:var(--fs-sm);min-height:20px;margin:var(--s-2) 0;text-align:center}.micdock{position:-webkit-sticky;position:sticky;bottom:0;flex-direction:column;gap:var(--s-1);margin:var(--s-2) calc(-1 * max(var(--s-5), env(safe-area-inset-left))) 0 calc(-1 * max(var(--s-5), env(safe-area-inset-right)));padding:var(--s-3) var(--s-5) calc(var(--s-3) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 58%,transparent);z-index:10}.mic,.micdock{display:flex;align-items:center}.mic{width:88px;height:88px;border-radius:50%;font-size:var(--fs-15);font-weight:var(--fw-semi);justify-content:center;padding:0;border:none}.mic.recording{background:var(--danger);color:#fff;animation:mic-pulse 1.6s var(--ease) infinite}@keyframes mic-pulse{0%{box-shadow:0 0 0 0 rgba(255,107,125,.55)}70%{box-shadow:0 0 0 20px rgba(255,107,125,0)}to{box-shadow:0 0 0 0 rgba(255,107,125,0)}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin:calc(-1 * max(var(--s-7), calc(env(safe-area-inset-top, 0px) + var(--s-5)))) calc(-1 * max(var(--s-5), env(safe-area-inset-right))) var(--s-2) calc(-1 * max(var(--s-5), env(safe-area-inset-left)));padding:calc(var(--s-4) + env(safe-area-inset-top)) max(var(--s-5),env(safe-area-inset-right)) var(--s-3) max(var(--s-5),env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--border)}button.stopbtn{padding:8px 15px;min-height:40px;font-size:var(--fs-sm);border-radius:var(--r-pill);background:var(--danger-weak);border-color:transparent;color:var(--danger)}p.muted.focus{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:12px 14px;margin:var(--s-1) 0 var(--s-4);font-size:var(--fs-sm);color:var(--text-2);line-height:1.55}.coach-note{display:flex;gap:var(--s-3);align-items:flex-start;padding:14px 15px;margin:0 0 var(--s-5);border-radius:var(--r-lg);background:var(--gold-weak);border:1px solid var(--gold-line);animation:coach-in var(--t-3) var(--ease) both}@keyframes coach-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.coach-note .cn-ico{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--gold-ink);font-size:15px;margin-top:1px}.coach-note .cn-body{min-width:0}.coach-note .cn-eyebrow{display:block;font-size:var(--fs-pill);font-weight:var(--fw-bold);letter-spacing:.02em;color:var(--gold);margin-bottom:2px}.coach-note .cn-text{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text);font-weight:var(--fw-med)}.hint{color:var(--muted);font-size:var(--fs-sm);line-height:1.6;margin:0 0 var(--s-2)}.hint b{color:var(--good);font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card.delta{padding:var(--s-4) var(--s-4) var(--s-3)}.dline{display:flex;gap:10px;align-items:baseline;margin:0 0 9px}.dlabel{flex:0 0 auto;width:54px;font-size:var(--fs-pill);font-weight:var(--fw-semi);color:var(--muted);background:var(--panel-2);border-radius:var(--r-sm);padding:4px 0;text-align:center;white-space:nowrap;letter-spacing:-.02em;line-height:1.3;align-self:flex-start;position:relative;top:2px}.dlabel.dl-nat{color:var(--good);background:var(--good-weak)}.delta .casual,.delta .ex,.delta .nat,.delta .orig{flex:1 1 auto;min-width:0}.delta .orig{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-decoration-thickness:1px;font-size:var(--fs-sm)}.delta .nat{font-size:var(--fs-body);font-weight:var(--fw-semi);color:var(--text);line-height:1.4}.delta.pick .pick-eyebrow{display:flex;align-items:center;gap:6px;font-size:var(--fs-pill);font-weight:var(--fw-semi);color:var(--good);letter-spacing:-.02em;margin-bottom:8px}.delta.pick .pick-nat{font-size:var(--fs-body);font-weight:var(--fw-semi);color:var(--text);line-height:1.4}.delta.pick .pick-orig{display:flex;gap:8px;align-items:baseline;margin-top:10px}.delta.pick .po-label{flex:0 0 auto;font-size:var(--fs-pill);color:var(--muted);white-space:nowrap}.delta.pick .po-text{flex:1 1 auto;min-width:0;font-size:var(--fs-sm);color:var(--muted)}.delta .casual,.delta .ex{font-size:var(--fs-15);color:var(--text-2)}.delta .ex{font-style:italic}.delta .why{color:var(--muted);font-size:var(--fs-xs);line-height:1.5;margin-top:11px;padding-top:11px;border-top:1px solid var(--border)}.delta .ghost{border-radius:var(--r-pill);padding:8px 16px}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3)}.heard{color:var(--muted);font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}button.ghost.incl{border-color:var(--good-line)}button.ghost.incl,button.ghost.incl:hover{color:var(--good);background:var(--good-weak)}button.ghost.incl:hover{border-color:var(--good)}.card.delta{transition:opacity var(--t-2) var(--ease)}.excluded{opacity:.5}button.excl-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-md)}button.excl-toggle:hover{color:var(--text);background:var(--panel)}.caraudio{margin-top:var(--s-6);padding:var(--s-5) var(--s-4) var(--s-4);border:1px solid var(--border);border-top:2px solid var(--good);border-radius:var(--r-2xl);background:var(--panel);box-shadow:var(--shadow-md)}.caraudio h2{margin:0 0 var(--s-1)}.caraudio>p.muted{font-size:var(--fs-xs);margin:0 0 var(--s-4)}.ctl-row{display:flex;flex-direction:column;gap:var(--s-4)}@media (min-width:420px){.ctl-row{flex-direction:row;gap:var(--s-6)}}.ctl-head{display:flex;gap:6px;align-items:baseline}.ctl-val{color:var(--text);font-weight:var(--fw-semi);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.segrow{display:flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel-2)}button.seg{flex:1 1;min-height:36px;padding:8px 10px;font-size:var(--fs-sm);color:var(--muted);background:transparent;border:none;border-radius:var(--r-md)}button.seg:hover{background:transparent;color:var(--text)}button.seg.on{color:var(--good);background:var(--good-weak);font-weight:var(--fw-semi);box-shadow:inset 0 0 0 1px var(--good-line)}.seghint{color:var(--muted);font-size:var(--fs-xs);margin:8px 0 var(--s-4)}.caraudio .accent.big{margin-top:var(--s-5)}.nowplaying{display:flex;align-items:center;gap:var(--s-2);color:var(--good);font-size:var(--fs-15);font-weight:var(--fw-med);min-height:24px;padding-top:var(--s-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowplaying:before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--good);animation:np-pulse 1.4s var(--ease) infinite}@keyframes np-pulse{0%,to{box-shadow:0 0 0 0 rgba(62,217,164,.5)}60%{box-shadow:0 0 0 9px rgba(62,217,164,0)}}.ex-wrap{margin-top:10px}button.ex-toggle{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-med);padding:2px 0;min-height:0}button.ex-toggle:hover{background:transparent;color:var(--text)}.ex-body{margin-top:6px;font-size:var(--fs-15);font-style:italic;color:var(--text-2);line-height:1.5}.tv-item{padding:9px 0}.tv-item+.tv-item{border-top:1px solid var(--border)}.tv-native{line-height:1.5;font-size:var(--fs-body)}.tv-ex{color:var(--muted);font-style:italic;font-size:var(--fs-15);margin-top:4px;padding-left:16px}.tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-3);gap:var(--s-3)}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-sm)}.tile-num{font-size:24px;font-weight:var(--fw-bold);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-lab{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.histrow{display:flex;gap:var(--s-3);align-items:flex-start;padding:12px 14px}.hist-date{flex:0 0 auto;color:var(--muted);font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:34px;padding-top:1px}.hist-pat{flex:1 1 auto;min-width:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text-2)}.sessrow{align-items:center;gap:var(--s-3);transition:background var(--t-2) var(--ease)}a.navlink:active .sessrow{background:var(--accent-weak)}.sess-meta{flex:0 0 auto;color:var(--muted);font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.poolrow{border-color:var(--accent-line);background:var(--accent-weak)}.poolrow .sess-meta{color:var(--accent)}.pool-sub{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.endbtn{padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent-weak);color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-semi);white-space:nowrap;cursor:pointer}.endbtn:disabled{opacity:.5}.wrapup{align-self:center;max-width:92%;margin:var(--s-2) 0;padding:14px 16px;border:1px solid var(--gold-line);background:var(--gold-weak);border-radius:var(--r-lg);text-align:center;animation:bubble-in var(--t-3) var(--ease) both}.wrapup-text{margin:0 0 12px;font-size:var(--fs-sm);color:var(--text);line-height:1.5}.wrapup-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.wrapup-end{padding:9px 16px;border-radius:var(--r-pill);border:none;background:var(--gold);color:var(--gold-ink);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer}.wrapup-end:disabled{opacity:.5}.wrapup-more{padding:9px 14px;border-radius:var(--r-pill);border:1px solid var(--border-2);background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-med);cursor:pointer}.modeseg{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill)}.modeseg button{flex:1 1;padding:11px 12px;border:none;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;transition:background .15s,color .15s}.modeseg button.on{background:var(--accent);color:var(--accent-ink)}.modehint{margin:-4px 2px 4px}.modehint,.speakcard{font-size:var(--fs-sm)}.speakcard{display:inline-flex;align-items:center;gap:6px;margin:10px 0 2px;padding:8px 14px;border:1px solid var(--good-line);border-radius:var(--r-pill);background:var(--good-weak);color:var(--good);font-weight:var(--fw-semi);cursor:pointer}.speakcard:active{background:var(--good);color:var(--good-ink)}.dword{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.dict-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;animation:dict-fade .15s ease}.dict-sheet{width:100%;max-width:520px;background:var(--panel);border:1px solid var(--border);border-bottom:none;border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.4);animation:dict-up .2s ease}.dict-head{display:flex;align-items:center;gap:10px}.dict-word{font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--text);flex:1 1;word-break:break-word}.dict-close,.dict-play{display:inline-flex;align-items:center;justify-content:center;padding:0;min-height:0;border-radius:50%;cursor:pointer;flex:0 0 auto;transition:background .12s,color .12s,transform .08s}.dict-close:active,.dict-play:active{transform:scale(.92)}.dict-play{width:50px;height:50px;border:none;color:var(--good-ink)}.dict-play,.dict-play:hover{background:var(--good)}.dict-play:active{background:var(--good-press)}.dict-close{width:46px;height:46px;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text)}.dict-close:hover{background:var(--panel-3)}.dict-status{color:var(--muted);font-size:var(--fs-sm)}.dict-body,.dict-status{margin-top:14px}.dict-meaning{font-size:var(--fs-body);color:var(--text);line-height:1.5}.dict-pos{margin-left:8px;padding:2px 8px;border-radius:var(--r-pill);background:var(--panel-2);color:var(--muted);font-size:var(--fs-xs);vertical-align:middle}.dict-ex{margin-top:10px;font-size:var(--fs-en);font-style:italic;color:var(--text-2);line-height:1.5}.dict-syn{margin-top:10px;font-size:var(--fs-sm);color:var(--muted)}@keyframes dict-fade{0%{opacity:0}to{opacity:1}}@keyframes dict-up{0%{transform:translateY(16px)}to{transform:translateY(0)}}.overlay{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.spinner{width:46px;height:46px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.overlay-title{font-size:17px;font-weight:var(--fw-semi)}.overlay-sub{color:var(--good);font-size:var(--fs-sm);font-weight:var(--fw-med);min-height:20px}.overlay-hint{color:var(--muted);font-size:var(--fs-xs)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}