:root{--bg: #0e1116;--panel: #161b22;--panel-2: #1d242e;--border: #2a323d;--text: #e6edf3;--muted: #8b949e;--accent: #22d3ee;--success: #a3e635;--danger: #f87171;--radius: 14px;--font-text: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-text);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}h1{font-size:1.5rem;margin:0;letter-spacing:-.01em}code,.mono,.label{font-family:var(--font-mono)}.label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.ok{color:var(--success);font-size:13px}.hint{color:var(--muted);font-size:12px;margin:10px 0 0}.app,.gate{max-width:880px;margin:0 auto;padding:20px 16px 60px;display:flex;flex-direction:column;gap:16px}.gate{min-height:100vh;justify-content:center}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.top p{margin:4px 0 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gate-card{display:flex;flex-direction:column;gap:12px;max-width:420px;width:100%;margin:0 auto}textarea,input,select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}textarea:focus,input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.script{min-height:220px;resize:vertical;font-size:15px;line-height:1.6}.speakers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.speaker-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.speaker-card .label{margin-top:4px}.badge{display:inline-block;font-family:var(--font-mono);font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);width:fit-content}.badge.bit,.badge.sys{border-color:var(--accent)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent);background:transparent;color:var(--accent);font:500 15px var(--font-text);padding:11px 18px;border-radius:10px;cursor:pointer;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px;transition:background .15s,color .15s}.btn:hover:not(:disabled){background:#22d3ee1f}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);color:#05161a;font-weight:700}.btn.primary:hover:not(:disabled){background:#67e8f9}.btn.ghost{border-color:var(--border);color:var(--muted)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .btn{flex:1 1 160px}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.notice{border-radius:10px;padding:10px 12px;font-size:14px;border:1px solid var(--border);background:var(--panel-2)}.notice.error{border-color:var(--danger);color:#fecaca;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.progress-bar{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress-bar span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.progress{display:flex;flex-direction:column;gap:6px}.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.line-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.line-top{display:flex;justify-content:space-between;align-items:center}.line-text{margin:0;font-size:15px}audio{width:100%}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.06em}@media (max-width: 640px){.speakers{grid-template-columns:1fr}.actions .btn{flex:1 1 100%}.line-top{flex-wrap:wrap;gap:6px}.top h1{font-size:1.25rem}}
