:root{--bg:#0b0b0f;--fg:#e8e8ee;--mut:#8a8a96;--acc:#ff4b4b;--card:#15151c;--line:#26262f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
main{max-width:820px;margin:0 auto;padding:16px}a{color:var(--fg)}h1{font-size:1.4rem;margin:.4em 0}h3{margin:.2em 0 .6em}
nav.top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}nav .brand{text-decoration:none;font-weight:700;color:var(--acc)}nav .links a{margin-left:14px;text-decoration:none;color:var(--mut)}
.inline{display:inline}button.link{background:none;border:0;color:var(--mut);font:inherit;cursor:pointer;margin-left:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}.login{max-width:360px;margin:18vh auto;text-align:center}
input,textarea,select{width:100%;background:#0f0f15;color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit;margin:6px 0}textarea{min-height:70px}
.btn,button.primary,button.big{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
.primary{background:var(--acc);border-color:var(--acc);color:#fff}.danger{border-color:#7a2020;color:#ff8a8a}.small{padding:4px 10px;font-size:.85rem}
.row{display:flex;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap{gap:8px}.grow{flex:1}.muted{color:var(--mut)}.small{font-size:.85rem}.err{color:#ff8a8a}.hidden{display:none!important}
ul.list{list-style:none;padding:0;margin:0}.item{padding:12px 0;border-bottom:1px solid var(--line)}.title{font-weight:600;text-decoration:none}.meta{color:var(--mut);font-size:.85rem;margin:4px 0}
audio{width:100%;margin-top:8px}.chip{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:.75rem;margin-left:6px}.chip.ok{border-color:#2e6b3a;color:#8fe0a0}.chip.warn{border-color:#7a5a20;color:#ffd27a}.chip.busy{border-color:#2f4f8a;color:#9fc0ff}
.recorder{text-align:center;padding-top:8vh}.time{font-size:3.2rem;font-variant-numeric:tabular-nums;margin:20px 0 6px}
button.big{width:96px;height:96px;border-radius:50%;font-size:2.2rem;background:var(--acc);border-color:var(--acc);color:#fff;margin:22px 0}body.live button.big{animation:pulse 1.2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,75,75,.5)}50%{box-shadow:0 0 0 18px rgba(255,75,75,0)}}
.transcript .seg{margin:.5em 0}.spk{margin-right:6px}.spk0{color:#9fc0ff}.spk1{color:#ffd27a}.spk2{color:#8fe0a0}.spk3{color:#ff9fd6}.spk4{color:#b9a0ff}.spk5{color:#ffb08a}.ts{color:var(--mut);font-size:.78rem;cursor:pointer;margin-right:6px}
pre.prose{white-space:pre-wrap;font:inherit;margin:0}ul.plain{list-style:none;padding:0}
/* incognito music-player skin */
body.incog{background:#121212}body.incog nav.top{display:none}.fake{max-width:420px;margin:6vh auto;text-align:center;user-select:none;-webkit-user-select:none}
.art{width:280px;height:280px;margin:0 auto 22px;border-radius:14px;background:linear-gradient(135deg,#1e3a5f,#6a2c70 60%,#c3423f);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.disc{width:150px;height:150px;border-radius:50%;background:radial-gradient(#000 22%,#222 23%,#111 60%,#000 61%)}body.live .disc{animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.np .song{font-size:1.25rem;font-weight:700}.np .artist{color:#b3b3b3;margin-top:4px}.bar{position:relative;height:4px;background:#333;border-radius:2px;margin:24px 8px 8px}.fill{height:4px;background:#fff;border-radius:2px;width:0}
.dot{position:absolute;right:-2px;top:-5px;width:14px;height:14px;border-radius:50%;background:#1db954;opacity:.35}body.live .dot{opacity:1;animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}
.ctl{display:flex;justify-content:center;gap:34px;font-size:1.7rem;margin-top:14px}.ctl .play{font-size:2.4rem}.hint{color:#444;font-size:.72rem;margin-top:22px}
