*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0d13;--panel:#151926;--panel-2:#1d2334;--paper:#131724;--text:#e9ecf4;--text-soft:#c6ccdc;--muted:#8d94a8;--accent:#7c9aff;--accent-2:#a78bfa;--accent-soft:rgba(124,154,255,0.16);--border:#262d40;--danger:#ff6b6b;--radius:14px;--shadow:0 8px 28px rgba(0,0,0,0.35)}html{scroll-behavior:smooth}body{background:radial-gradient(1000px 500px at 80% -10%,rgba(124,154,255,.08),transparent 60%),radial-gradient(800px 400px at -10% 20%,rgba(167,139,250,.06),transparent 60%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh}.container{max-width:880px;margin:0 auto;padding:40px 22px 100px}h1{font-size:1.9rem;letter-spacing:-.02em;background:linear-gradient(100deg,var(--text) 30%,var(--accent) 70%,var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}.subtitle{color:var(--muted);margin-bottom:28px;font-size:1.02rem}.tabs{display:inline-flex;gap:4px;margin-bottom:22px;padding:5px;background:var(--panel);border:1px solid var(--border)}.tab,.tabs{border-radius:999px}.tab{padding:9px 20px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem;font-weight:500;transition:background .15s ease,color .15s ease;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#0b0d13;font-weight:650}.tabs .tab:nth-child(2).active{background:linear-gradient(120deg,#34d399,#22d3ee)}.tabs .tab:nth-child(3).active{background:linear-gradient(120deg,#fbbf24,#fb7185)}.input-row{display:flex;gap:10px;margin-bottom:18px}.input-row input[type=url]{flex:1 1;padding:13px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.input-row input[type=url]::placeholder{color:var(--muted)}.input-row input[type=url]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button.primary{padding:13px 26px;border-radius:var(--radius);border:none;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#0b0d13;font-size:.98rem;font-weight:700;cursor:pointer;transition:transform .1s ease,filter .15s ease}button.primary:hover:not(:disabled){filter:brightness(1.1)}button.primary:active:not(:disabled){transform:scale(.98)}button.primary:disabled{opacity:.5;cursor:default}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--muted);cursor:pointer;margin-bottom:18px;background:var(--panel);font-size:1rem;transition:border-color .15s ease,background .15s ease}.dropzone:hover{border-color:var(--accent);background:var(--panel-2);color:var(--text)}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;background:rgba(21,25,38,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;position:-webkit-sticky;position:sticky;top:12px;z-index:10;box-shadow:var(--shadow)}.controls button{padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:.9rem;font-weight:500;transition:border-color .15s ease,background .15s ease,transform .1s ease}.controls button:hover:not(:disabled){border-color:var(--accent)}.controls button:active:not(:disabled){transform:scale(.97)}.controls button:disabled{opacity:.35;cursor:default}.controls button.resume{background:linear-gradient(120deg,var(--accent),var(--accent-2));border:none;color:#0b0d13;font-weight:700}.controls button.btn-offline{background:linear-gradient(120deg,#2dd4bf,#34d399);border:none;color:#042f24;font-weight:700}.controls .offline-badge{padding:8px 14px;border-radius:999px;background:rgba(45,212,191,.14);border:1px solid rgba(45,212,191,.5);color:#5eead4;font-size:.85rem;font-weight:600}.controls button.btn-play{background:linear-gradient(120deg,#34d399,#10b981);border:none;color:#06281c;font-weight:700}.controls button.btn-skip{background:linear-gradient(120deg,#22d3ee,#0ea5e9);border:none;color:#062330;font-weight:700}.controls button.btn-pause{background:linear-gradient(120deg,#fbbf24,#f59e0b);border:none;color:#2d1a00;font-weight:700}.controls button.btn-stop{background:linear-gradient(120deg,#fb7185,#ef4444);border:none;color:#fff;font-weight:700}.controls button.btn-soothe{background:linear-gradient(120deg,#818cf8,#38bdf8);border:none;color:#0b1030;font-weight:700}.controls label.toggle{gap:6px;cursor:pointer;color:var(--text);font-size:.88rem;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.controls label.toggle input[type=checkbox]{accent-color:#34d399;width:15px;height:15px;cursor:pointer}.controls button.btn-pause:hover:not(:disabled),.controls button.btn-play:hover:not(:disabled),.controls button.btn-skip:hover:not(:disabled),.controls button.btn-soothe:hover:not(:disabled),.controls button.btn-stop:hover:not(:disabled),.controls button.resume:hover:not(:disabled){filter:brightness(1.12);border-color:transparent}.controls label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.controls select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 10px;max-width:230px;font-size:.85rem}.controls select:focus{outline:none;border-color:var(--accent)}.controls input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:110px;height:5px;border-radius:999px;background:var(--border);cursor:pointer}.controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(120deg,#fbbf24,#fb7185);border:2px solid #0b0d13}.controls input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fbbf24;border:2px solid #0b0d13}.progress-wrap{display:flex;align-items:center;gap:10px;flex-basis:100%;margin-top:4px}.progress-track{flex:1 1;height:5px;border-radius:999px;background:var(--border);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s ease}.progress-text{color:var(--muted);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.search-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.search-row input[type=search]{flex:1 1;padding:10px 16px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}.search-row input[type=search]::placeholder{color:var(--muted)}.search-row input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-row button{padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:.88rem;transition:border-color .15s ease;white-space:nowrap}.search-row button:hover:not(:disabled){border-color:var(--accent)}.search-row button:disabled{opacity:.35;cursor:default}.search-row button.btn-match{background:linear-gradient(120deg,#a78bfa,#ec4899);border:none;color:#fff;font-weight:650}.search-row button.btn-match:hover:not(:disabled){filter:brightness(1.12)}.search-count{color:var(--muted);font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.line.match{background:rgba(250,204,21,.08);border-left-color:rgba(250,204,21,.5)}.line.current,.line.match.current{background:var(--accent-soft);border-left-color:var(--accent)}.error{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.35);color:#ffa3a3;padding:12px 16px;border-radius:var(--radius);margin-bottom:18px}.hint{color:var(--muted);font-size:.86rem;margin:6px 0 14px}.paper{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:34px 38px 42px;box-shadow:var(--shadow)}.doc-title{font-family:Charter,Georgia,Times New Roman,serif;font-size:1.55rem;line-height:1.35;margin-bottom:10px;letter-spacing:-.01em}.section-label{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;background:linear-gradient(90deg,#fbbf24,#fb7185,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.line{font-family:Charter,Georgia,Times New Roman,serif;font-size:1.08rem;line-height:1.85;padding:5px 14px;margin:1px -14px;border-radius:8px;border-left:3px solid transparent;cursor:pointer;color:var(--text-soft);transition:background .12s ease,color .12s ease}.line:hover{background:var(--panel-2);color:var(--text)}.line.current{background:var(--accent-soft);color:var(--text);border-left-color:var(--accent)}.history-tabs{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:999px}.history-tab{padding:7px 14px;border-radius:999px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .15s ease,color .15s ease}.history-tab:hover{color:var(--text)}.history-tab.active{background:var(--accent-soft);color:var(--text);font-weight:600}.history-item{display:flex;align-items:stretch;gap:8px;margin-bottom:10px}.history-open{flex:1 1;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;font-size:.95rem;transition:border-color .15s ease,background .15s ease}.history-open:hover{border-color:var(--accent);background:var(--panel-2)}.history-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.history-date{color:var(--muted);font-size:.8rem;flex-shrink:0}.history-del{padding:0 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.history-del:hover{border-color:var(--danger);color:var(--danger)}.show-more{display:block;width:100%;margin-top:18px;padding:13px;border-radius:var(--radius);border:1px dashed var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem;transition:border-color .15s ease,color .15s ease}.show-more:hover{border-color:var(--accent);color:var(--text)}.ai-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:20px;box-shadow:var(--shadow)}.ai-title{font-size:1.3rem;margin-bottom:6px}.ai-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin:16px 0}.ai-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-card:hover{background:rgba(255,255,255,.07)}.ai-card.active{background:rgba(37,99,235,.14);border-color:rgba(96,165,250,.55)}.ai-card-label{font-weight:650;font-size:.95rem}.ai-card-blurb{color:var(--muted);font-size:.8rem;line-height:1.4}.ai-key-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ai-key-row label{font-size:.85rem;color:var(--text-soft);display:flex;justify-content:space-between}.ai-key-row label a{color:var(--accent);text-decoration:none}.ai-key-row input{padding:11px 14px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:var(--text);font-size:.95rem}.ai-key-row input:focus{outline:none;border-color:rgba(96,165,250,.6)}.ai-badge{display:inline-block;padding:8px 16px;border-radius:999px;background:rgba(37,99,235,.14);border:1px solid rgba(96,165,250,.55);font-weight:600;margin-bottom:12px}.ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.ai-row select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:9px 12px;font-size:.88rem}.ai-row input[type=text]{flex:1 1;min-width:160px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.92rem}.ai-row input[type=text]:focus{outline:none;border-color:var(--accent)}.btn-ai{padding:9px 16px;border-radius:999px;border:none;background:linear-gradient(120deg,#a78bfa,#6c8cff);color:#0b0d13;font-weight:700;font-size:.88rem;cursor:pointer;white-space:nowrap}.btn-ai:hover:not(:disabled){filter:brightness(1.12)}.btn-ai:disabled{opacity:.5;cursor:default}.ai-answer{background:rgba(167,139,250,.08);border:1px solid rgba(167,139,250,.35);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.ai-answer p{margin-bottom:10px;line-height:1.7}.ai-answer button{padding:7px 14px;border-radius:999px;border:1px solid rgba(167,139,250,.5);background:transparent;color:var(--text);cursor:pointer;font-size:.85rem}.ai-answer button:hover{background:rgba(167,139,250,.15)}.line mark.word{background:linear-gradient(120deg,rgba(251,191,36,.45),rgba(251,113,133,.45));color:var(--text);border-radius:4px;padding:0 2px}.text-input{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.text-input textarea{width:100%;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:1rem;font-family:inherit;line-height:1.6;resize:vertical}.text-input textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.text-input .primary{align-self:flex-start}.ocr-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ocr-row select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin-left:6px}.ocr-btn{display:block;width:100%}.support-type{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.support-type label.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--text);font-size:.9rem;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.support-type label.toggle input[type=radio]{accent-color:var(--accent);cursor:pointer}.support-text{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);font-size:.95rem;font-family:inherit;line-height:1.6;resize:vertical;margin-bottom:14px}.support-text:focus{outline:none;border-color:var(--accent)}.support-divider{border:none;border-top:1px solid var(--border);margin:24px 0}.btn-coffee{display:block;width:100%;padding:14px;border-radius:var(--radius);border:none;background:linear-gradient(120deg,#fbbf24,#f97316);color:#2d1500;font-size:1rem;font-weight:800;cursor:pointer;transition:filter .15s ease,transform .1s ease}.btn-coffee:hover{filter:brightness(1.1)}.btn-coffee:active{transform:scale(.99)}.support-footer{text-align:center;margin-top:16px}.trans-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}.trans-langs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.trans-langs label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.trans-langs select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:.92rem}.trans-langs select:disabled{opacity:.5}.trans-swap{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:1rem}.trans-swap:hover:not(:disabled){border-color:var(--accent)}.trans-swap:disabled{opacity:.4;cursor:default}.trans-langs label.toggle{cursor:pointer;color:var(--text);font-size:.88rem;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.trans-langs label.toggle input[type=checkbox]{accent-color:#34d399;width:15px;height:15px;cursor:pointer}.talk{display:block;width:100%;padding:18px;border-radius:var(--radius);border:none;background:linear-gradient(120deg,#34d399,#22d3ee);color:#06281c;font-size:1.15rem;font-weight:800;cursor:pointer;transition:filter .15s ease,transform .1s ease}.talk:hover:not(:disabled){filter:brightness(1.1)}.talk:active:not(:disabled){transform:scale(.99)}.talk:disabled{opacity:.45;cursor:default}.talk.live{background:linear-gradient(120deg,#fb7185,#ef4444);color:#fff;animation:talk-pulse 1.6s ease-in-out infinite}@keyframes talk-pulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.45)}50%{box-shadow:0 0 0 10px rgba(239,68,68,0)}}.trans-live-hint{display:flex;align-items:center;gap:8px}.live-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;animation:dot-blink 1.2s ease-in-out infinite;flex-shrink:0}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.25}}.trans-feed{margin-top:18px;max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.trans-seg{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.trans-src{color:var(--muted);font-size:.92rem;margin-bottom:6px}.trans-dst{color:var(--text);font-size:1.05rem;line-height:1.6}.trans-dst.pending{color:var(--muted);font-style:italic}.trans-dst.trans-err{color:#ff9a9a}.trans-interim{color:var(--muted);font-style:italic;padding:4px 16px}.trans-actions{display:flex;gap:8px;margin-top:14px}.trans-actions button{flex:1 1;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:.9rem;transition:border-color .15s ease}.trans-actions button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:600px){.container{padding:24px 14px 70px}h1{font-size:1.55rem}.tabs{display:flex;flex-wrap:wrap;width:100%;border-radius:16px}.tab{flex:1 1 30%;padding:9px 6px;text-align:center;font-size:.85rem}.input-row{flex-direction:column}.controls{top:8px;padding:12px}.controls select{max-width:150px}.controls input[type=range]{width:90px}.paper{padding:22px 18px 28px}.line{padding:10px 12px;margin:1px -10px}.history-tabs{display:flex;width:100%}.history-tab{flex:1 1;padding:7px 6px;text-align:center}}