:root{--bg:#0a0e1a;--card:#131a2a;--card-border:#1e293b;--text:#eef2f7;--muted:#9aa4b2;--accent:#f59e0b;--accent-soft:#fbbf24;--bar-track:#1e293b}*{box-sizing:border-box}body{color:var(--text);-webkit-font-smoothing:antialiased;background:linear-gradient(#0d1322 0%,#0a0e1a 60%,#080b14 100%);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}#app{max-width:760px;margin:0 auto;padding:28px 20px 48px}header h1{letter-spacing:-.5px;margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.2}.subtitle{color:var(--muted);margin:0 0 20px;font-size:16px}.progress{color:var(--muted);align-items:center;gap:10px;margin-bottom:20px;font-size:14px;display:flex}.progress-dots{gap:6px;display:flex}.progress-dot{background:var(--card-border);border-radius:50%;width:10px;height:10px;transition:background .3s}.progress-dot.done{background:var(--accent)}.progress-dot.current{background:var(--accent-soft);box-shadow:0 0 0 3px #f59e0b40}.card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;margin-bottom:20px;padding:20px}.sentence-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:13px}.sentence-text{min-height:36px;font-size:26px;font-weight:600;line-height:1.4}.word{display:inline-block}.word.chosen{color:var(--accent);animation:.5s fly-in}.word.empty{color:var(--muted)}@keyframes fly-in{0%{opacity:0;transform:translate(24px)scale(1.1)}to{opacity:1;transform:translate(0)scale(1)}}.candidates h2{margin:0 0 14px;font-size:18px;font-weight:600}.bar-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.bar-token{flex-shrink:0;width:72px;font-size:16px;font-weight:500}.bar-track{background:var(--bar-track);border-radius:7px;flex:1;height:26px;overflow:hidden}.bar{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-soft) 100%);border-radius:7px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}.bar.top{box-shadow:0 0 12px #f59e0b8c}.bar-pct{text-align:right;width:58px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:14px}.temperature{margin:0}.temperature label{align-items:center;gap:8px;margin-bottom:10px;font-size:16px;font-weight:600;display:flex}#temp-value{color:var(--accent);font-variant-numeric:tabular-nums}#temp{width:100%;height:44px;accent-color:var(--accent);cursor:pointer}.temp-desc{color:var(--muted);margin-top:10px;font-size:14px}.controls{flex-wrap:wrap;gap:12px;margin:0;display:flex}.controls button{border:1px solid var(--card-border);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;min-height:48px;padding:14px 22px;font-size:16px;font-weight:600;transition:background .2s,transform .1s}.controls button:hover{background:#1a2334}.controls button:active{transform:scale(.98)}.controls button:disabled{opacity:.4;cursor:not-allowed}#next{background:var(--accent);border-color:var(--accent);color:#0a0e1a}#next:hover{background:var(--accent-soft)}#autoplay{margin-left:auto}.caption{padding:18px 20px}.caption p{color:var(--text);margin:0;font-size:16px}.expert{padding:0}#expert-toggle{border:1px solid var(--card-border);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;width:100%;min-height:48px;padding:14px 22px;font-size:15px;font-weight:600}#expert{background:var(--card);border:1px solid var(--card-border);border-radius:14px;margin-top:14px;padding:18px 20px}#expert.hidden{display:none}#expert p{color:var(--muted);margin:0 0 12px;font-size:15px}#expert p:last-child{margin-bottom:0}#expert strong{color:var(--text)}.formula{color:var(--accent-soft);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px}
