*{box-sizing:border-box}:root{--bg: #14171f;--card: #1c222e;--card-2: #171d28;--line: #2e3848;--text: #f2eee5;--muted: #8a93a8;--accent: #c9a24b;--accent-bright: #dcbc6f;--accent-ink: #1a1206;--danger: #ff8a8a;--font-display: Georgia, "Noto Serif", "Times New Roman", serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}body{margin:0;background:radial-gradient(700px 320px at 85% -8%,rgba(201,162,75,.12),transparent 60%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}#app{max-width:34rem;margin:0 auto;padding:1rem 1rem 3rem;display:grid;gap:1rem}.top{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.65rem}.diamond{width:11px;height:11px;background:var(--accent);transform:rotate(45deg);display:inline-block;flex:none}h1{font-family:var(--font-display);font-weight:600;font-size:1.35rem;margin:0;letter-spacing:.01em}h2{font-family:var(--font-mono);font-size:.72rem;margin:0 0 .6rem;color:var(--accent-bright);text-transform:uppercase;letter-spacing:.14em}.badge{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge.live{color:#7ddfa8;border-color:#2c5d3f}.badge.connecting,.badge.reconnecting{color:var(--accent-bright);border-color:#c9a24b66}.card{background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:16px;padding:1.1rem;box-shadow:0 18px 40px #00000059}.hint{color:var(--muted);font-size:.85rem;margin:0 0 .5rem}.error{background:#3a1f26;border:1px solid #6e2f3c;color:var(--danger);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}textarea,input,select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;font:inherit}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:.6rem 1.2rem;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}button:disabled{opacity:.5;cursor:default}.row{display:flex;gap:.75rem;align-items:center;margin-top:.6rem;flex-wrap:wrap}.row.langs label{flex:1 1 8rem;font-size:.85rem;color:var(--muted)}.row.langs select,.row.langs input{margin-top:.25rem}.row.credit{justify-content:space-between}.row.meter{color:var(--muted);font-size:.9rem}.captions{min-height:8rem;max-height:40vh;overflow-y:auto;display:grid;gap:.4rem;font-size:1.1rem}.caption{margin:0;font-family:var(--font-display);line-height:1.45}.caption.partial{color:var(--muted);font-style:italic}.caption.final{color:var(--text)}.session-list{display:grid;gap:.5rem}.session-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;background:#ffffff08;border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;font-size:.9rem}.session-item .mono{font-family:var(--font-mono);font-size:.78rem;color:var(--muted)}.session-item button{font-size:.8rem;padding:.35rem .8rem}.session-item .langpair{color:var(--accent-bright);font-weight:600}input[type=email],input[type=password],input[type=text]{width:100%;font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin-top:.5rem}#auth-card button.primary{margin-top:.75rem}details.advanced{margin-top:1rem;color:var(--muted);font-size:.9rem}details.advanced textarea{margin-top:.5rem}details.advanced button{margin-top:.5rem}.row.check{font-size:.85rem;color:var(--muted);align-items:flex-start;gap:.5rem}.row.check input{margin-top:.15rem}.row.tools button,.row.ask button{font-size:.9rem}.row.ask{flex-wrap:nowrap}.row.ask input{margin-top:0;flex:1}.tools-output{white-space:pre-wrap;border-top:1px solid var(--line);padding-top:.6rem;margin-top:.6rem}button.danger{border-color:#7a2e2e;color:#ff8a8a;background:transparent;font-size:.85rem}
