:root{--bg: #0f1220;--surface: #191d33;--surface-2: #222749;--text: #eef0ff;--text-dim: #9aa0c3;--accent: #7c5cff;--accent-2: #00d4ff;--good: #2ecc71;--bad: #e74c3c;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(900px 600px at 85% -10%,rgba(124,92,255,.18),transparent 60%),radial-gradient(700px 500px at -10% 25%,rgba(0,212,255,.12),transparent 55%),radial-gradient(800px 700px at 50% 115%,rgba(124,92,255,.1),transparent 60%),var(--bg);background-attachment:fixed;min-height:100vh;color:var(--text)}.header,.card,.hq-card,.vocab-item{background:#191d33d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html,body,#root{height:100%}body{overflow:hidden}.app{max-width:860px;margin:0 auto;padding:16px;display:flex;flex-direction:column;height:100dvh}.main{flex:1;min-height:0;overflow-y:auto;padding:2px}.header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;background:var(--surface);border-radius:var(--radius)}.header-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px}.header-xp{display:flex;align-items:center;gap:10px;flex:1;min-width:220px}.level-chip{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;white-space:nowrap}.xp-bar{flex:1;height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .4s ease}.xp-total{position:relative;font-size:13px;color:var(--text-dim);white-space:nowrap}.xp-gain{position:absolute;top:-18px;right:0;color:var(--good);font-weight:700;animation:rise 1.2s ease-out forwards}@keyframes rise{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.header-meta{display:flex;align-items:center;gap:12px;font-size:15px}.nav{display:flex;align-items:center;gap:12px;margin:14px 0}.nav-btn{background:var(--surface);color:var(--text);border:1px solid var(--surface-2);border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer}.nav-btn:hover{background:var(--surface-2)}.nav-current{color:var(--text-dim);font-size:14px}.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);color:var(--text);text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease;font-family:inherit}.card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--accent)}.card-icon{font-size:32px}.card-title{font-size:17px;font-weight:700}.card-desc{font-size:13px;color:var(--text-dim)}.card-lock{font-size:12px;color:var(--accent-2);margin-top:4px}.card-locked,.card-soon{opacity:.55;cursor:default}.vocab-empty{color:var(--text-dim)}.vocab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.vocab-item{background:var(--surface);border-radius:var(--radius);padding:12px 16px}.vocab-term{font-weight:700}.vocab-audio{background:none;border:none;font-size:15px;cursor:pointer;margin-left:6px;opacity:.75;color:var(--text-dim)}.vocab-audio:hover{opacity:1}.vocab-term{display:flex;align-items:center}.vocab-delete{background:none;border:none;font-size:15px;cursor:pointer;margin-left:auto;padding:4px 8px;opacity:.55;color:var(--text-dim)}.vocab-delete:hover{opacity:1;color:var(--bad)}.undo-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;background:var(--surface-2);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 16px;box-shadow:0 8px 30px #00000073;z-index:60;animation:toast-in .3s ease}.undo-toast-text{font-size:14px;color:var(--text-dim)}.undo-toast-btn{background:none;border:none;color:var(--accent-2);font-size:15px;font-weight:700;cursor:pointer;padding:6px 10px}@media(max-width:600px){.undo-toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.vocab-due{margin-left:10px;font-size:11px;font-weight:600;color:#ffb020;border:1px solid #ffb020;border-radius:999px;padding:1px 8px}.vocab-context{color:var(--text-dim);font-size:13px;font-style:italic;margin-top:2px}.vocab-meta{color:var(--text-dim);font-size:12px;margin-top:4px}.module-host{display:block}.hq-card{background:var(--surface);border-radius:var(--radius);padding:22px;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.hq-progress{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.hq-question{margin:0;font-size:20px}.hq-options{display:flex;flex-direction:column;gap:10px}.hq-option,.hq-next,.hq-collect{font-family:inherit;font-size:15px;border-radius:10px;padding:12px 16px;cursor:pointer;text-align:left}.hq-option{background:var(--surface-2);border:1px solid transparent;color:var(--text)}.hq-option:hover:not(:disabled){border-color:var(--accent)}.hq-option:disabled{cursor:default}.hq-correct{background:#2ecc712e;border-color:var(--good)!important}.hq-wrong{background:#e74c3c2e;border-color:var(--bad)!important}.hq-explanation{margin:0;color:var(--text-dim);font-size:14px}.hq-collect{background:transparent;border:1px dashed var(--accent-2);color:var(--accent-2)}.hq-collect:disabled{border-style:solid;opacity:.7;cursor:default}.hq-next{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;color:#fff;font-weight:700;text-align:center}.hq-score{font-size:17px;margin:0}.hq-best{color:var(--text-dim);margin:0}.vr-context{margin:0;font-size:17px;font-style:italic;line-height:1.5}.vr-hint{margin:0;color:var(--text-dim);font-size:13px;letter-spacing:.04em}.vr-input{font-family:inherit;font-size:16px;padding:12px 16px;border-radius:10px;border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);outline:none}.vr-input:focus{border-color:var(--accent)}.vr-input-correct{border-color:var(--good);background:#2ecc711f}.vr-input-wrong{border-color:var(--bad);background:#e74c3c1f}.vr-actions{display:flex;gap:10px}.vr-actions .hq-next{flex:1}.vr-giveup{font-family:inherit;font-size:14px;padding:12px 16px;border-radius:10px;border:1px solid var(--surface-2);background:transparent;color:var(--text-dim);cursor:pointer}.vr-giveup:hover{border-color:var(--text-dim)}.fs-audio-btn{display:block;width:100%;margin-top:10px;padding:12px;background:none;border:1px solid var(--surface-2);border-radius:12px;color:var(--text-dim);font-size:14px;cursor:pointer}.fs-audio-btn:hover{color:var(--text);border-color:var(--accent)}.fs-stall-banner{display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin-bottom:10px;background:#ffb02014;border:1px solid rgba(255,176,32,.45);border-radius:12px;font-size:13.5px}.fs-stall-btn{align-self:flex-start;padding:8px 14px;background:linear-gradient(135deg,var(--accent),#5a43c9);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.fs-audio-scene{display:flex;flex-direction:column;gap:6px;max-height:40dvh;overflow-y:auto;margin:8px 0;padding:4px}.fs-audio-line{padding:8px 12px;border-radius:10px;border:1px solid transparent;font-size:14.5px;line-height:1.5;cursor:pointer;transition:background .15s,border-color .15s}.fs-audio-line:hover{background:var(--surface-2)}.fs-audio-line-active{background:var(--surface-2);border-color:var(--accent)}.fs-deck-list{display:flex;flex-direction:column;gap:8px}.fs-deck-item{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:10px;padding:10px 14px}.fs-deck-num{font-weight:700;color:var(--accent-2)}.fs-deck-title{flex:1}.fs-level-chip{font-size:11px;font-weight:700;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:999px;padding:2px 8px}.fs-ex-title{margin:0;font-size:18px}.ek-explain{margin:0;font-size:14px;line-height:1.5;color:var(--text-dim);background:var(--surface-2);border-radius:10px;padding:10px 14px}.ek-explain-strong{color:var(--text);background:#ffb0201a;border:1px solid rgba(255,176,32,.45)}.ek-cloze-hint{margin:0;color:var(--text-dim);font-size:14px;font-style:italic}.ek-hint-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:6px 0 10px}.ek-hint-btn{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;color:var(--accent);cursor:pointer;transition:all .15s ease}.ek-hint-btn:hover{background:var(--surface-2);border-color:var(--accent)}.ek-hint-btn.open{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.ek-hint-box{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5;color:var(--text);text-align:left;animation:fadeIn .15s ease-in-out}.gr-formula-box{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 14px;background:var(--surface-2);border:1px solid var(--accent);border-radius:10px}.gr-formula-label{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.gr-formula-text{font-family:monospace;font-size:14px;font-weight:600;color:var(--text);letter-spacing:.02em}.gr-clues-box{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 0}.gr-clues-label{font-size:12px;font-weight:700;color:var(--text-dim);margin-right:4px}.gr-clue-badge{display:inline-block;background:#ffb02026;color:var(--text);border:1px solid rgba(255,176,32,.4);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.gr-contrast-card{margin:12px 0;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:8px}.gr-contrast-title{font-size:13px;font-weight:700;color:var(--accent)}.gr-contrast-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:500px){.gr-contrast-grid{grid-template-columns:1fr}}.gr-contrast-side{padding:10px 12px;border-radius:8px;background:var(--surface-1);display:flex;flex-direction:column;gap:4px}.gr-contrast-side-a{border-left:3px solid var(--accent)}.gr-contrast-side-b{border-left:3px solid #ffb020}.gr-contrast-text{font-family:inherit;font-weight:600;font-size:14px;color:var(--text)}.gr-contrast-meaning{font-size:12px;line-height:1.4;color:var(--text-dim)}.gr-contrast-note{margin:4px 0 0;font-size:12px;line-height:1.4;color:var(--text-dim)}.ek-ccq-situation{margin:0 0 10px;padding:12px 14px;background:#7c5cff14;border-left:3px solid var(--accent);border-radius:8px;text-align:left}.ek-ccq-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:4px}.ek-ccq-text{margin:0;font-size:15px;font-weight:500;line-height:1.4;color:var(--text)}.ek-sort-stage{display:flex;flex-direction:column;gap:12px}.ek-sort-progress{color:var(--text-dim);font-size:12px;text-align:center}.ek-sort-card{padding:22px 16px;border:1px solid var(--accent);border-radius:14px;background:#7c5cff1f;font-size:20px;font-weight:750;line-height:1.35;text-align:center}.ek-sort-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ek-sort-actions .hq-option{text-align:center;font-weight:700}.ek-drop-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;padding:8px;border:1px dashed var(--surface-2);border-radius:10px}.ek-drop-item{touch-action:none;-webkit-user-select:none;user-select:none}.ek-dragging{position:relative;z-index:5;border-color:var(--accent);box-shadow:0 8px 20px #0006}.ek-drop-status{min-height:20px;margin:10px 0}.ek-drop-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.ek-drop-zone{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:8px;border:1px dashed var(--surface-2);border-radius:12px;background:var(--surface)}.ek-drop-zone-label{font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;color:var(--text);background:var(--surface-2);border:1px solid transparent;border-radius:999px;padding:6px 10px;cursor:pointer}.ek-drop-zone-items{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px}.ek-drop-zone-items .fs-chip{font-size:13px;padding:6px 10px}.ek-drop-hover{border-style:solid;border-color:var(--accent);background:#7c5cff24}@media(max-width:560px){.ek-drop-zones{position:sticky;bottom:0;z-index:3;padding:8px 0;background:var(--bg)}}.ek-listen-button{width:100%;padding:14px 16px;border:1px solid var(--accent-2);border-radius:12px;color:var(--text);background:#48edbe1a;font-family:inherit;font-size:16px;font-weight:750;cursor:pointer}.ek-listen-button:hover:not(:disabled){background:#48edbe2e}.ek-listen-button:disabled{cursor:default;opacity:.65}.ek-listen-transcript{margin:0;padding:10px 14px;border-radius:10px;color:var(--text-dim);background:var(--surface-2);font-size:14px;text-align:center}.fs-cloze-line{margin:0;font-size:17px;line-height:2.2}.fs-cloze-input{font-family:inherit;font-size:16px;padding:4px 8px;margin:0 4px;border-radius:8px;border:1px solid var(--accent);background:var(--surface-2);color:var(--text);outline:none;width:auto}.ek-cloze-slot{font-family:inherit;font-size:16px;padding:4px 10px;margin:0 4px;min-width:64px;border-radius:8px;border:1px dashed var(--accent);background:transparent;color:var(--text-dim);cursor:pointer}.ek-cloze-slot-filled{border-style:solid;background:var(--surface-2);color:var(--text);font-weight:600}.ek-cloze-slot:disabled{cursor:default}.fs-order-answer{min-height:46px;display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px dashed var(--surface-2);border-radius:10px}.fs-order-correct{border-color:var(--good)}.fs-order-wrong{border-color:var(--bad)}.fs-order-pool{display:flex;flex-wrap:wrap;gap:8px}.fs-chip{font-family:inherit;font-size:15px;padding:8px 14px;border-radius:999px;border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);cursor:pointer}.fs-chip:hover:not(:disabled){border-color:var(--accent)}.fs-chip-used{opacity:.35;pointer-events:none}.fs-chip-selected{border-color:var(--accent);background:#7c5cff40}.fs-match-board{display:flex;gap:14px}.fs-match-col{flex:1;display:flex;flex-direction:column;gap:8px}.fs-vocab-row{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:10px;padding:10px 14px}.fs-vocab-info{flex:1}.fs-vocab-term{font-weight:600}.fs-vocab-known{font-size:12px;color:var(--good);white-space:nowrap}.fs-speak-target{margin:0;font-size:19px;font-style:italic;line-height:1.5}.fs-speak-result{margin:0;line-height:1.8}.fs-word-hit{color:var(--good);margin-right:2px}.fs-word-miss{color:var(--bad);text-decoration:underline wavy;margin-right:2px}.fs-mic{font-size:26px;width:64px;height:64px;border-radius:50%;border:2px solid var(--accent);background:var(--surface-2);cursor:pointer;align-self:center;color:var(--accent)}.fs-mic:disabled{opacity:.6;cursor:default}.fs-mic-listening{animation:pulse 1.2s ease-in-out infinite;border-color:var(--bad);color:var(--bad)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.anim-shake{animation:shake .35s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.module-host{position:relative}.fx-pop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:72px;font-weight:700;color:var(--good);text-shadow:0 0 24px rgba(46,204,113,.55);pointer-events:none;animation:pop .7s cubic-bezier(.2,1.4,.4,1) forwards;z-index:5}@keyframes pop{0%{transform:scale(0);opacity:0}40%{transform:scale(1.25);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.fx-fly-chip{position:fixed;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap;pointer-events:none;z-index:95}.fx-bump{display:inline-block;animation:bump .4s cubic-bezier(.2,1.6,.4,1)}@keyframes bump{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.fx-confetti{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:92}.fx-confetti i{position:absolute;top:-16px;width:8px;height:13px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.4,.6,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),105vh) rotate(var(--rot));opacity:.5}}.fx-levelup{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(124,92,255,.3),transparent 65%);pointer-events:none;z-index:90;animation:levelup-fade 2.4s ease forwards}.fx-levelup-inner{text-align:center;animation:levelup-pop .6s cubic-bezier(.2,1.5,.4,1)}.fx-levelup-label{font-size:20px;font-weight:700;letter-spacing:.35em;color:var(--accent-2)}.fx-levelup-num{font-size:110px;font-weight:800;line-height:1.1;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 48px rgba(124,92,255,.45)}@keyframes levelup-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}@keyframes levelup-fade{0%,75%{opacity:1}to{opacity:0}}.fx-toasts{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;z-index:94;pointer-events:none}.badge-toast{position:relative;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--accent);border-radius:14px;padding:12px 18px;box-shadow:0 8px 30px #00000073;overflow:hidden;animation:toast-in .45s cubic-bezier(.2,1.4,.4,1)}.badge-toast:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translate(-100%);animation:shine 1.4s ease .3s}.badge-toast-icon{font-size:28px}.badge-toast-text{display:flex;flex-direction:column}.badge-toast-text small{color:var(--text-dim);font-size:12px}@keyframes toast-in{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes shine{to{transform:translate(100%)}}.skills-card{max-width:560px;margin:0 auto}.skills-radar{width:min(300px,100%);margin:0 auto;display:block}.radar-ring{fill:none;stroke:var(--surface-2);stroke-width:1}.radar-axis{stroke:var(--surface-2);stroke-width:1}.radar-shape{fill:#7c5cff4d;stroke:var(--accent-2);stroke-width:2;stroke-linejoin:round}.radar-label{fill:var(--text);font-size:13px;font-weight:600}.skills-list{display:flex;flex-direction:column;gap:10px}.skills-row{display:flex;align-items:center;gap:10px}.skills-name{width:118px;font-size:14px;white-space:nowrap}.skills-bar{position:relative;flex:1;height:10px;background:var(--surface-2);border-radius:999px}.skills-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .4s ease}.skills-bar-peak{position:absolute;top:-3px;width:2px;height:16px;background:var(--text-dim);border-radius:1px}.skills-score{width:28px;text-align:right;font-weight:700;font-size:14px}.skills-delta{width:60px;font-size:12px;color:var(--text-dim)}.skills-up{color:var(--good)}.skills-down{color:var(--bad)}.skills-idle{font-size:11px;color:#ffb020;white-space:nowrap}.skill-decay-warn{cursor:help;animation:pulse 1.4s ease-in-out infinite}.ft-chat{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;background:#191d33d1;border-radius:var(--radius);overflow:hidden}.module-host{height:100%}.ft-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--surface-2)}.ft-topbar-name{flex:1;font-size:13px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-progress{flex-shrink:0;color:var(--accent-2);font-size:12px;font-weight:700;white-space:nowrap}.ft-restart{flex-shrink:0;background:none;border:1px solid var(--surface-2);border-radius:8px;color:var(--text-dim);font-size:12px;padding:4px 10px;cursor:pointer}.ft-restart:hover{color:var(--text);border-color:var(--accent)}.ft-resume-hint{color:var(--accent-2);font-size:13px}.ft-divider{text-align:center;color:var(--text-dim);font-size:12px;padding:4px 0}.ft-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.ft-row{display:flex}.ft-row-bot{justify-content:flex-start}.ft-row-user{justify-content:flex-end}.ft-user-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:80%}.ft-bubble{padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45;max-width:100%}.ft-bubble-bot{background:var(--surface-2);border-bottom-left-radius:4px;max-width:80%}.ft-bubble-user{background:linear-gradient(135deg,var(--accent),#5a43c9);color:#fff;border-bottom-right-radius:4px}.ft-typing{opacity:.6}.ft-speak{background:none;border:none;cursor:pointer;font-size:13px;margin-left:6px;opacity:.7;color:var(--text-dim)}.ft-speak:hover{opacity:1}.ft-chip{font-family:inherit;font-size:11px;border-radius:999px;border:1px solid var(--surface-2);background:transparent;color:var(--text-dim);padding:2px 10px;cursor:pointer}.ft-chip-ok{color:var(--good);border-color:transparent}.ft-chip-warn{color:#ffb020;border-color:#ffb020}.ft-errors{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:8px;text-align:left}.ft-error s{color:var(--bad)}.ft-error b{color:var(--good)}.ft-error-why{color:var(--text-dim);font-size:12px;margin-top:2px}.ft-error-saved{color:var(--text-dim);font-size:11px}.ft-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--surface-2)}.ft-input{flex:1;font-family:inherit;font-size:16px;resize:none;border:1px solid var(--surface-2);border-radius:12px;background:var(--surface-2);color:var(--text);padding:10px 14px;outline:none;min-height:44px;max-height:138px;overflow-y:auto}.ft-input:focus{border-color:var(--accent)}.ft-mic,.ft-send{flex-shrink:0;width:44px;height:44px;border:none;border-radius:12px;font-size:17px;cursor:pointer}.ft-mic{background:var(--surface-2);color:var(--text)}.ft-send{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.ip-answer{min-height:110px}.ip-score{font-size:52px;font-weight:800;text-align:center;line-height:1.1}.ip-score small{font-size:18px;color:var(--text-dim);font-weight:600}.ip-score-ok{color:var(--good)}.ip-score-bad{color:var(--bad)}.ip-point{font-size:13px;line-height:1.45}.ip-covered{color:var(--good)}.ip-missed{color:var(--bad)}.ip-factual{color:#ffb020}.ip-sample summary{cursor:pointer;color:var(--accent-2);font-size:14px}.ed-original{margin:0;font-style:italic;color:var(--bad);text-decoration:line-through;text-decoration-color:#e74c3c80}.ed-hint{margin:0;font-size:14px;line-height:1.5;color:var(--text-dim)}.ed-hint-btn{align-self:flex-start;font-family:inherit;font-size:14px;padding:8px 14px;border-radius:10px;cursor:pointer;background:transparent;border:1px dashed var(--text-dim);color:var(--text-dim)}.ed-hint-btn:hover{border-color:var(--accent);color:var(--text)}.gr-map{max-width:560px;margin:0 auto}.gr-band-title{margin:14px 0 4px;font-size:13px;color:var(--accent-2);letter-spacing:.08em}.gr-topic{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-family:inherit;font-size:15px;color:var(--text);background:var(--surface-2);border:1px solid transparent;border-radius:10px;padding:10px 14px;cursor:pointer}.gr-topic:hover{border-color:var(--accent)}.gr-topic-status{width:20px}.gr-topic-title{flex:1;display:flex;flex-direction:column;gap:2px}.gr-topic-main-title{font-weight:600}.gr-topic-sub-title{font-size:12px;color:var(--muted);font-weight:400}.gr-metalanguage-note{margin:14px 0;padding:12px 14px;background:var(--surface-2);border-left:3px solid var(--accent);border-radius:8px;font-size:13px;line-height:1.5;color:var(--text);text-align:left}.gr-hook-choice{border-left:3px solid var(--accent)}.gr-topic-interactive{color:var(--good);font-size:11px;font-weight:700;white-space:nowrap}.gr-recommend{font-family:inherit;font-size:14px;text-align:left;color:var(--text);background:#ffb0201f;border:1px solid #ffb020;border-radius:10px;padding:10px 14px;cursor:pointer}.gr-resume-hint{margin:14px 0 8px;font-size:14px;line-height:1.5;color:var(--muted)}.gr-part-repeat{border-color:#ffb020}.gr-part-score{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.gr-part-result{display:flex;align-items:center;gap:10px;width:100%;font-size:15px;background:var(--surface-2);border-radius:10px;padding:10px 14px;margin-bottom:6px}.gr-theory-text{margin:0;font-size:16px;line-height:1.6}.gr-example{background:var(--surface-2);border-radius:10px;padding:10px 14px}.gr-example-en{font-size:15px}.gr-example-ru{color:var(--text-dim);font-size:13px;margin-top:2px}.gr-pitfall{background:#e74c3c1a;border:1px solid rgba(231,76,60,.4);border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5}.gr-interactive-host{width:100%}.gr-interactive-loading{max-width:560px;margin:0 auto;color:var(--text-dim);text-align:center}.gr-interactive-card{max-width:760px;margin:0 auto}.gr-interactive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gr-interactive-head .hq-question{margin-bottom:4px}.gr-interactive-head p{margin:0;color:var(--text-dim);font-size:14px}.gr-interactive-badge{flex:0 0 auto;color:var(--good);background:#22c55e1a;border:1px solid rgba(34,197,94,.45);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.gr-player-wrap{position:relative;width:min(100%,340px);margin:14px auto 0;overflow:hidden;border:1px solid var(--surface-2);border-radius:18px;background:#0f1220;box-shadow:0 18px 45px #00000052}.gr-player-start{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;color:#fff;background:#090b188c;border:0;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gr-player-start span{display:grid;place-items:center;width:56px;height:56px;padding-left:4px;border-radius:50%;color:#0f1220;background:var(--accent-2);box-shadow:0 0 32px #48edbe6b}.gr-player-error{display:grid;place-items:center;height:100%;padding:80px;color:#eef0ff;background:#0f1220;font-size:42px;line-height:1.4;text-align:center}.gr-checkpoint{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:14px;border:1px solid rgba(250,204,21,.5);border-radius:12px;background:#facc1514;text-align:center}.gr-checkpoint>span{font-size:16px}.gr-checkpoint-options{display:flex;justify-content:center;gap:8px}.gr-checkpoint-options button{min-width:92px;padding:11px 16px;border:1px solid var(--accent-2);border-radius:10px;color:var(--text);background:var(--surface-2);font-family:inherit;font-size:16px;font-weight:800;cursor:pointer}.gr-checkpoint-options button:hover{background:#48edbe24}.gr-check-result{margin:12px 0 0;text-align:center;font-weight:700}.gr-check-result.good{color:var(--good)}.gr-check-result.bad{color:var(--bad)}.gr-interactive-finish{display:flex;flex-direction:column;gap:10px;margin-top:14px;color:var(--good);text-align:center}.gr-skip-video{display:block;margin:12px auto 0;padding:6px 8px;border:0;color:var(--text-dim);background:transparent;font-family:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ob-main{display:grid;place-items:center}.ob-card{max-width:440px;width:100%;text-align:center;align-items:center}.ob-icon{font-size:52px;line-height:1}.ob-dots{display:flex;gap:8px;justify-content:center}.ob-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-2)}.ob-dot-active{background:var(--accent-2)}.ob-card .hq-options,.ob-card .vr-input,.ob-card .hq-next{width:100%;text-align:center}.skills-band-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--surface-2);padding-top:12px}.badges-title{margin-top:20px;padding-top:16px;border-top:1px solid var(--surface-2);font-size:17px}.badges-count{font-size:13px;color:var(--text-dim);font-weight:400}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}.badge-cell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:14px 10px;background:var(--surface-2);border:1px solid transparent;border-radius:12px}.badge-icon{font-size:26px}.badge-name{font-size:13px;font-weight:700}.badge-desc{font-size:11.5px;color:var(--text-dim)}.badge-date{font-size:11px;color:var(--accent-2);margin-top:2px}.badge-locked{opacity:.55}.badge-locked .badge-icon{filter:grayscale(1)}.account-card{max-width:460px;margin:0 auto}.account-devlink{color:var(--accent-2);font-weight:600}.account-error{color:var(--bad)}.streak-risk{display:inline-block;animation:pulse 1.4s ease-in-out infinite}.tabbar{display:none}button{touch-action:manipulation;color:inherit}@media(hover:none){.card:hover:not(:disabled){transform:none}}@media(max-width:600px){.app{padding:8px 8px 0}.header{padding:10px 12px;gap:8px}.header-brand{font-size:15px}.header-xp{min-width:140px}.header-meta{font-size:13px;gap:8px}.nav{margin:8px 0}.nav-desktop{display:none}.hq-card{padding:16px}.gr-interactive-head{display:block}.gr-interactive-badge{display:inline-block;margin-top:10px}.gr-player-wrap{width:min(100%,calc((100dvh - 270px)*.5625));min-width:220px}.hq-option{padding:14px 16px}.hq-card>.hq-next{position:sticky;bottom:8px;box-shadow:0 4px 18px #00000073}.tabbar{display:flex;gap:4px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#191d33eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--surface-2);margin:0 -8px}.tabbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:inherit;font-size:11px;color:var(--text-dim);background:none;border:none;padding:4px 2px;border-radius:10px;cursor:pointer}.tabbar-icon{font-size:20px}.tabbar-active{color:var(--text);background:var(--surface-2)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-primary{font-family:inherit;font-size:15px;font-weight:700;border-radius:10px;padding:12px 16px;cursor:pointer;text-align:center;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.7;cursor:default}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.premium-upsell{background:var(--surface);border-radius:24px;padding:32px;max-width:400px;text-align:center;position:relative;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-out}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-dim);font-size:24px;cursor:pointer}.upsell-icon{font-size:48px;margin-bottom:16px}.upsell-desc{color:var(--text-dim);margin:16px 0 24px;line-height:1.5}.upsell-features{list-style:none;padding:0;margin:0 0 24px;text-align:left}.upsell-features li{margin-bottom:12px;font-weight:500}.upsell-actions{display:flex;flex-direction:column;gap:10px}.upsell-btn{width:100%;font-size:16px}.upsell-btn-year{display:flex;align-items:center;justify-content:center;gap:10px}.upsell-save{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:#00000040;white-space:nowrap}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card{position:relative}.card-badge{position:absolute;top:8px;right:8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--bad);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.ai-energy-low{color:#ffb020;cursor:pointer;font-weight:700}.energy-toast{position:fixed;left:50%;bottom:76px;transform:translate(-50%);z-index:60;background:var(--surface-2);color:var(--text);border:1px solid #ffb020;border-radius:var(--radius);padding:10px 14px;font-size:14px;cursor:pointer;box-shadow:0 6px 24px #0006}@keyframes flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.streak-flame-risk{display:inline-block;animation:flame-pulse 1.2s ease-in-out infinite}.today-streak-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#e74c3c2e,#ffb0201f);border:1px solid rgba(255,176,32,.5);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;font-size:14px}.today-streak-save{white-space:nowrap}.today{max-width:560px;margin:0 auto}.today-title{margin:0 0 10px}.today-sub,.today-loading{color:var(--text-dim);margin:0 0 14px}.today-slots{display:flex;flex-direction:column;gap:10px}.today-slot{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);padding:14px;color:var(--text);cursor:pointer}.today-slot:hover:not(:disabled){border-color:var(--accent)}.today-slot-done{opacity:.55;cursor:default}.today-slot-icon{font-size:26px}.today-slot-text{display:flex;flex-direction:column;gap:2px}.today-slot-title{font-weight:700}.today-slot-desc{color:var(--text-dim);font-size:13px}.today-done-card{text-align:center;background:var(--surface);border:1px solid var(--good);border-radius:var(--radius);padding:22px;margin-bottom:14px}.today-done-icon{font-size:40px}.check-screen{max-width:560px;margin:0 auto}.check-title{margin:0 0 8px}.check-sub,.check-note,.check-disclaimer{color:var(--text-dim);font-size:14px}.check-disclaimer{margin-top:18px;font-size:12px}.check-level{font-size:16px}.check-errors{margin:12px 0}.check-errors-title{font-weight:700}.check-cta{width:100%;margin-top:12px}.sc-box{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);padding:16px;margin-top:12px}.sc-progress{color:var(--text-dim);font-size:13px;margin-bottom:6px}.sc-prompt{font-size:17px;margin:4px 0 12px}.sc-status{margin:4px 0}.sc-notice{color:#ffb020;font-size:14px}.sc-recording{color:var(--bad);font-size:14px}.sc-actions{display:flex;align-items:center;gap:12px}.sc-mic{min-width:140px}.sc-text-toggle{background:none;border:none;color:var(--text-dim);text-decoration:underline;cursor:pointer;font-size:13px}.sc-text-row{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.sc-input{flex:1;background:var(--surface-2);color:var(--text);border:1px solid var(--surface-2);border-radius:10px;padding:10px;resize:none}.ek-mic-intro{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:10px;padding:10px 12px;margin-top:10px;font-size:14px}.ek-mic-intro-ok{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:6px 14px;cursor:pointer;white-space:nowrap}.ft-finish{margin:8px auto 0;background:var(--surface-2);color:var(--text);border:1px solid var(--accent);border-radius:10px;padding:8px 16px;cursor:pointer}.ft-summary{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f1220d9;display:flex;align-items:center;justify-content:center;z-index:30;padding:16px}.ft-chat{position:relative}.ft-summary-box{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);padding:20px;max-width:440px;width:100%;max-height:80vh;overflow-y:auto}.ft-summary-title{margin:0 0 4px}.ft-summary-stats{color:var(--text-dim);margin-bottom:12px}.ft-summary-caught{font-weight:700;margin-bottom:8px}.ft-summary-clean{color:var(--good)}.ft-summary-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.ft-summary-drill{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:700}.ft-summary-continue{background:none;border:1px solid var(--surface-2);color:var(--text-dim);border-radius:10px;padding:10px 16px;cursor:pointer}.errors-progress{background:var(--surface-2);border-radius:var(--radius);padding:14px;margin:12px 0 18px;text-align:left}.errors-progress-title{margin:0 0 8px}.errors-progress-stats{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:10px;flex-wrap:wrap}.errors-progress-list{display:flex;flex-direction:column;gap:6px}.errors-progress-item{font-size:14px}.errors-progress-item s{color:var(--text-dim)}.ft-brief-band{color:var(--text-dim);font-size:13px;margin-bottom:8px}.ft-brief-goals,.ft-brief-hints{margin:6px 0 12px 18px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;text-align:left}.ft-brief-hints{color:var(--text-dim);font-style:italic}.ft-brief-hint-title{font-size:13px;color:var(--text-dim)}.ft-brief-back{background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;margin-top:10px}.ft-band{color:var(--text-dim);font-size:12px}.ft-focus{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--surface-2);font-size:12px}.ft-focus-count{font-weight:700;color:var(--accent-2)}.ft-focus-goal{color:var(--text-dim);border:1px solid var(--surface-2);border-radius:999px;padding:2px 8px}.ft-focus-goal-done{color:var(--good);border-color:var(--good)}.ft-hints{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.ft-hint{font-size:12px;color:var(--text-dim);background:var(--surface-2);border-radius:999px;padding:3px 10px}.ft-summary-goal{font-weight:700;color:var(--accent-2);margin-bottom:8px}.hq-option.hq-correct,.fs-chip.hq-correct{animation:bump .24s cubic-bezier(.2,1.6,.4,1)}.hq-option.hq-wrong,.fs-chip.hq-wrong{animation:shake .24s ease-in-out}.ek-explain,.hq-explanation,.ek-sort-card{animation:slideUp .2s ease-out}.ek-drop-zone{transition:border-color .18s ease,background-color .18s ease}.fs-order-answer .fs-chip{animation:bump .2s cubic-bezier(.2,1.6,.4,1)}.fs-order-pool .fs-chip{transition:opacity .18s ease,transform .18s ease}.fs-order-pool .fs-chip-used{opacity:.35;transform:scale(.94)}.ek-listen-button.ek-listen-playing{animation:pulse 1.2s ease-in-out infinite}.gr-checkpoint{animation:slideUp .22s ease-out}.gr-interactive-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.gr-immersive-toggle{font-family:inherit;font-size:12px;font-weight:700;color:var(--text);background:var(--surface-2);border:1px solid transparent;border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap}.gr-immersive-toggle:hover{border-color:var(--accent)}.gr-player-wrap{position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.gr-player-pause{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:999px;border:none;background:#0f1220b3;color:#fff;font-size:15px;cursor:pointer}.gr-hold-tip{margin:0;font-size:12px;color:var(--text-dim);text-align:center}.gr-interactive-card.gr-immersive{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;max-width:none;margin:0;padding:0;border-radius:0;gap:0;background:#0f1220;-webkit-backdrop-filter:none;backdrop-filter:none;display:block;overflow:hidden}.gr-immersive .gr-player-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100%,56.25dvh);border-radius:0}.gr-immersive .gr-player-wrap>div{width:100%!important;aspect-ratio:9 / 16}.gr-immersive .gr-interactive-head{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 130px 28px 56px;background:linear-gradient(180deg,rgba(15,18,32,.85),transparent);pointer-events:none}.gr-immersive .gr-interactive-head>*{pointer-events:auto}.gr-immersive .gr-interactive-head .hq-question,.gr-immersive .gr-interactive-head p,.gr-immersive .gr-hold-tip{display:none}.gr-immersive .hq-progress{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);margin:0;line-height:38px}.gr-immersive .vr-giveup{position:absolute;top:calc(8px + env(safe-area-inset-top));left:10px;z-index:4;width:38px;height:38px;padding:0;border-radius:999px;background:#0f122099;color:#fff;font-size:0;border:none}.gr-immersive .vr-giveup:before{content:"←";font-size:19px}.gr-immersive .gr-interactive-badge,.gr-immersive .gr-player-pause{display:none}.gr-immersive .gr-interactive-actions{position:absolute;top:calc(8px + env(safe-area-inset-top));right:10px;gap:0}.gr-immersive .gr-immersive-toggle{height:38px;padding:0 14px;border:none;background:#0f122099;color:#fff}.gr-immersive .gr-checkpoint,.gr-immersive .gr-interactive-finish,.gr-immersive .gr-check-result{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;border-radius:18px 18px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0f12208c,#0f1220f2 38%)}.gr-immersive .gr-checkpoint-options button{font-size:17px;padding:14px 16px}.gr-immersive .gr-skip-video{position:absolute;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:2;font-size:12px;opacity:.75;background:none;border:none;color:#fff}.gr-immersive .gr-checkpoint~.gr-skip-video,.gr-immersive .gr-interactive-finish~.gr-skip-video{display:none}.gr-immersive .gr-player-pause{bottom:calc(20px + env(safe-area-inset-bottom))}.gr-immersive .gr-checkpoint>strong,.gr-immersive .gr-checkpoint>span{display:none}.gr-immersive .gr-checkpoint{padding-top:26px}.vocab-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.vocab-filter{background:var(--surface-2);border:1px solid transparent;color:var(--text-dim);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.vocab-filter-on{background:#7c5cff2e;border-color:var(--accent);color:var(--text)}.vocab-star{margin-left:6px;font-size:14px}.vocab-refresh{margin-left:10px;font-size:11px;font-weight:600;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:999px;padding:1px 8px}.vocab-srs-scale{display:inline-flex;gap:3px;margin-right:8px;vertical-align:middle}.vocab-srs-seg{width:14px;height:5px;border-radius:3px;background:var(--surface-2)}.vocab-srs-seg-on{background:var(--accent)}.vocab-progress{background:var(--surface-2);border-radius:var(--radius);padding:14px;margin:12px 0 18px;text-align:left}.vocab-progress-hero{font-size:15px;margin-bottom:8px}.vocab-progress-hero b{font-size:26px;color:var(--accent-2)}.vocab-progress-recent{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.vocab-progress-recent-title{font-size:13px;color:var(--text-dim);width:100%}.vocab-progress-chip{background:#7c5cff24;border-radius:999px;padding:3px 10px;font-size:13px}.pd-scene{margin:0;padding:10px 12px;background:var(--surface-2);border-left:2px solid var(--accent);border-radius:10px;color:var(--text-dim);font-size:14px;font-style:italic}.pd-heard{margin:0;color:var(--text-dim);font-size:14px}.pd-controls{display:flex;flex-direction:column;gap:10px}.pd-write{display:flex;align-items:flex-end;gap:8px}.pd-heard:empty,.pd-parts:empty{display:none}.vocab-group{margin-top:18px}.vocab-group-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 8px}.vocab-group-count{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px;letter-spacing:0}.vocab-cleanup{background:var(--surface-2);border-left:3px solid var(--accent-2);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;color:var(--text-dim)}.vocab-cleanup-ok{display:inline-block;margin-left:8px;background:none;border:0;padding:0;color:var(--accent-2);font:inherit;font-weight:700;cursor:pointer}svg.i{width:var(--icon-size, 22px);height:var(--icon-size, 22px);flex:none;stroke:currentColor;fill:none;stroke-width:var(--icon-stroke, 1.75);stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em}.ek-hint-btn svg.i{--icon-size: 18px;margin-right:2px}.fs-mic svg.i{--icon-size: 26px}.vocab-audio svg.i,.vocab-delete svg.i{--icon-size: 18px}.ft-restart svg.i{--icon-size: 14px}.ft-speak svg.i{--icon-size: 16px}.sc-text-toggle svg.i{--icon-size: 14px}.ft-mic svg.i,.ft-send svg.i{--icon-size: 20px}.btn-primary svg.i,.fs-audio-btn svg.i,.ft-finish svg.i,.hq-collect svg.i,.hq-next svg.i,.vr-giveup svg.i{--icon-size: 18px}.ek-listen-button svg.i{--icon-size: 16px}
