.wired { --wired-warn:#f0b429; --wired-danger:#ff6b6b; --wired-line:rgba(255,255,255,.08); }
.wired-header-top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.wired-header h1 { margin:.2em 0 .1em; }
.wired-air { display:inline-block; padding:4px 12px; border:1px solid var(--mut); color:var(--mut); font-family:var(--mono); letter-spacing:.14em; font-size:13px; }
.wired-air.on { color:var(--bg); background:var(--grn); border-color:var(--grn); }
.wired-topic { font-size:1.25rem; line-height:1.4; margin:.2em 0; color:var(--txt); }

/* control desk */
.wired-console { display:grid; gap:18px; border-left:3px solid var(--grn); padding-left:20px; padding-right:20px; }
.wired-console-row { display:grid; gap:16px 24px; grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); }
.wired-console-row[hidden] { display:none; }
.wired-action label { display:block; margin-bottom:6px; font-weight:600; }
.wired-action label .meta { font-weight:400; margin-left:6px; }
.wired-inline { display:flex; gap:8px; }
.wired-inline input { flex:1; min-width:0; }
.wired-inline button { flex:none; }
.wired-primary { border-color:var(--grn); color:var(--grn); font-weight:600; }
.wired-primary:hover { background:var(--grn); color:var(--bg); }
.wired-danger { border-color:var(--wired-danger); color:var(--wired-danger); }
.wired-danger:hover { background:var(--wired-danger); border-color:var(--wired-danger); color:var(--bg); }
.wired-console-links { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; padding-top:14px; border-top:1px solid var(--wired-line); font-family:var(--mono); font-size:13px; }
.wired-console-links .wired-danger { margin-left:auto; }
.wired-console-links [hidden] { display:none; }
.wired-mini { font-size:12px; min-height:32px; padding:4px 10px; }

/* status line */
.wired-status { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:8px 0 12px; font-family:var(--mono); font-size:13px; color:var(--mut); }
.wired-dot { width:9px; height:9px; border-radius:50%; background:var(--mut); flex:none; }
.wired-dot.live { background:var(--grn); box-shadow:0 0 0 3px rgba(57,255,20,.15); }
.wired-notice { color:var(--grn); }
.wired-status .err:empty, .wired-notice:empty { display:none; }

/* layout */
.wired-columns { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:var(--section-spacing,32px); align-items:start; }
.wired-side { display:grid; gap:16px; }
.wired-side .panel { margin:0; }
.wired-stage { position:relative; }
.wired-stage-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }

/* transcript */
.wired-scroll { max-height:min(70vh,760px); overflow-y:auto; overscroll-behavior:contain; padding-right:6px; }
.wired-scroll:focus-visible { outline:2px solid var(--grn); outline-offset:4px; }
.wired-people,.wired-transcript,.wired-list { list-style:none; margin:0; padding:0; }
.wired-transcript { display:grid; gap:12px; }
.wired-msg { padding:12px 14px; border-left:3px solid var(--spk,var(--grn)); background:rgba(255,255,255,.025); overflow-wrap:anywhere; }
.wired-msg-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.wired-msg-time { margin-left:auto; font-size:12px; }
.wired-speaker { color:var(--spk,var(--grn)); font-size:1.02rem; }
.wired-text { margin:6px 0 0; white-space:pre-wrap; line-height:1.7; font-size:1.02rem; max-width:72ch; color:var(--txt); }
.wired-signal { text-align:center; font-family:var(--mono); font-size:12px; color:var(--mut); padding:2px 0; }
.wired-signal::before, .wired-signal::after { content:' — '; opacity:.6; }
.wired-badge { font-family:var(--mono); font-size:11px; letter-spacing:.04em; padding:1px 7px; border:1px solid var(--mut); color:var(--mut); }
.wired-badge.warn { border-color:var(--wired-warn); color:var(--wired-warn); }
.wired-badge.nudged { border-color:var(--grn); color:var(--grn); }
.wired-redact { border:0; background:none; min-height:0; padding:0 2px; font-size:12px; color:var(--mut); text-decoration:underline; opacity:.7; }
.wired-redact:hover { background:none; color:var(--wired-danger); opacity:1; }
.wired-jump { position:sticky; bottom:12px; display:block; margin:12px auto 0; border-color:var(--grn); color:var(--grn); background:var(--panel); }
.wired-jump[hidden] { display:none; }

/* participants */
.wired-person { padding:10px 0 10px 12px; border-left:3px solid var(--spk,var(--grn)); margin-bottom:10px; }
.wired-person-head { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; }
.wired-stats { display:flex; flex-wrap:wrap; gap:4px 14px; font-family:var(--mono); font-size:12px; color:var(--mut); margin-top:4px; }
.wired-idle.warn { color:var(--wired-warn); }
.wired-person-acts { display:flex; gap:6px; margin-top:8px; }
.wired-person-acts .wired-mini { margin:0; }
.wired-list li { padding:4px 0; }

/* speaker tones */
.spk-0 { --spk:var(--grn); } .spk-1 { --spk:#7dd3fc; } .spk-2 { --spk:#f0abfc; }
.spk-3 { --spk:#fcd34d; } .spk-4 { --spk:#a5b4fc; } .spk-5 { --spk:#fca5a5; }

/* settings + rules */
.wired-settings summary, .wired-rules-box summary { cursor:pointer; font-weight:600; }
.wired-settings form { margin-top:12px; }
.wired-rules { padding-left:20px; }
.wired-rules li { margin-bottom:6px; }
.wired-code { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.5 var(--mono); padding:12px; border:1px solid var(--mut); }
.wired-token { border-color:var(--grn); }

@media (max-width:900px) {
  .wired-columns { grid-template-columns:1fr; }
  .wired-scroll { max-height:65vh; }
  .wired-inline { flex-direction:column; }
  .wired-inline button { width:100%; }
}
