:root { color-scheme: dark; --bg:#0b1117; --fg:#e6eef7; --muted:#9fb3c8; --accent:#36d07f; --card:#111a22; --line:#1f2a36; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, Segoe UI, Roboto, Arial, sans-serif; background: var(--bg); color: var(--fg); }
header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#0c151e,#0b1117); position:sticky; top:0; z-index:2; }
h1 { margin:0; font-size:20px; }
.status { font-size:12px; color:var(--muted); }
section { padding:14px 20px; }
.room-select { display:flex; gap:10px; align-items:center; }
.controls { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.controls input[type=range] { width:160px; }
.meters.column { display:flex; flex-direction:column; gap:10px; max-width:560px; }
.meter-label { font-size:12px; color:var(--muted); margin-bottom:4px; }
.meter { width:100%; height:10px; background:#0e1720; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.meter > div { height:100%; width:0%; background:var(--accent); transition:width .08s linear; }
.settings { display:flex; gap:12px; align-items:center; margin-top:10px; }
.ptt { background:#1a2733; border:1px solid var(--line); padding:10px 14px; border-radius:8px; cursor:pointer; }
.ptt.live { background:#2a3b28; border-color:#335a3d; box-shadow:0 0 0 2px rgba(54,208,127,.2) inset; }
.hidden { display:none; }
.hint { color:var(--muted); font-size:12px; margin:6px 0 12px; }
.sstv-controls { display:grid; gap:14px; grid-template-columns:1fr; }
.rx-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.rx-status { margin:8px 0; color:var(--muted); font-size:12px; }
#rxWaterfall { width:100%; background:#000; border:1px solid var(--line); border-radius:8px; }
.rx-image { border:1px solid var(--line); border-radius:6px; background:#000; }
.rx-notes { max-width:520px; font-size:12px; opacity:.9; line-height:1.4; }
footer { padding:10px 20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
button { color:var(--fg); }
input, select, button { background:#0e1720; border:1px solid var(--line); color:var(--fg); border-radius:6px; padding:6px 8px; }
input[type="file"] { padding:4px; }
