:root{--bg:#0b0b0b;--card:#161616;--fg:#eaeaea;--muted:#9aa0a6;--accent:#4ade80;--danger:#ef4444}
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
.container{max-width:920px;margin:28px auto;padding:0 16px}
.h1{font-size:32px;font-weight:700;margin:8px 0 20px}
.card{background:var(--card);border:1px solid #242424;border-radius:14px;padding:16px 18px;margin:14px 0;box-shadow:0 1px 0 #202020}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0}
.label{min-width:140px;color:var(--muted)}
.input{flex:1 1 260px;min-width:220px;padding:10px 12px;border:1px solid #2a2a2a;border-radius:10px;background:#0f0f0f;color:var(--fg)}
.btn{padding:9px 14px;border-radius:10px;border:1px solid #2a2a2a;background:#101010;color:var(--fg);cursor:pointer}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{border-color:#256f3a;background:#113018}
.btn-danger{border-color:#7a1f1f;background:#2a1212}
.badge{padding:6px 10px;border-radius:999px;border:1px solid #2a2a2a;background:#101010;color:var(--muted);font-size:12px}
.badge.ok{border-color:#1f5f35;color:#a7f3d0}
.badge.err{border-color:#742c2c;color:#fecaca}
hr{border:0;border-top:1px solid #252525;margin:12px 0}
audio{width:100%}
.small{font-size:12px;color:var(--muted)}
