/* Classic deliberately retains the existing radio design. All other skins use
   the same DOM, audio meters and circular PTT hit target. */
.radio-appearance{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px;margin:12px 18px 14px;padding:10px 12px;border:1px solid #263b4e;border-radius:10px;background:#09131d;color:#cbdcec;min-width:0}
.radio-appearance label{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.3px}
.radio-appearance select{min-width:0;width:100%;min-height:42px;background:#101e2c;border:1px solid #3a5e79;border-radius:7px;color:#e5f4ff;padding:8px 30px 8px 10px;font:600 14px/1.4 Arial,sans-serif;color-scheme:dark}
.radio-appearance select:focus-visible{outline:2px solid #77cfff;outline-offset:3px}
.radio-appearance-status{grid-column:1/-1;font:400 12px/1.5 Arial,sans-serif;color:inherit}
.radio-appearance-status:empty{display:none}
.radio-settings .radio-appearance{margin:0 0 20px}
.voice-shell .side-stack .radio-appearance{grid-template-columns:minmax(0,1fr)}

body[data-radio-theme=arctic]{--rt-bg:#031525;--rt-shell:#061f33;--rt-panel:#092a40;--rt-raised:#0d354f;--rt-border:#245770;--rt-text:#e3f7ff;--rt-muted:#a2c3d6;--rt-accent:#62e1ff;--rt-action:#087baf;--rt-action-text:#ffffff;--rt-selected:#0b4767;--rt-ring:#55def9;--rt-glow:rgba(52,200,255,.26);--rt-radius:20px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=tactical]{--rt-bg:#0c100d;--rt-shell:#141c15;--rt-panel:#1b281e;--rt-raised:#243529;--rt-border:#50644b;--rt-text:#eff2df;--rt-muted:#b9c8aa;--rt-accent:#e5ce76;--rt-action:#d5bc65;--rt-action-text:#172016;--rt-selected:#394c30;--rt-ring:#d6c86f;--rt-glow:rgba(167,180,92,.16);--rt-radius:5px;--rt-font:"Courier New",monospace}
body[data-radio-theme=clean]{--rt-bg:#e8eff5;--rt-shell:#f8fbfd;--rt-panel:#ffffff;--rt-raised:#edf3f8;--rt-border:#c5d2df;--rt-text:#142c42;--rt-muted:#465e73;--rt-accent:#075da3;--rt-action:#075da3;--rt-action-text:#ffffff;--rt-selected:#dcecf9;--rt-ring:#1472b8;--rt-glow:rgba(15,91,152,.13);--rt-radius:16px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=retro]{--rt-bg:#100e09;--rt-shell:#211d16;--rt-panel:#292317;--rt-raised:#382f1e;--rt-border:#78613a;--rt-text:#ffe2a2;--rt-muted:#d3b884;--rt-accent:#ffd078;--rt-action:#d7ad59;--rt-action-text:#241b0d;--rt-selected:#4c3a18;--rt-ring:#ffbd55;--rt-glow:rgba(255,174,55,.2);--rt-radius:10px;--rt-font:"Courier New",monospace}
body[data-radio-theme=violet]{--rt-bg:#0d0b18;--rt-shell:#161127;--rt-panel:#201a36;--rt-raised:#2c2347;--rt-border:#655584;--rt-text:#f4efff;--rt-muted:#c5b9dc;--rt-accent:#c8adff;--rt-action:#7042b0;--rt-action-text:#ffffff;--rt-selected:#443061;--rt-ring:#c8adff;--rt-glow:rgba(177,130,255,.23);--rt-radius:24px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=cyber]{--rt-bg:#070b16;--rt-shell:#0d1222;--rt-panel:#121c2e;--rt-raised:#1b2940;--rt-border:#425e79;--rt-text:#eefaff;--rt-muted:#b2c5da;--rt-accent:#66f6df;--rt-action:#bcec40;--rt-action-text:#102005;--rt-selected:#173d40;--rt-ring:#fa8bdf;--rt-glow:rgba(250,139,223,.24);--rt-radius:3px;--rt-font:"Courier New",monospace}
body[data-radio-theme=forest]{--rt-bg:#07130f;--rt-shell:#0f211a;--rt-panel:#163025;--rt-raised:#204134;--rt-border:#527665;--rt-text:#edf9f1;--rt-muted:#b4d1bf;--rt-accent:#96e6b2;--rt-action:#a8dbb7;--rt-action-text:#122a1b;--rt-selected:#2b503b;--rt-ring:#96e6b2;--rt-glow:rgba(110,220,155,.16);--rt-radius:18px;--rt-font:Georgia,serif}
body[data-radio-theme=graphite]{--rt-bg:#0f1012;--rt-shell:#181a1e;--rt-panel:#23262b;--rt-raised:#30343b;--rt-border:#636b77;--rt-text:#f4f5f7;--rt-muted:#c0c6cf;--rt-accent:#dce4ef;--rt-action:#dce4ef;--rt-action-text:#1c222b;--rt-selected:#404955;--rt-ring:#dce4ef;--rt-glow:rgba(210,225,240,.1);--rt-radius:8px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=ocean]{--rt-bg:#04171b;--rt-shell:#09272c;--rt-panel:#0d353a;--rt-raised:#17484d;--rt-border:#4b7e83;--rt-text:#ecfffd;--rt-muted:#b2d4d2;--rt-accent:#87efe0;--rt-action:#91e0d3;--rt-action-text:#0a292c;--rt-selected:#1c5657;--rt-ring:#87efe0;--rt-glow:rgba(115,235,215,.18);--rt-radius:26px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=desert]{--rt-bg:#e4d9c5;--rt-shell:#f3ead8;--rt-panel:#fff8eb;--rt-raised:#eae0cb;--rt-border:#b9a98e;--rt-text:#382b1e;--rt-muted:#685640;--rt-accent:#795021;--rt-action:#795021;--rt-action-text:#ffffff;--rt-selected:#e1ceb0;--rt-ring:#8c5b23;--rt-glow:rgba(121,80,33,.12);--rt-radius:10px;--rt-font:Georgia,serif}
body[data-radio-theme=ruby]{--rt-bg:#18080f;--rt-shell:#280f1b;--rt-panel:#361625;--rt-raised:#4c2336;--rt-border:#88536a;--rt-text:#fff0f5;--rt-muted:#dfb6c7;--rt-accent:#ffb0cc;--rt-action:#a6345e;--rt-action-text:#ffffff;--rt-selected:#623047;--rt-ring:#ff8fb8;--rt-glow:rgba(255,110,165,.22);--rt-radius:16px;--rt-font:Arial,Helvetica,sans-serif}
body[data-radio-theme=paper]{--rt-bg:#e7e7e5;--rt-shell:#f7f7f3;--rt-panel:#ffffff;--rt-raised:#ededeb;--rt-border:#b5b5b0;--rt-text:#202421;--rt-muted:#505751;--rt-accent:#245840;--rt-action:#243e30;--rt-action-text:#ffffff;--rt-selected:#dce6df;--rt-ring:#245840;--rt-glow:rgba(36,88,64,.08);--rt-radius:2px;--rt-font:Georgia,serif}
body[data-radio-theme=terminal]{--rt-bg:#030b06;--rt-shell:#07120c;--rt-panel:#0b1c12;--rt-raised:#132d1d;--rt-border:#3d7050;--rt-text:#c2f5ce;--rt-muted:#9bc7a6;--rt-accent:#8df5a3;--rt-action:#8df5a3;--rt-action-text:#082110;--rt-selected:#21442c;--rt-ring:#8df5a3;--rt-glow:rgba(100,255,140,.17);--rt-radius:0px;--rt-font:"Courier New",monospace}
body[data-radio-theme=copper]{--rt-bg:#17100e;--rt-shell:#261c18;--rt-panel:#332620;--rt-raised:#46332b;--rt-border:#886a59;--rt-text:#fff0e3;--rt-muted:#d8bdab;--rt-accent:#efb78f;--rt-action:#dfa67e;--rt-action-text:#291b12;--rt-selected:#5a4031;--rt-ring:#efb78f;--rt-glow:rgba(230,160,110,.16);--rt-radius:12px;--rt-font:Georgia,serif}

body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell{color:var(--rt-text);font-family:var(--rt-font)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .voice-stage{background:var(--rt-bg)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .radio-console{background:var(--rt-shell);color:var(--rt-text);border-color:var(--rt-border);border-radius:var(--rt-radius);box-shadow:0 20px 50px rgba(0,0,0,.18);font-family:var(--rt-font)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .radio-console::before,
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .live-card::before,
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .live-card::after{display:none}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.channel-strip,.live-card,.channel-panel,.audio-panel,.transmissions,.chat-panel){background:var(--rt-panel);border-color:var(--rt-border);border-radius:var(--rt-radius);box-shadow:none}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.channel,.user-pill,.chat-messages,.chat-msg,.chat-form input[type=text],.presence-control select){background:var(--rt-raised);border-color:var(--rt-border);color:var(--rt-text)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .channel.active{background:var(--rt-selected);border-color:var(--rt-accent);box-shadow:inset 3px 0 var(--rt-accent)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .channel.locked{opacity:.65}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.channel-users,.mini-status .ico,.wave,.presence-tag,.tx-channel,.tx-callsign strong,.chat-msg strong,.live-title,.team-channel-heading,.team-radio-links a){color:var(--rt-accent)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.live-title small,.mini-label,.audio-meter-label,.presence-control label,.mic-status,.audio-note,.user-section-title,.user-empty,.chat-hint,.chat-msg time,.tx-header,.tx-callsign small,.tx-qth){color:var(--rt-muted)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.users-panel,.divider,.tx-header,.tx-row){border-color:var(--rt-border)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .divider{background:var(--rt-border)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .users-panel h4,
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .tx-when{color:var(--rt-text)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell :is(.audio-controls button,.chat-form button,.chat-upload-label){background:var(--rt-action);color:var(--rt-action-text);border:1px solid var(--rt-action);border-radius:8px;box-shadow:none;min-height:42px}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .audio-controls button.muted{background:#97283a;border-color:#97283a;color:#fff}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring{background:var(--rt-raised);box-shadow:0 0 0 6px var(--rt-border),0 0 28px var(--rt-glow)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button{border-color:var(--rt-ring);color:var(--rt-ring);font-family:var(--rt-font);background:var(--rt-panel);box-shadow:0 0 22px var(--rt-glow)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button.talking:not(.talk-warning){background:#9b122b;border-color:#ff526b;color:#fff;box-shadow:0 0 35px rgba(255,44,75,.5)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .tx-pill{color:var(--rt-ring);background:var(--rt-panel);border-color:var(--rt-border);font-variant-numeric:tabular-nums}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .tx-pill .dot{background:var(--rt-ring)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .tx-red{color:#ff7587}
body:is([data-radio-theme=clean],[data-radio-theme=desert],[data-radio-theme=paper]) .voice-shell .radio-console .tx-red{color:#a51c36}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .user-pill.speaking{background:var(--rt-selected);border-color:var(--rt-accent)}
body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .team-radio-private-note{color:var(--rt-muted);border-color:var(--rt-border)}
body[data-radio-theme]:not([data-radio-theme=classic]) .radio-appearance{background:var(--rt-panel);color:var(--rt-text);border-color:var(--rt-border)}
body[data-radio-theme]:not([data-radio-theme=classic]) .radio-appearance select{background:var(--rt-raised);color:var(--rt-text);border-color:var(--rt-border)}
body:is([data-radio-theme=clean],[data-radio-theme=desert],[data-radio-theme=paper]) .radio-appearance select{color-scheme:light}
body[data-radio-theme]:not([data-radio-theme=classic]) .radio-appearance select:focus-visible{outline-color:var(--rt-accent)}
body:is([data-radio-theme=clean],[data-radio-theme=desert],[data-radio-theme=paper]) .voice-shell .radio-console .audio-meter i{opacity:.26}
body:is([data-radio-theme=clean],[data-radio-theme=desert],[data-radio-theme=paper]) .voice-shell .radio-console .audio-meter i.active{opacity:1}
body:is([data-radio-theme=clean],[data-radio-theme=desert],[data-radio-theme=paper]) .voice-shell .radio-console .tx-duration{color:#096333}

/* Shape and grouping distinguish the skins without rearranging the PTT
   element or changing its pointer/keyboard handlers. */
body[data-radio-theme=arctic] .voice-shell .radio-console .status-row{padding:14px;background:var(--rt-raised);border-radius:12px}
body[data-radio-theme=arctic] .voice-shell .radio-console .channel-strip{border-left:4px solid var(--rt-accent)}
body[data-radio-theme=arctic] .voice-shell .radio-console .live-title{letter-spacing:2px}
body[data-radio-theme=tactical] .voice-shell .radio-console .live-title{background:var(--rt-raised);padding:10px;text-align:left;border-bottom:2px solid var(--rt-accent)}
body[data-radio-theme=tactical] .voice-shell .radio-console .status-row{gap:8px}
body[data-radio-theme=tactical] .voice-shell .radio-console .mini-status{padding:8px;border:1px solid var(--rt-border);border-radius:3px}
body[data-radio-theme=tactical] .voice-shell .radio-console :is(.channel,.user-pill,.audio-controls button){border-radius:3px;font-family:var(--rt-font)}
body[data-radio-theme=tactical] .voice-shell .radio-console .tx-pill{border-radius:4px}
body[data-radio-theme=clean] .voice-shell .radio-console .live-title{text-align:left;font-size:18px;letter-spacing:0}
body[data-radio-theme=clean] .voice-shell .radio-console .status-row{background:var(--rt-raised);padding:12px;border-radius:10px}
body[data-radio-theme=clean] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 2px var(--rt-border)}
body[data-radio-theme=clean] .voice-shell .radio-console .ptt-ring .ptt-button{box-shadow:none;border-width:3px}
body[data-radio-theme=clean] .voice-shell .radio-console .tx-pill{border-radius:8px}
body[data-radio-theme=retro] .voice-shell .radio-console .status-row{background:#14140b;border:3px inset #6d6037;padding:14px;border-radius:4px}
body[data-radio-theme=retro] .voice-shell .radio-console .live-title{letter-spacing:2px;text-align:left;padding:8px 0}
body[data-radio-theme=retro] .voice-shell .radio-console .mini-value{font-family:var(--rt-font);letter-spacing:1px}
body[data-radio-theme=retro] .voice-shell .radio-console .tx-pill{border-radius:3px;border:3px inset #6d6037;background:#14140b}
body[data-radio-theme=retro] .voice-shell .radio-console .channel{border-radius:4px;font-family:var(--rt-font)}

/* Ten additional looks retain every functional radio control. */
body[data-radio-theme=violet] .voice-shell .radio-console .status-row{background:var(--rt-raised);padding:14px;border-radius:18px}
body[data-radio-theme=violet] .voice-shell .radio-console .live-title{letter-spacing:3px;padding:6px}
body[data-radio-theme=violet] .voice-shell .radio-console .audio-controls button{border-radius:22px}
body[data-radio-theme=cyber] .voice-shell .radio-console .live-title{text-align:left;border-left:4px solid var(--rt-ring);padding:10px 12px;background:var(--rt-raised);letter-spacing:2px}
body[data-radio-theme=cyber] .voice-shell .radio-console .mini-status{border-bottom:2px solid var(--rt-accent);padding:8px 0}
body[data-radio-theme=cyber] .voice-shell .radio-console :is(.channel,.user-pill,.tx-pill,.audio-controls button){border-radius:0}
body[data-radio-theme=forest] .voice-shell .radio-console .live-title{text-align:left;text-transform:none;padding:8px 0}
body[data-radio-theme=forest] .voice-shell .radio-console .status-row{padding:14px;border:1px solid var(--rt-border);border-radius:16px}
body[data-radio-theme=forest] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 3px var(--rt-border)}
body[data-radio-theme=forest] .voice-shell .radio-console .channel.active{box-shadow:inset 0 -3px var(--rt-accent)}
body[data-radio-theme=graphite] .voice-shell .radio-console .live-title{text-align:left;border-bottom:1px solid var(--rt-border);padding:8px 0 14px;letter-spacing:2px}
body[data-radio-theme=graphite] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 2px var(--rt-border)}
body[data-radio-theme=graphite] .voice-shell .radio-console :is(.audio-controls button,.tx-pill){border-radius:5px}
body[data-radio-theme=graphite] .voice-shell .radio-console .mini-status{padding:6px 0}
body[data-radio-theme=ocean] .voice-shell .radio-console .status-row{border-radius:24px;background:var(--rt-raised);padding:16px 12px}
body[data-radio-theme=ocean] .voice-shell .radio-console .channel-strip{border-radius:30px;border-bottom:3px solid var(--rt-accent)}
body[data-radio-theme=ocean] .voice-shell .radio-console .audio-controls button{border-radius:24px}
body[data-radio-theme=ocean] .voice-shell .radio-console .live-title{letter-spacing:2px;padding:8px 0}
body[data-radio-theme=desert] .voice-shell .radio-console .status-row{background:var(--rt-raised);border-top:3px double var(--rt-border);border-bottom:3px double var(--rt-border);padding:12px 8px}
body[data-radio-theme=desert] .voice-shell .radio-console .live-title{text-align:left;letter-spacing:1px;padding:8px 0}
body[data-radio-theme=desert] .voice-shell .radio-console .tx-pill{border-radius:6px}
body[data-radio-theme=desert] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 3px var(--rt-border)}
body[data-radio-theme=ruby] .voice-shell .radio-console .live-title{border-bottom:2px solid var(--rt-accent);padding:8px 0 12px;letter-spacing:2px}
body[data-radio-theme=ruby] .voice-shell .radio-console .mini-status{background:var(--rt-raised);border-radius:8px;padding:10px 6px}
body[data-radio-theme=ruby] .voice-shell .radio-console .channel.active{box-shadow:inset 4px 0 var(--rt-accent)}
body[data-radio-theme=paper] .voice-shell .radio-console .live-title{text-align:left;letter-spacing:0;border-bottom:2px solid var(--rt-text);padding:8px 0 12px}
body[data-radio-theme=paper] .voice-shell .radio-console :is(.channel,.user-pill,.audio-controls button,.tx-pill){border-radius:0}
body[data-radio-theme=paper] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 1px var(--rt-border)}
body[data-radio-theme=paper] .voice-shell .radio-console .ptt-ring .ptt-button{box-shadow:none;border-width:3px}
body[data-radio-theme=paper] .voice-shell .radio-console .status-row{gap:8px}
body[data-radio-theme=paper] .voice-shell .radio-console .mini-status{border-bottom:1px solid var(--rt-border);padding:10px 0}
body[data-radio-theme=terminal] .voice-shell .radio-console .live-title{text-align:left;border:1px solid var(--rt-accent);padding:10px;letter-spacing:2px}
body[data-radio-theme=terminal] .voice-shell .radio-console :is(.channel,.user-pill,.audio-controls button,.tx-pill){border-radius:0;font-family:var(--rt-font)}
body[data-radio-theme=terminal] .voice-shell .radio-console .status-row{background:var(--rt-bg);padding:12px;border:1px dashed var(--rt-border)}
body[data-radio-theme=terminal] .voice-shell .radio-console .ptt-ring{box-shadow:0 0 0 1px var(--rt-accent)}
body[data-radio-theme=copper] .voice-shell .radio-console .live-title{letter-spacing:2px;text-align:left;border-bottom:3px double var(--rt-border);padding:8px 0 12px}
body[data-radio-theme=copper] .voice-shell .radio-console .status-row{background:var(--rt-raised);padding:14px;border:3px ridge var(--rt-border);border-radius:6px}
body[data-radio-theme=copper] .voice-shell .radio-console .tx-pill{border-radius:6px;border:2px solid var(--rt-border)}
body[data-radio-theme=copper] .voice-shell .radio-console .audio-controls button{border-radius:6px}

@media(max-width:520px){
  .radio-appearance{margin:0 18px 12px;gap:8px;padding:8px 10px}
  .radio-appearance select{font-size:16px;min-height:44px}
  body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .radio-console{border-radius:0}
  body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button,
  body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button.talking:not(.talk-warning){background:transparent;border:0;box-shadow:none}
  body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button::before{border-color:var(--rt-ring);background:var(--rt-panel);box-shadow:0 0 22px var(--rt-glow)}
  body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button.talking:not(.talk-warning)::before{background:#9b122b;border-color:#ff526b;box-shadow:0 0 35px rgba(255,44,75,.5)}
  body:is([data-radio-theme=clean],[data-radio-theme=paper]) .voice-shell .radio-console .ptt-ring .ptt-button::before{border-width:3px;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
  .voice-shell .ptt-ring .ptt-button.talking,
  .voice-shell .ptt-ring .ptt-button.talking::before{animation:none!important}
}

body[data-radio-theme]:not([data-radio-theme=classic]) .voice-shell .ptt-ring .ptt-button:focus-visible{outline:2px solid var(--rt-accent);outline-offset:4px}
