.reader-screen{max-width:100%;min-height:100svh;padding-bottom:380px;-webkit-user-select:none;user-select:none}.reader-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(18,15,10,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.reader-toolbar-info{flex:1 1;min-width:0}.reader-toolbar-info strong{font-size:14px;font-weight:700}.reader-toolbar-info span,.reader-toolbar-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-toolbar-info span{font-size:12px;color:var(--text-muted)}.reader-pct{font-size:13px;font-weight:800;color:var(--accent);flex-shrink:0}.reading-progress-bar{position:sticky;top:61px;z-index:9;height:2px;background:rgba(240,230,211,.06)}.reading-progress-fill{height:100%;background:var(--accent);transition:width 1.2s ease}.reader-content{max-width:680px;margin:0 auto;padding:28px 20px 0;touch-action:pan-y}.reader-text{color:var(--surface);font-family:var(--font-reading);font-size:19px;line-height:1.95;word-break:break-word}.reader-text p{margin-bottom:28px}.reader-text p.reader-lesson-heading{margin-top:40px;margin-bottom:16px;font-family:var(--font-ui);font-size:15px;font-weight:800;line-height:1.4;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);padding-bottom:8px;border-bottom:1px solid var(--border)}.reader-text p.reader-lesson-heading:first-child{margin-top:0}.reader-page-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:36px 0 64px;color:var(--text-muted);font-family:var(--font-ui);font-size:13px;font-weight:700}.text-token{display:inline;border:0;border-radius:3px;color:inherit;background:transparent;font:inherit;line-height:inherit;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.text-token:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reader-token-wrap{position:relative}.reader-anchor-marker{display:inline-grid;width:16px;height:16px;margin-left:3px;transform:translateY(2px);align-items:center;justify-content:center;border:1px solid rgba(240,192,96,.48);border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(240,192,96,.34),transparent 56%),rgba(20,18,16,.86);color:var(--accent-bright);box-shadow:0 0 0 3px rgba(212,168,71,.08),0 4px 12px rgba(0,0,0,.24);vertical-align:baseline}.reader-anchor-marker svg{width:10px;height:10px;stroke-width:2.4}.reader-anchor-marker:after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid rgba(212,168,71,.16);pointer-events:none}.text-token.hl-sentence-tok{background:linear-gradient(180deg,rgba(240,192,96,.28),rgba(212,168,71,.2));border-radius:4px;box-shadow:0 0 0 1px rgba(212,168,71,.08);color:var(--surface)}.text-token.hl-phrase{background:rgba(212,168,71,.36);border-radius:4px;padding:1px 3px}.text-token.hl-word{background:var(--hl-word);border-radius:4px;color:var(--hl-word-text);padding:1px 2px;font-weight:700}.reader-screen.audio-active .text-token.hl-phrase,.reader-screen.audio-active .text-token.hl-word{background:rgba(212,168,71,.17);border-radius:3px;color:inherit;padding:0;font-weight:inherit}.text-token.hl-drag-selection{background:rgba(106,152,196,.32);border-radius:4px;color:var(--surface);padding:1px 2px}.reader-text .karaoke-spoken{background:rgba(212,168,71,.24);border-radius:3px;color:var(--accent);text-shadow:0 0 12px rgba(212,168,71,.18)}.reader-text .reader-karaoke-current{background:rgba(212,168,71,.48);border-radius:4px;color:var(--surface)}.reader-screen.audio-active .reader-text .text-token.karaoke-spoken{background:rgba(212,168,71,.24);color:var(--accent)}.reader-screen.audio-active .reader-text .text-token.reader-karaoke-current{background:rgba(212,168,71,.5);color:var(--surface)}.reader-token-layer.is-selecting{touch-action:none;cursor:grabbing}.reader-translation{display:block;margin-top:6px;padding-left:10px;border-left:2px solid var(--border-strong);color:var(--text-muted);font-size:.88em;line-height:1.55;font-family:var(--font-ui)}.reader-toolbar .icon-btn.active{color:var(--accent);background:rgba(212,168,71,.14)}.ai-panel{position:fixed;inset:auto 0 0;z-index:30;max-height:75svh;max-width:720px;margin:0 auto;overflow-y:auto;padding:0 16px 100px;border-top:1px solid var(--border-strong);border-radius:20px 20px 0 0;background:rgba(22,19,13,.98);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 -16px 60px rgba(0,0,0,.6);animation:panel-slide-up .28s cubic-bezier(.16,1,.3,1) forwards}@keyframes panel-slide-up{0%{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}.panel-drag-area{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0 8px}.panel-handle-bar{width:34px;height:4px;border-radius:99px;background:rgba(240,230,211,.18)}.panel-close-row{display:flex;align-items:center;justify-content:space-between;width:100%}.panel-selected-word{font-size:18px;font-weight:800;color:var(--accent);letter-spacing:-.01em}.panel-tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;border-radius:var(--radius-sm);background:rgba(240,230,211,.05)}.panel-tab{flex:1 1;height:36px;border:0;border-radius:6px;color:var(--text-muted);background:transparent;font-size:13px;font-weight:700;transition:color var(--transition-fast),background var(--transition-fast)}.panel-tab.active{color:var(--text-dark);background:var(--accent)}.panel-tab:not(.active):hover{color:var(--text-primary)}.tts-provider-select{width:112px;height:30px;flex-shrink:1;min-width:76px;padding:0 6px;border:1px solid var(--border);border-radius:999px;color:var(--surface-dim);background:var(--bg-elevated);font-size:11px;font-weight:700;cursor:pointer}.tts-provider-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tts-provider-select option{color:var(--text-primary);background:var(--bg-card)}.panel-tab-content{min-height:110px}.tab-body{display:flex;flex-direction:column;gap:6px}.tab-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.tab-main-word{display:block;font-size:22px;font-weight:800;line-height:1.2}.tab-pos{display:block;margin-top:3px;font-size:13px}.tab-lemma-row,.tab-pos{color:var(--text-muted);font-weight:500}.tab-lemma-row{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px}.tab-lemma-row b{color:var(--surface-dim);font-weight:700}.tab-phrase-text{font-size:18px;font-weight:700;color:var(--accent)}.tab-phrase-text,.tab-sentence-text{margin-bottom:6px;font-family:var(--font-reading)}.tab-sentence-text{line-height:1.6}.tab-sentence-text,.tab-translation{font-size:14px;font-weight:500;color:var(--surface-dim)}.tab-translation{line-height:1.45;margin:0}.word-translation{color:var(--text-primary);font-weight:600}.tab-note{font-size:13px;color:var(--text-muted);line-height:1.55;margin:0}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.panel-action-btn{min-width:0}.shimmer-line{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,rgba(240,230,211,.05),rgba(240,230,211,.14) 50%,rgba(240,230,211,.05));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;margin-bottom:8px}.shimmer-line.short{width:50%}.shimmer-line.medium{width:75%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.audio-scrubber-overlay{position:fixed;bottom:0;z-index:40;padding:12px 16px calc(env(safe-area-inset-bottom, 16px) + 16px);background:rgba(18,15,10,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 40px rgba(0,0,0,.4);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;pointer-events:none;bottom:calc(env(safe-area-inset-bottom, 16px) + 40px);left:0;right:0;width:95%;max-width:95%;margin:0 auto;border-radius:100px;padding:8px;background:rgba(30,25,20,.95);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.5)}.audio-scrubber-overlay.hidden{transform:translateY(150px) scale(.9);opacity:0}.audio-scrubber-overlay.visible{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.audio-scrubber-content{display:flex;align-items:center;gap:12px;min-width:0}@media (max-width:400px){.audio-scrubber-content{gap:6px}}.audio-play-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:var(--text-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background .15s ease}.audio-play-btn:active{transform:scale(.92)}.audio-play-btn .play-icon{margin-left:2px}.audio-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease,color .15s ease,background .15s ease}.audio-close-btn:active{transform:scale(.92)}.audio-close-btn:hover{color:var(--text-primary);background:rgba(255,255,255,.1)}.audio-progress-container{flex:1 1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.audio-progress-bar{position:relative;height:15px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.audio-progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent);border-radius:3px;pointer-events:none}.audio-progress-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;-webkit-appearance:none}.audio-time{display:flex;align-items:center;justify-content:space-between;min-width:0;font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.audio-time>span{flex:0 0 auto}.karaoke-spoken{color:var(--accent);transition:color .1s ease-out}.karaoke-mode-fill .karaoke-spoken{background:var(--accent);color:#12100a;border-radius:3px;padding:1px 0;transition:background .1s ease-out,color .1s ease-out}@media (max-width:520px){.ai-panel{max-height:62svh}}.translation-karaoke-active{border-radius:4px;background:rgba(212,168,71,.18);color:var(--text-primary);transition:background .12s ease,color .12s ease}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:backdrop-in .2s ease forwards}.smart-add-backdrop{align-items:center;padding:16px;z-index:86}.smart-add-modal{width:min(100%,520px);max-height:min(92svh,720px);overflow-y:auto;padding:22px;border:1px solid var(--border-strong);border-radius:24px;background:linear-gradient(145deg,var(--bg-secondary),#211e17);box-shadow:0 24px 80px rgba(0,0,0,.52);animation:smart-add-in .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes smart-add-in{0%{transform:translateY(18px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.smart-add-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.smart-add-head h2{margin:3px 0 6px;font-size:23px;line-height:1.12}.smart-add-head p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.smart-add-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 18px;padding:4px;border:1px solid var(--border);border-radius:14px;background:rgba(0,0,0,.16)}.smart-add-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:800;cursor:pointer}.smart-add-tabs button.active{background:rgba(212,168,71,.18);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(212,168,71,.35)}.smart-add-label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:13px;font-weight:800}.smart-add-input-wrap{position:relative}.smart-add-input-wrap textarea{display:block;width:100%;min-height:76px;resize:vertical;padding:13px 52px 13px 14px;border:1px solid var(--border-strong);border-radius:14px;outline:0;background:rgba(0,0,0,.18);color:var(--text-primary);font:inherit;line-height:1.45}.smart-add-input-wrap textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,168,71,.12)}.smart-add-input-wrap textarea::placeholder{color:var(--text-muted);opacity:.8}.smart-add-mic{position:absolute;right:10px;top:10px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-elevated);color:var(--accent);cursor:pointer}.smart-add-mic:hover{border-color:var(--accent);background:rgba(212,168,71,.16)}.smart-add-mic.recording{color:#ef857e;border-color:#ef857e;animation:smart-mic-pulse 1.2s ease-in-out infinite}@keyframes smart-mic-pulse{50%{box-shadow:0 0 0 6px rgba(239,133,126,.12)}}.smart-add-language-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;color:var(--text-muted);font-size:11px}.smart-add-language-row span{margin-right:3px}.smart-add-language-row button,.smart-add-suggestions button{padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer}.smart-add-language-row button.active{border-color:rgba(212,168,71,.65);background:rgba(212,168,71,.12);color:var(--accent)}.smart-add-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.smart-add-suggestions button:hover{border-color:var(--accent);color:var(--accent)}.smart-add-error{margin:14px 0 0;color:#ef857e;font-size:13px;line-height:1.4}.smart-add-clarification{margin-top:14px;padding:11px 12px;border-left:2px solid var(--accent);border-radius:9px;background:rgba(212,168,71,.1);color:var(--text-primary);font-size:13px;line-height:1.45}.smart-add-clarification p{margin:4px 0 0;color:var(--surface-dim)}.smart-add-status{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:var(--accent);font-size:13px;font-weight:700}.smart-add-submit{width:100%;justify-content:center;margin-top:18px}.smart-add-footnote{display:block;margin-top:9px;color:var(--text-muted);font-size:11px;line-height:1.4;text-align:center}.smart-question-backdrop{z-index:96;align-items:center;padding:16px}.smart-question-modal{width:min(100%,440px);padding:22px;border:1px solid var(--border-strong);border-radius:22px;background:linear-gradient(145deg,#29251b,#1d1b16);box-shadow:0 24px 80px rgba(0,0,0,.62);animation:smart-add-in .2s cubic-bezier(.16,1,.3,1) forwards}.smart-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.smart-question-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.smart-question-modal h3{margin:18px 0 8px;color:var(--text-primary);font-size:22px;line-height:1.15}.smart-question-text{margin:0 0 18px;color:var(--surface-dim);font-size:14px;line-height:1.55}.smart-question-input-wrap{position:relative}.smart-question-input-wrap textarea{display:block;width:100%;min-height:92px;resize:vertical;padding:13px 52px 13px 14px;border:1px solid var(--border-strong);border-radius:14px;outline:0;background:rgba(0,0,0,.2);color:var(--text-primary);font:inherit;line-height:1.45}.smart-question-input-wrap textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,168,71,.12)}.smart-question-input-wrap textarea::placeholder{color:var(--text-muted);opacity:.8}.spin{animation:smart-spin .9s linear infinite}@keyframes smart-spin{to{transform:rotate(1turn)}}@media (max-width:460px){.smart-add-backdrop{align-items:flex-end;padding:0}.smart-add-modal{max-height:92svh;border-radius:22px 22px 0 0;padding:20px 16px 28px}.smart-question-backdrop{align-items:flex-end;padding:0}.smart-question-modal{width:100%;border-radius:22px 22px 0 0;padding:20px 16px 28px}.dictionary-view .add-words-fab{bottom:136px}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.word-modal{width:min(100%,580px);max-height:92svh;overflow-y:auto;padding:16px 18px 48px;border-top:1px solid var(--border-strong);border-radius:20px 20px 0 0;background:var(--bg-secondary);animation:modal-slide-up .28s cubic-bezier(.16,1,.3,1) forwards}.word-modal-backdrop{z-index:72}@keyframes modal-slide-up{0%{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-top-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px}.word-modal .modal-top-bar{position:sticky;top:0;z-index:10;margin:-16px -18px 6px;padding:12px 18px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.word-modal .modal-top-bar .speak-btn,.word-modal .modal-top-bar .word-discuss-btn{width:42px;height:42px}.word-modal .example-item .example-discuss-btn,.word-modal .example-item .speak-btn{width:40px;height:40px}.word-hero{margin:16px 0 20px}.word-hero-lemma{font-size:38px;font-weight:900;color:var(--accent);letter-spacing:-.01em;line-height:1.05;overflow-wrap:anywhere}.word-hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.word-lemma-line{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(240,230,211,.05);color:var(--text-muted);font-size:12px}.word-lemma-line strong{color:var(--surface-dim);font-size:13px}.lemma-add-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;padding:0;border:1px solid rgba(212,168,71,.3);border-radius:6px;background:rgba(212,168,71,.14);color:var(--accent);cursor:pointer;transition:background var(--transition-fast)}.lemma-add-btn:hover{background:rgba(212,168,71,.28)}.lemma-add-btn:active{transform:scale(.94)}.word-meta-chip{display:inline-block;padding:4px 12px;border-radius:99px;border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--text-muted);background:var(--bg-elevated)}.word-meta-chip.gender{color:var(--accent);border-color:rgba(212,168,71,.4);background:rgba(212,168,71,.08)}.word-meta-chip.article{font-weight:800;border-color:currentColor;background:rgba(255,255,255,.04)}.word-meta-chip.article.gender-m{color:#6ea8e0}.word-meta-chip.article.gender-f{color:#e08aa8}.word-meta-chip.article.gender-n{color:#7fc9a0}.word-meta-chip.level{color:var(--green);border-color:rgba(122,171,106,.45);background:rgba(122,171,106,.1);letter-spacing:.04em}.modal-section{margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.modal-section-label{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.modal-translation{font-size:18px;font-weight:700;margin-bottom:6px}.modal-explanation{font-size:13px;color:var(--surface-dim);line-height:1.6}.example-item,.examples-list{display:flex;flex-direction:column;gap:8px}.example-item{align-items:stretch;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(240,230,211,.04);font-size:14px;color:var(--surface);line-height:1.55;font-family:var(--font-reading)}.example-main{display:flex;align-items:flex-start;gap:8px;width:100%}.example-text{min-width:0}.example-copy{flex:1 1;min-width:0}.example-main>.icon-btn{flex-shrink:0}.example-translation{margin-top:-2px;color:rgba(240,230,211,.45);font-size:13px;font-style:italic;line-height:1.4}.example-num{flex-shrink:0;color:var(--accent);font-weight:700}.action-list{display:flex;flex-direction:column;gap:0;margin-top:14px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.action-list-btn{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:0;border-top:1px solid var(--border);color:var(--text-primary);background:var(--bg-elevated);font-size:14px;font-weight:600;text-align:left;transition:background var(--transition-fast)}.action-list-btn:first-child{border-top:0}.action-list-btn:hover{background:var(--bg-card)}.word-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;font-size:12px;color:var(--text-muted)}.word-details-grid span{padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(240,230,211,.04)}.word-details-grid.verb-forms{grid-template-columns:repeat(3,minmax(0,1fr))}.word-details-grid.verb-forms b{overflow-wrap:anywhere}.word-details-grid b{display:block;margin-top:2px;color:var(--surface)}.grammar-open-btn{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:14px;padding:14px 16px;border:1px solid rgba(212,168,71,.4);border-radius:var(--radius-md);background:rgba(212,168,71,.08);color:var(--accent);font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.grammar-open-btn:hover{background:rgba(212,168,71,.16)}.grammar-open-btn:active{transform:scale(.99)}.grammar-modal-backdrop{z-index:84;align-items:flex-end}.grammar-modal{width:min(100%,580px);max-height:92svh;overflow-y:auto;padding:0 18px 40px;border-top:1px solid var(--border-strong);border-radius:20px 20px 0 0;background:var(--bg-secondary);animation:modal-slide-up .28s cubic-bezier(.16,1,.3,1) forwards}@media (min-width:640px){.grammar-modal.grammar-modal-wide{width:fit-content;max-width:80vw}}.grammar-modal-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;margin:0 -18px 4px;padding:12px 18px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.grammar-modal-title{display:flex;flex-direction:column;line-height:1.15;min-width:0}.grammar-modal-title strong{font-size:16px;color:var(--surface);overflow-wrap:anywhere}.grammar-modal-eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.grammar-modal-bar .speak-btn{margin-left:auto;flex-shrink:0}.grammar-body{padding:14px 0 0}.grammar-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.grammar-segment{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:99px;background:var(--bg-card)}.grammar-segment-btn{padding:5px 14px;border:0;border-radius:99px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.grammar-segment-btn:disabled{cursor:default}.grammar-segment-btn.active{color:var(--accent);background:rgba(212,168,71,.16)}.grammar-lang-globe{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:99px;background:var(--bg-card);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:color var(--transition-fast)}.grammar-lang-globe:hover{color:var(--surface)}.grammar-lang-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.grammar-gender-badge{display:inline-block;margin-bottom:12px;padding:4px 14px;border-radius:99px;font-size:13px;font-weight:800;border:1px solid}.grammar-gender-badge.g-m{color:#6ea8fe;border-color:rgba(110,168,254,.5);background:rgba(110,168,254,.12)}.grammar-gender-badge.g-f{color:#f08aa6;border-color:rgba(240,138,166,.5);background:rgba(240,138,166,.12)}.grammar-gender-badge.g-n{color:#6bd6a6;border-color:rgba(107,214,166,.5);background:rgba(107,214,166,.12)}.grammar-gender-badge.g-pl{color:var(--text-muted);border-color:var(--border);background:var(--bg-card)}.grammar-cell-pronoun.art-m{color:#6ea8fe}.grammar-cell-pronoun.art-f{color:#f08aa6}.grammar-cell-pronoun.art-n{color:#6bd6a6}.grammar-lang-chip{padding:5px 12px;border-radius:99px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.grammar-lang-chip:hover{color:var(--surface)}.grammar-lang-chip.active{color:var(--accent);border-color:rgba(212,168,71,.5);background:rgba(212,168,71,.12)}.grammar-warning{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(212,168,71,.4);border-radius:var(--radius-sm);background:rgba(212,168,71,.08);color:var(--accent);font-size:13px;line-height:1.45}.grammar-warning svg{flex-shrink:0;margin-top:1px}.grammar-error,.grammar-loading{display:flex;align-items:center;gap:10px;padding:14px 4px;color:var(--text-muted);font-size:13px}.grammar-error{justify-content:space-between;color:var(--surface-dim)}.grammar-skeleton{display:flex;flex-direction:column;gap:18px;padding-top:2px}.grammar-skeleton-block{display:block;flex-shrink:0;border-radius:5px;background:linear-gradient(100deg,rgba(240,230,211,.08) 20%,rgba(240,230,211,.18) 42%,rgba(240,230,211,.08) 64%);background-size:220% 100%;animation:grammar-skeleton-shimmer 1.35s ease-in-out infinite}.grammar-skeleton-section{display:flex;flex-direction:column;gap:8px}.grammar-skeleton-section-head{display:flex;align-items:center;gap:8px;padding:0 2px}.grammar-skeleton-section-title{width:92px;height:11px}.grammar-skeleton-section-caption{width:72px;height:10px;opacity:.65}.grammar-skeleton-list{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm)}.grammar-skeleton-list-row{display:flex;align-items:center;gap:10px;min-height:43px;padding:9px 12px;border-top:1px solid var(--border)}.grammar-skeleton-list-row:first-child{border-top:0}.grammar-skeleton-label{width:58px;height:10px}.grammar-skeleton-form{width:38%;max-width:180px;height:15px}.grammar-skeleton-icon{width:16px;height:16px;margin-left:auto;border-radius:50%;opacity:.7}.grammar-skeleton-matrix{min-width:700px;gap:6px}.grammar-skeleton-matrix-head,.grammar-skeleton-matrix-row{display:grid;grid-template-columns:72px repeat(3,minmax(210px,1fr));gap:6px}.grammar-skeleton-matrix-head{align-items:center;min-height:24px}.grammar-skeleton-corner{width:48px;height:9px}.grammar-skeleton-heading{width:70px;height:10px;justify-self:center}.grammar-skeleton-row-label{width:56px;height:10px;align-self:start;margin-top:12px}.grammar-skeleton-card{display:flex;flex-direction:column;gap:8px;min-height:122px;padding:13px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(240,230,211,.03)}.grammar-skeleton-line{width:76%;height:14px}.grammar-skeleton-line.wide{width:92%}.grammar-skeleton-line.short{width:48%;height:10px;opacity:.7}@keyframes grammar-skeleton-shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}@media (prefers-reduced-motion:reduce){.grammar-skeleton-block{animation:none}}.grammar-retry{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.grammar-section{margin-top:14px}.grammar-section:first-of-type{margin-top:0}.grammar-section-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.grammar-section-head .speak-btn{margin-left:auto;flex-shrink:0}.grammar-section-title{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.grammar-section-caption{font-size:12px;color:var(--text-muted)}.grammar-cells{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.grammar-cell{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--border);background:rgba(240,230,211,.03)}.grammar-cell:first-child{border-top:0}.grammar-cell-label{flex:0 0 auto;min-width:64px;max-width:46%;font-size:12px;color:var(--text-muted);line-height:1.3}.grammar-cell-form{flex:1 1 auto;min-width:0;font-size:15px;color:var(--surface);font-family:var(--font-reading);overflow-wrap:normal;word-break:normal}.grammar-cell-form b{color:var(--surface);font-weight:700}.grammar-cell-pronoun{color:var(--text-muted);font-weight:400}.grammar-cell .speak-btn{flex-shrink:0}.petrov-line{display:flex;align-items:center;gap:8px}.petrov-text{flex:1 1;min-width:0;line-height:1.2}.petrov-form{font-size:15px;color:var(--surface);font-family:var(--font-reading);overflow-wrap:normal}.petrov-native{font-size:11px;color:var(--text-muted);margin-top:1px}.petrov-line .speak-btn{flex-shrink:0}.grammar-cells .petrov-line{border-top:1px solid var(--border);padding:9px 12px}.grammar-cells .petrov-line:first-child{border-top:0}.petrov-scroll{overflow-x:auto;margin:4px -2px 0;padding-bottom:8px;-webkit-overflow-scrolling:touch}.petrov-grid{display:grid;gap:6px;min-width:700px}.petrov-col-head{align-self:center;text-align:center;letter-spacing:.06em;padding:4px}.petrov-col-head,.petrov-row-head{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--accent)}.petrov-row-head{display:flex;align-items:center;letter-spacing:.03em;line-height:1.2}.petrov-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(240,230,211,.03);padding:2px 8px;display:flex;flex-direction:column}.petrov-cell .petrov-line{border-top:1px solid var(--border);padding:7px 0}.petrov-cell .petrov-line:first-child{border-top:0}.petrov-cell .petrov-form{font-size:14px}.petrov-row-head-alt{color:var(--blue)}.petrov-cell-alt{border-color:rgba(106,152,196,.3);background:rgba(106,152,196,.05)}.discuss-backdrop{z-index:55;background:rgba(0,0,0,.78)}.discuss-modal{width:min(100%,720px);height:min(88svh,780px);display:flex;flex-direction:column;font-family:var(--font-ui);font-size:13px;border-top:1px solid var(--border-strong);border-radius:18px 18px 0 0;background:linear-gradient(180deg,rgba(36,30,20,.98),rgba(22,18,12,.98)),var(--bg-secondary);box-shadow:0 -24px 80px rgba(0,0,0,.42);animation:modal-slide-up .28s cubic-bezier(.16,1,.3,1) forwards}.discuss-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.discuss-header>div{flex:1 1;min-width:0}.discuss-header .icon-btn{flex-shrink:0}.discuss-header span{display:block;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:0}.discuss-header strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-width:100%;overflow:hidden;color:var(--surface);overflow-wrap:anywhere;white-space:normal;font-size:13px;font-weight:600;line-height:1.3}.discuss-messages{flex:1 1;overflow-y:auto;padding:16px 14px 18px}.discuss-empty{margin:18px auto;max-width:420px;color:var(--text-muted);text-align:center;font-size:13px;line-height:1.45}.discuss-row{display:flex;margin-bottom:10px}.discuss-row.user{justify-content:flex-end}.discuss-bubble{max-width:86%;padding:10px 12px;border:1px solid rgba(240,230,211,.07);border-radius:14px;background:rgba(240,230,211,.055);color:var(--surface);font-size:13px;font-weight:500;line-height:1.5;white-space:pre-wrap}.discuss-row.user .discuss-bubble{border-bottom-right-radius:6px;background:var(--accent);color:var(--text-dark);font-weight:600}.discuss-row.model .discuss-bubble{border-bottom-left-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.14)}.discuss-bubble.typing{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted)}.discuss-content-parts{display:block}.discuss-learning-part{display:flex;max-width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin:4px 0;padding:5px 8px;border:1px solid rgba(212,168,71,.22);border-radius:8px;background:rgba(212,168,71,.12);color:var(--accent);font-size:12px;font-weight:600;line-height:1.3}.discuss-learning-content{display:flex;flex:1 1;min-width:0;flex-direction:column;align-items:flex-start;gap:3px}.discuss-learning-part{align-items:stretch;gap:8px}.discuss-learning-actions{display:flex;align-items:stretch;flex:0 0 auto;gap:4px}.discuss-learning-actions>.discuss-example-btn,.discuss-learning-actions>.speak-btn{display:flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:auto;min-height:44px;margin:0;padding:0;border:1px solid rgba(212,168,71,.3);border-radius:8px;background:rgba(212,168,71,.16);color:var(--accent);cursor:pointer}.quick-word-preview{position:fixed;z-index:2147483000;box-sizing:border-box;width:max-content;max-width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;padding:12px 14px;border:1px solid var(--accent);border-radius:12px;background:#242014;color:var(--surface);box-shadow:0 8px 32px #0008;font-size:13px;line-height:1.5;overflow-wrap:anywhere;pointer-events:none}.quick-word-preview strong{display:block;color:var(--accent);font-size:14px;line-height:1.3}.quick-word-preview-translation{margin-top:2px;color:var(--text-primary);font-weight:600}.quick-word-preview small{display:block;margin-top:4px;color:var(--text-muted);font-weight:500}.discuss-learning-main{display:inline-flex;max-width:100%;align-items:center;gap:4px}.discuss-learning-text{min-width:0;overflow-wrap:anywhere}.discuss-learning-translation{color:rgba(240,230,211,.68);font-size:11px;font-weight:500;line-height:1.25}.discuss-clickable-word{cursor:pointer}.discuss-clickable-word:hover{background:rgba(255,255,255,.12);border-radius:3px}.discuss-input{display:grid;grid-template-columns:1fr auto auto;gap:6px;padding:10px 12px 12px;border-top:1px solid var(--border);background:rgba(18,15,10,.92)}.discuss-actions{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none}.discuss-actions::-webkit-scrollbar{display:none}.discuss-input .discuss-actions button{width:auto;min-width:max-content;height:30px;padding:0 11px;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(212,168,71,.34);border-radius:15px;background:rgba(212,168,71,.14);color:var(--accent);font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast)}.discuss-input .discuss-actions button:hover{border-color:rgba(212,168,71,.58);background:rgba(212,168,71,.22)}.discuss-input .discuss-actions button svg{flex-shrink:0;opacity:.8}.discuss-quick-prompts{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none}.discuss-quick-prompts::-webkit-scrollbar{display:none}.discuss-input .discuss-quick-prompts button{width:auto;min-width:max-content;height:28px;padding:0 11px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(240,230,211,.14);border-radius:14px;background:rgba(240,230,211,.05);color:rgba(240,230,211,.72);font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:0;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.discuss-input .discuss-quick-prompts button:hover:not(:disabled){border-color:rgba(240,230,211,.26);background:rgba(240,230,211,.09);color:var(--surface)}.discuss-input .discuss-quick-prompts button:disabled{opacity:.45}.discuss-input input{flex:1 1;min-width:0;height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;font-weight:500}.discuss-input input::placeholder{color:rgba(240,230,211,.42);font-weight:400}.discuss-input button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-dark)}.discuss-input>button{width:42px;padding:0}.discuss-input button.listening{background:var(--red);color:white}.discuss-input button:disabled{opacity:.45}.discuss-dictation-status{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;color:rgba(240,230,211,.24);font-size:10px;line-height:1.2;text-align:center;letter-spacing:.01em}.discuss-input .discuss-dictation-status button{width:auto;min-height:42px;flex-shrink:0;padding:0 10px;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.discuss-dictation-error{grid-column:1/-1;color:var(--red);font-size:12px}.discuss-quote-bar{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:6px 10px;border-left:3px solid var(--accent);border-radius:0 6px 6px 0;background:rgba(212,168,71,.08);font-size:12px;color:rgba(240,230,211,.65);line-height:1.3}.discuss-quote-bar span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discuss-quote-bar button{flex-shrink:0;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(240,230,211,.45);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.discuss-quote-bar button:hover{color:var(--surface)}.discuss-bubble.model-selectable{user-select:text;-webkit-user-select:text}.discuss-quote-action{display:none;position:absolute;top:-28px;left:50%;transform:translateX(-50%);padding:3px 8px;border:1px solid rgba(240,230,211,.12);border-radius:6px;background:rgba(30,25,17,.95);color:rgba(240,230,211,.72);font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer;z-index:10}.discuss-row.model{position:relative}.discuss-bubble-quote-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin-left:4px;border:0;border-radius:4px;background:transparent;color:rgba(240,230,211,.25);cursor:pointer;vertical-align:middle;transition:color var(--transition-fast),background var(--transition-fast)}.discuss-bubble-quote-btn:hover{color:rgba(240,230,211,.6);background:rgba(240,230,211,.06)}.discuss-add-example-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;align-self:center;padding:0;border:1px solid rgba(212,168,71,.3);border-radius:8px;background:rgba(212,168,71,.16);color:var(--accent);cursor:pointer;vertical-align:middle;transition:background var(--transition-fast)}.discuss-add-example-btn:hover{background:rgba(212,168,71,.28)}.discuss-add-example-btn:active{transform:scale(.94)}.discuss-example-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;padding:0;border:1px solid rgba(212,168,71,.3);border-radius:8px;background:rgba(212,168,71,.16);color:var(--accent);cursor:pointer}.discuss-example-btn:hover{background:rgba(212,168,71,.28)}.api-error-modal{width:min(100%,400px);padding:0;border-top:1px solid var(--border-strong);border-radius:18px 18px 0 0;background:linear-gradient(180deg,rgba(36,30,20,.98),rgba(22,18,12,.98)),var(--bg-secondary);box-shadow:0 -24px 80px rgba(0,0,0,.42);animation:modal-slide-up .28s cubic-bezier(.16,1,.3,1) forwards;overflow:hidden}.api-error-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.api-error-header span{color:var(--red,#e54);font-size:13px;font-weight:700}.api-error-body{padding:20px 16px}.api-error-body p{color:var(--surface-dim,rgba(240,230,211,.72));font-size:13px;line-height:1.5}.api-error-footer{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}.livechat-fab{color:var(--accent);background:rgba(212,168,71,.14);border:1px solid rgba(212,168,71,.3)}.livechat-fab:hover{background:rgba(212,168,71,.24)}.livechat-backdrop{z-index:60;background:rgba(0,0,0,.82)}.livechat-modal{width:min(100%,480px);height:min(92svh,800px);display:flex;flex-direction:column;font-family:var(--font-ui);border-radius:20px 20px 0 0;background:linear-gradient(180deg,rgba(36,30,20,.98),rgba(16,13,9,.99));box-shadow:0 -24px 80px rgba(0,0,0,.5);animation:modal-slide-up .28s cubic-bezier(.16,1,.3,1) forwards;overflow:hidden}.livechat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0;color:var(--text-primary);font-size:13px;font-weight:700}.livechat-header-actions{display:flex;align-items:center;gap:4px}.livechat-mode-toggle{display:flex;gap:6px;padding:10px 16px 0;flex-shrink:0}.livechat-mode-btn{flex:1 1;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.livechat-mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-dark)}.livechat-body{align-items:center;padding:12px 18px;overflow:hidden}.livechat-body,.livechat-scenario-picker{flex:1 1;display:flex;flex-direction:column;min-height:0}.livechat-scenario-picker{padding:24px 18px;overflow-y:auto}.livechat-scenario-intro{color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:16px;text-align:center}.livechat-scenario-loading{display:flex;align-items:center;justify-content:center;gap:8px;margin:auto;color:var(--text-muted);font-size:13px}.livechat-scenario-list{display:flex;flex-direction:column;gap:10px}.livechat-scenario-btn{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(240,230,211,.05);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.livechat-scenario-btn:hover{background:rgba(212,168,71,.1);border-color:rgba(212,168,71,.35)}.livechat-scenario-btn strong{font-size:13px;font-weight:700}.livechat-scenario-btn span{font-size:12px;color:var(--text-muted)}.livechat-status-row{gap:8px;margin-bottom:10px}.livechat-orb,.livechat-status-row{display:flex;align-items:center;flex-shrink:0}.livechat-orb{justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--accent);background:rgba(212,168,71,.12);border:1px solid rgba(212,168,71,.3);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.livechat-orb.listening{background:rgba(107,214,166,.14);border-color:rgba(107,214,166,.4);color:var(--green);box-shadow:0 0 0 4px rgba(107,214,166,.08)}.livechat-orb.speaking{background:rgba(212,168,71,.2);border-color:rgba(212,168,71,.5);box-shadow:0 0 0 4px rgba(212,168,71,.1);animation:livechat-pulse 1.4s ease-in-out infinite}.livechat-orb.error{background:rgba(229,68,68,.12);border-color:rgba(229,68,68,.4);color:var(--red,#e54)}.livechat-orb.closed{opacity:.5}@keyframes livechat-pulse{0%,to{box-shadow:0 0 0 4px rgba(212,168,71,.1)}50%{box-shadow:0 0 0 7px rgba(212,168,71,.04)}}.livechat-status{color:var(--text-primary);font-size:13px;font-weight:700}.livechat-error{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(229,68,68,.3);border-radius:var(--radius-md);background:rgba(229,68,68,.08);text-align:center}.livechat-error p{color:var(--surface-dim);font-size:13px;line-height:1.5}.livechat-transcript{width:100%;flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.livechat-empty{margin:auto;max-width:320px;color:var(--text-muted);text-align:center;font-size:13px;line-height:1.5}.livechat-line{max-width:88%;padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap}.livechat-line.user{align-self:flex-end;border-bottom-right-radius:6px;background:var(--accent);color:var(--text-dark);font-weight:600}.livechat-line.model{position:relative;align-self:flex-start;border-bottom-left-radius:6px;background:rgba(240,230,211,.07);color:var(--surface);padding-right:30px}.livechat-line-text{display:inline}.livechat-clickable-word{cursor:pointer;border-radius:3px;transition:background var(--transition-fast)}.livechat-clickable-word:focus-visible,.livechat-clickable-word:hover{background:rgba(212,168,71,.25);outline:none}.livechat-replay-btn{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.18);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.livechat-replay-btn:hover{background:rgba(0,0,0,.3);color:var(--text-primary)}.livechat-replay-btn.active{background:var(--accent);color:var(--text-dark)}.livechat-line.pending{opacity:.7}.livechat-line-wrap{display:flex;flex-direction:column;gap:4px;max-width:88%}.livechat-line-wrap.user{align-self:flex-end}.livechat-line-wrap.model{align-self:flex-start}.livechat-line-wrap .livechat-line{max-width:100%}.livechat-translation{display:block;align-self:flex-start;width:100%;max-width:100%;padding:7px 10px;border:0;border-radius:10px;background:rgba(240,230,211,.04);font:inherit;text-align:left;cursor:pointer;overflow:hidden;appearance:none;-webkit-appearance:none}.livechat-translation span{display:block;color:var(--text-muted);font-size:12px;line-height:1.4;white-space:pre-wrap}.livechat-translation span.blurred{filter:blur(4px);-webkit-user-select:none;user-select:none}.livechat-translation span.revealed{filter:none;color:var(--text-primary)}.livechat-suggestions{display:flex;flex-direction:column;gap:8px;width:100%;flex-shrink:0;min-height:0;padding-top:10px}.livechat-suggestions-toggle{width:100%;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.livechat-suggestions-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.livechat-suggestions-list{display:flex;flex-direction:row;gap:8px;width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;-webkit-overflow-scrolling:touch}.livechat-suggestion-btn{display:flex;flex-direction:column;gap:2px;flex:0 0 auto;width:max-content;max-width:90vw;padding:8px 12px;border:1px solid rgba(212,168,71,.21);border-radius:12px;background:rgba(212,168,71,.07);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.livechat-suggestion-btn:hover{background:rgba(212,168,71,.14)}.livechat-suggestion-text{font-size:13px;font-weight:700}.livechat-suggestion-text,.livechat-suggestion-translation{display:block;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80vw}.livechat-suggestion-translation{font-size:11px;color:var(--text-muted)}.livechat-suggestions-hide{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:0;border-radius:50%;background:rgba(240,230,211,.08);color:var(--text-muted);cursor:pointer}.livechat-text-form{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 18px;border-top:1px solid var(--border)}.livechat-text-input{flex:1 1;min-width:0;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:20px;background:rgba(240,230,211,.06);color:var(--text-primary);font:inherit;font-size:14px}.livechat-text-input:focus{outline:none;border-color:var(--accent)}.livechat-text-input:disabled{opacity:.4}.livechat-text-input::placeholder{color:var(--text-muted)}.livechat-text-send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:0;border-radius:50%;background:var(--accent);color:#1a1410;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.livechat-text-send:disabled{opacity:.35;cursor:default}.livechat-text-send:active:not(:disabled){transform:scale(.92)}.livechat-controls{display:flex;align-items:center;justify-content:center;gap:22px;flex-shrink:0;padding:16px 18px 24px;border-top:1px solid var(--border)}.livechat-end-btn,.livechat-mute-btn,.livechat-slower-btn{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;border:0;border-radius:50%;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.livechat-slower-btn{width:44px;height:44px;background:rgba(240,230,211,.08);color:var(--text-primary)}.livechat-slower-btn:hover:not(:disabled){background:rgba(240,230,211,.14)}.livechat-slower-btn:disabled{opacity:.4;cursor:default}.livechat-mute-btn{background:rgba(240,230,211,.08);color:var(--text-primary)}.livechat-mute-btn:hover:not(:disabled){background:rgba(240,230,211,.14)}.livechat-mute-btn:disabled{opacity:.4;cursor:default}.livechat-mute-btn.active{background:rgba(229,68,68,.16);color:var(--red,#e54)}.livechat-end-btn{width:60px;height:60px;background:var(--red,#e54);color:white}.livechat-end-btn:hover{background:#d33}.livechat-end-btn:active{transform:scale(.95)}.livechat-meter{margin-left:auto;margin-right:8px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.reverse-word-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.reverse-word-native{margin:16px 0 14px;font-size:26px;font-weight:900;line-height:1.15;color:var(--text-primary);overflow-wrap:anywhere}.reverse-word-loading{display:flex;align-items:center;gap:8px;padding:14px 0;font-weight:700}.reverse-word-empty,.reverse-word-loading{font-size:13px;color:var(--text-muted)}.reverse-word-option{margin-bottom:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.reverse-word-option.primary{border-color:rgba(212,168,71,.4);background:rgba(212,168,71,.07)}.reverse-word-head{display:flex;align-items:center;gap:8px;min-width:0}.reverse-word-target{flex:1 1;min-width:0;font-size:19px;font-weight:850;color:var(--accent);overflow-wrap:anywhere}.reverse-word-add{flex-shrink:0}.reverse-word-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:11px;font-weight:700;color:var(--text-muted)}.reverse-word-note{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--text-primary);opacity:.78}.reverse-word-section{margin:18px 0 8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.reverse-word-example{padding:9px 0;border-top:1px solid var(--border)}.reverse-word-example-main{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700}.reverse-word-example-translation{display:block;margin-top:3px;font-size:12px;color:var(--text-muted)}.keys-modal-title{font-size:15px;font-weight:850}.keys-modal-intro{margin:12px 0 0;font-size:12px;color:var(--text-muted)}.keys-modal-section{margin:20px 0 8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.keys-modal-hint{margin:-4px 0 10px;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.keys-modal-rows{display:flex;flex-direction:column;gap:8px}.keys-modal-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.keys-modal-keys{display:flex;flex-shrink:0;gap:4px}.keys-modal-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:12px;font-weight:800;line-height:1}.keys-modal-copy{display:flex;min-width:0;flex-direction:column;gap:1px}.keys-modal-copy strong{font-size:13px;font-weight:750}.keys-modal-copy small{font-size:11px;color:var(--text-muted)}.discuss-key{display:none}@media (hover:hover) and (pointer:fine){.discuss-key{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;margin-right:5px;padding:0 3px;border:1px solid var(--border-strong);border-radius:4px;background:rgba(240,230,211,.06);color:var(--text-muted);font-family:inherit;font-size:9px;font-weight:800;line-height:1}}.source-picker-title{font-size:15px;font-weight:850}.source-picker-search{display:flex;align-items:center;gap:8px;margin:14px 0 10px;padding:0 12px;height:40px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text-muted)}.source-picker-search input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:14px;outline:none}.source-picker-search button{display:inline-grid;place-items:center;width:22px;height:22px;border:none;border-radius:50%;background:rgba(240,230,211,.08);color:var(--text-muted)}.source-picker-section{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.source-picker-section button{border:none;background:transparent;color:var(--accent);font:inherit;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.source-row-wrap{display:flex;align-items:stretch;gap:6px;margin-bottom:6px}.source-row{display:flex;flex:1 1;align-items:center;gap:9px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);text-align:left;cursor:pointer;transition:all .16s ease}.source-row:hover{border-color:var(--border-strong)}.source-row.selected{border-color:var(--accent);color:var(--accent);background:rgba(212,168,71,.08)}.source-row-all{width:100%;margin-bottom:4px}.source-row-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700}.source-row-count{flex-shrink:0;font-size:12px;font-weight:800;color:var(--text-muted)}.source-row-check{flex-shrink:0}.source-row-eye{display:inline-grid;place-items:center;width:42px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-muted);transition:all .16s ease}.source-row-eye:hover{border-color:var(--border-strong);color:var(--text-primary)}.source-row-eye.off{border-color:rgba(196,106,106,.45);color:var(--red)}.source-row-wrap.excluded .source-row{opacity:.55}.source-row-wrap.excluded .source-row-title{text-decoration:line-through}.source-picker-empty{padding:10px 2px;font-size:13px;color:var(--text-muted)}.source-picker-more{width:100%;margin-top:4px}.source-picker-hint{margin-top:14px;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.audio-player-card{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;flex-direction:column;gap:12px}.audio-player-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.audio-chapter-info{display:flex;flex-direction:column;gap:2px;min-width:0}.audio-chapter-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.audio-chapter-title{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-progress-row{display:flex;align-items:center;gap:10px}.audio-time-label{font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:36px}.audio-seek-slider{flex:1 1;height:6px;border-radius:99px;background:rgba(240,230,211,.1);accent-color:var(--accent);cursor:pointer}.audio-controls-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.audio-main-controls{display:flex;align-items:center;gap:10px}.audio-btn-play{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--accent);color:#141210;border:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.audio-btn-play:hover:not(:disabled){transform:scale(1.05);background:#e5b958}.audio-btn-play:disabled{opacity:.6;cursor:not-allowed}.audio-btn-control{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:transparent;border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.audio-btn-control:hover:not(:disabled){background:rgba(240,230,211,.07);border-color:var(--border-strong)}.audio-btn-control:disabled{opacity:.35;cursor:not-allowed}.audio-speed-btn{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-muted);font-size:11px;font-weight:800;cursor:pointer;transition:all .15s ease}.audio-speed-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.audio-btn-ghost{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.audio-btn-ghost.active,.audio-btn-ghost:hover{color:var(--accent)}.audio-chapters-drawer{margin-top:8px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.audio-chapters-drawer-title{font-size:12px;color:var(--text-muted);font-weight:700}.audio-chapters-scroll{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.audio-chapter-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-primary);text-align:left;font-size:12.5px;cursor:pointer;transition:background-color .12s ease}.audio-chapter-item:hover{background:rgba(240,230,211,.07)}.audio-chapter-item.active{background:rgba(212,168,71,.15);border-color:var(--accent);color:var(--accent);font-weight:700}.audio-chapter-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:20px}.audio-chapter-name{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-chapter-dur{font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.read-along-backdrop{position:fixed;inset:0;z-index:75;display:flex;align-items:center;justify-content:center;background:rgba(10,8,5,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px;animation:backdrop-in .2s ease forwards}.read-along-modal{position:relative;width:100%;max-width:720px;height:94svh;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.65);animation:modal-slide-up .25s cubic-bezier(.16,1,.3,1) forwards}.read-along-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0}.read-along-title-block{min-width:0;flex:1 1}.read-along-title-block strong{font-size:15px;font-weight:700;color:var(--text-primary)}.read-along-title-block span,.read-along-title-block strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.read-along-title-block span{font-size:12px;color:var(--text-muted)}.read-along-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.read-along-autoscroll-btn{padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.read-along-autoscroll-btn.active{background:rgba(212,168,71,.15);border-color:var(--accent);color:var(--accent)}.read-along-player-bar{padding:14px 20px 16px;background:var(--bg-primary,#141210);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;flex-shrink:0;box-shadow:0 4px 16px rgba(0,0,0,.4);z-index:10}.read-along-content{flex:1 1;overflow-y:auto;padding:24px 24px 80px;font-family:var(--font-serif,Georgia,Cambria,serif);font-size:19px;line-height:1.85;color:var(--text-primary);scroll-behavior:smooth}.read-along-segment{margin-bottom:16px;border-radius:12px;border-left:3px solid transparent;transition:all .2s ease}.read-along-segment.active{background:rgba(212,168,71,.12);border-left-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.18)}.read-along-segment{margin-bottom:12px;padding:10px 14px;border-radius:10px;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease;position:relative}.read-along-segment.active{background:rgba(212,168,71,.05);border:1px solid rgba(212,168,71,.18);box-shadow:0 2px 10px rgba(0,0,0,.12)}.read-along-time-chip{display:inline-flex;align-items:center;gap:4px;margin-right:8px;padding:2px 6px;border-radius:4px;background:rgba(240,230,211,.06);border:1px solid var(--border);color:var(--accent);font-family:var(--font-sans,system-ui,sans-serif);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;vertical-align:middle;-webkit-user-select:none;user-select:none;transition:all .12s ease}.read-along-time-chip:hover{background:var(--accent);color:#12100b;border-color:var(--accent)}.read-along-segment.looping{background:rgba(212,168,71,.09);border:1px solid rgba(212,168,71,.35)}.read-along-loop-btn{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;width:22px;height:22px;padding:0;border-radius:50%;background:rgba(240,230,211,.06);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;vertical-align:middle;transition:all .12s ease}.read-along-loop-btn:hover{border-color:var(--accent);color:var(--accent)}.read-along-loop-btn.active{background:var(--accent);border-color:var(--accent);color:#12100b;animation:read-along-loop-pulse 1.6s ease-in-out infinite}@keyframes read-along-loop-pulse{0%,to{box-shadow:0 0 0 0 rgba(212,168,71,.35)}50%{box-shadow:0 0 0 5px rgba(212,168,71,0)}}.read-along-loop-hidden{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px}.read-along-loop-hidden-hint{font-size:14px;font-style:italic;color:var(--text-muted)}.read-along-reveal-btn{padding:3px 10px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;transition:all .12s ease}.read-along-reveal-btn:hover{background:var(--accent);color:#12100b}.read-along-segment-text{transition:filter .3s ease}.read-along-segment.blurred .read-along-segment-text{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.read-along-word{display:inline;padding:1px 0!important;margin:0!important;border:0!important;border-radius:3px;cursor:pointer;font-weight:inherit!important;line-height:inherit!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:none!important}.read-along-word:hover{background:var(--hl-phrase,rgba(212,168,71,.3));color:var(--text-primary)}.read-along-word.karaoke-current,.read-along-word.selected{background:var(--hl-word,#d4a847)!important;color:var(--hl-word-text,#141210)!important;transform:none!important}.read-along-word.karaoke-current,.read-along-word.phrase-context,.read-along-word.selected{font-weight:inherit!important;padding:1px 0!important;margin:0!important;border-radius:3px;text-shadow:none!important;box-shadow:none!important;transition:none!important}.read-along-word.phrase-context{background:var(--hl-phrase,rgba(212,168,71,.4))!important}.read-along-word.karaoke-spoken{color:var(--text-primary);opacity:1;text-shadow:none!important;transition:none!important}.read-along-segment:not(.active) .read-along-word{opacity:.85}.read-along-cost-badge{display:flex;justify-content:center;align-items:center;text-align:center;padding:6px 14px;font-size:11px;color:var(--text-muted);opacity:.65;border-top:1px solid var(--border);background:rgba(0,0,0,.2);letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-family:var(--font-sans,system-ui,sans-serif)}.read-along-retry-btn{margin-top:8px;padding:8px 18px;border-radius:var(--radius-md,8px);background:var(--accent);color:#12100b;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:opacity .15s ease}.read-along-retry-btn:hover{opacity:.9}.read-along-skeleton-status{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(212,168,71,.05);font-family:var(--font-sans,system-ui,sans-serif);font-size:13px;color:var(--text-muted)}.read-along-skeleton-segment{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;opacity:0;animation:read-along-skeleton-fade-in .4s ease forwards}.read-along-skeleton-segment:nth-child(2){animation-delay:.03s}.read-along-skeleton-segment:nth-child(3){animation-delay:.06s}.read-along-skeleton-segment:nth-child(4){animation-delay:.09s}.read-along-skeleton-segment:nth-child(5){animation-delay:.12s}.read-along-skeleton-segment:nth-child(6){animation-delay:.15s}.read-along-skeleton-segment:nth-child(7){animation-delay:.18s}.read-along-skeleton-chip{width:40px;height:18px;margin-right:8px;border-radius:4px}.read-along-skeleton-line{height:19px;margin-right:8px;border-radius:5px}@keyframes read-along-skeleton-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.card-verb-chip.verb-class,.word-meta-chip.verb-class{color:var(--text-muted)}.card-verb-chip.verb-class-strong,.word-meta-chip.verb-class-strong{color:#e0a06e;border-color:rgba(224,160,110,.45);background:rgba(224,160,110,.1)}.card-verb-chip.verb-class-mixed,.word-meta-chip.verb-class-mixed{color:#c99be0;border-color:rgba(201,155,224,.45);background:rgba(201,155,224,.1)}.card-verb-chip.verb-class-special,.word-meta-chip.verb-class-special{color:#e08a8a;border-color:rgba(224,138,138,.45);background:rgba(224,138,138,.1)}.card-verb-chip.verb-class-weak,.word-meta-chip.verb-class-weak{color:#6ea8e0;border-color:rgba(110,168,224,.4);background:rgba(110,168,224,.08)}.card-verb-forms{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:15px;color:var(--text-muted);line-height:1.35}.card-verb-forms i{font-style:normal;font-size:12px}.card-verb-forms b{color:var(--surface);font-weight:700}.card-verb-chip{display:inline-block;padding:2px 9px;border-radius:99px;border:1px solid var(--border);font-size:12px;font-weight:700}.srs-history-card .card-verb-forms{justify-content:flex-start;margin-top:7px;font-size:14px}