:root{--bg: #0f1419;--surface: #1a2332;--surface2: #243044;--accent: #3b82f6;--accent-hover: #2563eb;--text: #e8eef7;--muted: #94a3b8;--success: #22c55e;--danger: #ef4444;--radius: 10px;--font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--surface2);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;font-size:.9rem}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--surface2)}.btn-danger{background:var(--danger);color:#fff}input,textarea,select{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--surface2);background:var(--bg);color:var(--text);font-family:inherit;margin-bottom:.75rem}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.nav{display:flex;gap:1rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--surface2);align-items:center;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;font-weight:500}.nav a.active,.nav a:hover{color:var(--text)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;background:var(--surface2)}.badge.ready{background:#14532d;color:#86efac}.badge.failed{background:#450a0a;color:#fca5a5}.badge.processing{background:#1e3a5f;color:#93c5fd}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}h1,h2,h3{margin-top:0}.muted{color:var(--muted);font-size:.9rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--surface2)}th{color:var(--muted);font-size:.8rem}.alert{padding:.75rem 1rem;border-radius:8px;background:#1e3a5f;margin-bottom:1rem}.alert.warn{background:#422006}.recorder-panel{border:2px dashed var(--surface2);border-radius:var(--radius);padding:1.5rem;text-align:center}
