:root{
  --navy:#061121;--navy2:#0a1c34;--panel:#071525f2;--panel2:#0a1d34ee;--line:#1a4269;
  --gold:#ffc83d;--gold2:#f2a900;--blue:#1588ff;--blue2:#0a4fa9;--green:#29f17c;
  --text:#f7fbff;--muted:#9fb3c8;--danger:#ff5148;--shadow:0 16px 45px rgba(0,0,0,.34);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--navy);color-scheme:dark}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--navy);color:var(--text)}
body{min-height:100dvh;overscroll-behavior-y:none;padding-bottom:env(safe-area-inset-bottom)}
button,input{font:inherit}.hidden{display:none!important}button{cursor:pointer}
.appShell{width:min(100%,900px);margin:0 auto;min-height:100dvh;background:linear-gradient(180deg,#08182a 0,#061120 100%);overflow:hidden;box-shadow:0 0 80px #0006}
.hero{
  position:relative;
  width:100%;
  aspect-ratio:3/2;
  min-height:0;
  padding:0;
  background:#061121 url('/assets/bridgeton-theme.webp') center center/100% 100% no-repeat;
  overflow:hidden;
}
.heroTop{
  position:absolute;
  z-index:3;
  top:calc(12px + env(safe-area-inset-top));
  left:14px;
  right:14px;
  display:grid;
  grid-template-columns:48px 1fr 48px;
  gap:10px;
  align-items:center;
  pointer-events:none;
}
.heroTopSpacer{display:block}
.iconBtn{
  width:46px;
  height:46px;
  border:1px solid #ffffff38;
  border-radius:14px;
  background:#07121ee6;
  color:var(--gold);
  font-size:23px;
  font-weight:900;
  box-shadow:0 8px 18px #0008;
  backdrop-filter:blur(8px);
  pointer-events:auto;
}
.panel{margin:12px;border:1px solid #1b4772;background:linear-gradient(180deg,var(--panel2),var(--panel));border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.joinPanel{padding:22px;max-width:560px;margin:14px auto 30px}.joinLogo{text-align:center;font-size:42px}.joinPanel h2{text-align:center;margin:4px 0 7px;font-size:26px}.joinPanel p{margin:0 0 18px;color:var(--muted);text-align:center;line-height:1.45}.field{display:block;margin:12px 0}.field span{display:block;margin:0 0 7px;color:#c5d6e7;font-size:11px;font-weight:900;letter-spacing:.7px}.field i{font-style:normal;color:#6f879f}.field input{width:100%;border:1px solid #24517a;background:#04101e;color:#fff;border-radius:14px;padding:15px;font-size:17px;outline:none;transition:border-color .14s,box-shadow .14s}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffc83d1a}.primaryBtn{width:100%;border:0;border-radius:15px;background:linear-gradient(180deg,#ffdb66,var(--gold2));color:#07101c;padding:16px;font-weight:1000;font-size:17px;box-shadow:0 10px 28px #d9970045}.primaryBtn:active{transform:translateY(1px)}.primaryBtn:disabled{opacity:.55}.joinNote{color:#7790a9;font-size:11px;line-height:1.4;margin-top:12px;text-align:center}
.radioLayout{padding-bottom:22px}.radioStage{position:relative;padding:14px 12px 16px;background:radial-gradient(circle at 50% 25%,#103158 0,#07192d 37%,#05111f 78%);border-top:1px solid #173d63;border-bottom:1px solid #173d63;overflow:hidden}.stageStatusRow{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:720px;margin:0 auto 4px}.statusPill,.peoplePill{border:1px solid #24527e;background:#071525e8;color:#dceaf6;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;display:flex;align-items:center;gap:7px}.peoplePill{color:#fff}.statusPill.live{border-color:#1c9e58;color:#88ffc0;background:#09291a}.statusPill.connecting{border-color:#7d6717;color:#ffe47c}.statusDot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.communityCopy{position:absolute;top:50%;transform:translateY(-50%);z-index:0;color:#f6e3b0;text-shadow:0 2px 4px #000;font-family:Georgia,serif;letter-spacing:2px}.communityCopy strong,.communityCopy span{display:block}.communityCopy span{font-size:10px;line-height:1.55;margin-top:5px}.leftCopy{left:clamp(10px,4vw,42px)}.rightCopy{right:clamp(10px,4vw,42px);text-align:center}.pttZone{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:6px auto 8px;max-width:720px}.pttRing{width:clamp(255px,65vw,390px);aspect-ratio:1;border-radius:50%;padding:11px;background:linear-gradient(145deg,#fff3a4,var(--gold2) 40%,#7b4500);box-shadow:0 12px 35px #000b,0 0 30px #ffbd2645}.ptt{width:100%;height:100%;border-radius:50%;border:4px solid #103b72;background:radial-gradient(circle at 50% 33%,#0d66bf 0,#083f84 42%,#052a58 72%,#041b39 100%);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:inset 0 0 0 7px #0b1a2c,inset 0 0 0 10px #168fff,0 0 22px #1588ff99;transition:transform .07s ease,filter .1s ease,box-shadow .15s ease}.ptt.pressed{transform:scale(.97);filter:brightness(.93)}.ptt.onair{background:radial-gradient(circle at 50% 33%,#22cc72 0,#118e4c 48%,#07552f 75%,#042c1b 100%);box-shadow:inset 0 0 0 7px #071d12,inset 0 0 0 10px #4dff9e,0 0 35px #25ff856e}.ptt.busy{background:radial-gradient(circle at 50% 33%,#2c4054,#17273a 55%,#0b1724);box-shadow:inset 0 0 0 7px #08111b,inset 0 0 0 10px #33536e,0 0 16px #000}.ptt.muted{background:radial-gradient(circle at 50% 33%,#753933,#3e1b1a 55%,#241112);box-shadow:inset 0 0 0 7px #170b0b,inset 0 0 0 10px #9b4c45}.pttMic{font-size:clamp(48px,11vw,76px);line-height:1}.ptt strong{font-size:clamp(20px,5vw,32px);line-height:1.05;margin-top:7px}.ptt small{font-size:clamp(10px,2.5vw,14px);font-weight:900;letter-spacing:1.2px;margin-top:7px;color:#a9d5ff}.waveBars{display:flex;justify-content:center;gap:4px;align-items:center}.waveBars i{width:4px;border-radius:4px;background:linear-gradient(var(--gold),#d28a00);box-shadow:0 0 8px #ffc83d88}.waveBars i:nth-child(1),.waveBars i:nth-child(5){height:18px}.waveBars i:nth-child(2),.waveBars i:nth-child(4){height:32px}.waveBars i:nth-child(3){height:48px}.ptt.onair~.waveRight i,.pttRing:has(.onair)~.waveRight i{animation:wave .6s ease-in-out infinite alternate}.pttZone:has(.onair) .waveBars i{animation:wave .6s ease-in-out infinite alternate}@keyframes wave{to{transform:scaleY(.5);opacity:.55}}
.statsRow{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:620px;margin:0 auto 12px}.statCard{border:1px solid #1b5688;background:linear-gradient(180deg,#092342,#06172b);color:#fff;border-radius:19px;padding:12px;display:flex;flex-direction:column;align-items:center;min-height:100px;justify-content:center;box-shadow:0 9px 25px #0005}.statIcon{font-size:26px}.statCard strong{font-size:19px;margin-top:5px}.statCard small{color:#b5cce0;margin-top:3px}.channelBar{display:flex;align-items:center;gap:13px;max-width:640px;margin:0 auto;border:1px solid #1f5784;background:#07182c;border-radius:999px;padding:11px 18px}.miniWave{display:flex;align-items:center;gap:3px}.miniWave i{width:3px;border-radius:3px;background:#3fa9ff;height:10px}.miniWave i:nth-child(2),.miniWave i:nth-child(5){height:22px}.miniWave i:nth-child(3),.miniWave i:nth-child(4){height:30px}.channelText{min-width:0}.channelText strong,.channelText span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channelText strong{font-size:16px}.channelText span{color:#8eb0ce;font-size:12px;margin-top:2px}
.tabsPanel{overflow:hidden;margin-top:12px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #173e63}.tab{border:0;background:transparent;color:#91a8bf;padding:14px 8px;font-size:11px;font-weight:950;letter-spacing:.3px}.tab.active{color:#07111f;background:linear-gradient(180deg,#ffdf75,#f1b520)}.tabPage{display:none;padding:15px}.tabPage.active{display:block}.quickGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickCard{display:flex;align-items:center;gap:10px;border:1px solid #17446d;background:#061626;border-radius:14px;padding:13px}.quickCard>span{font-size:25px}.quickCard small,.quickCard strong{display:block}.quickCard small{font-size:9px;color:#7891aa;font-weight:900;letter-spacing:.7px}.quickCard strong{margin-top:3px;font-size:14px}.rules{display:flex;flex-direction:column;gap:5px;border:1px solid #1a466c;background:#07192a;border-radius:14px;padding:13px;margin-top:10px}.rules span{font-size:12px;color:#8fa9c1;line-height:1.4}.listTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.listTop span{color:#829bb4;font-size:12px}.members{max-height:390px;overflow:auto;overscroll-behavior:contain}.member{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid #123452}.member:first-child{border-top:0}.avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:#0c2947;border:1px solid #1d588d;font-weight:950}.memberInfo{min-width:0;flex:1}.memberName{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memberMeta{color:#7894af;font-size:11px;margin-top:2px}.badge{font-size:9px;font-weight:1000;border-radius:999px;padding:5px 7px;background:#16344f;color:#bdd0e3}.badge.talk{background:#0e6337;color:#a4ffcb}.badge.admin{background:#5f470c;color:#ffe987}.adminActions{display:flex;gap:4px}.adminActions button{border:0;border-radius:8px;padding:6px 7px;font-size:9px;font-weight:950;background:#12334f;color:#d3e3f1}.adminActions .danger{background:#4b1817;color:#ffb6b2}.adminActions .muteBtn{background:#5b460f;color:#ffe583}.secondaryBtn,.leaveBtn{width:100%;margin-top:10px;border-radius:12px;padding:12px;font-weight:900}.secondaryBtn{border:1px solid #1b527e;background:#07182b;color:#d9e9f7}.leaveBtn{border:1px solid #56302e;background:#241314;color:#ffaaa5}.infoGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.infoGrid>div{border:1px solid #163f65;background:#061626;border-radius:13px;padding:12px}.infoGrid small,.infoGrid strong{display:block}.infoGrid small{font-size:9px;color:#718ba5;font-weight:900;letter-spacing:.7px}.infoGrid strong{font-size:14px;margin-top:4px}.adminBar{margin-top:10px;border:1px solid #6e5111;background:#2b240d;border-radius:13px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.adminBar button{border:0;border-radius:9px;background:#7b241f;color:#fff1ef;padding:8px 10px;font-size:10px;font-weight:950}
.audioUnlock{position:fixed;z-index:20;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);border:0;border-radius:999px;padding:13px 18px;background:#fff;color:#06111f;font-weight:1000;box-shadow:0 12px 36px #0008}.toast{position:fixed;z-index:30;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,18px);opacity:0;pointer-events:none;max-width:min(92vw,520px);padding:10px 14px;border-radius:999px;border:1px solid #285b86;background:#061626f2;color:#fff;font-size:12px;font-weight:850;text-align:center;box-shadow:0 12px 30px #0009;transition:opacity .16s,transform .16s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:620px){.communityCopy{display:none}.pttZone{grid-template-columns:34px auto 34px;gap:4px}.waveBars i{width:3px}.pttRing{width:min(72vw,330px)}.statsRow{max-width:520px}.radioStage{padding-inline:10px}.panel{margin-inline:10px}}
@media(max-width:390px){.heroTop{grid-template-columns:42px 1fr 42px;left:10px;right:10px}.iconBtn{width:40px;height:40px}.pttZone{grid-template-columns:22px auto 22px}.waveBars{gap:2px}.waveBars i{width:2px}.quickGrid,.infoGrid{grid-template-columns:1fr}.statCard{min-height:92px}.ptt strong{font-size:21px}}
@media(min-width:760px){.radioLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:12px;padding:12px}.radioStage{border:1px solid #173d63;border-radius:24px;min-height:620px;display:flex;flex-direction:column;justify-content:center}.tabsPanel{margin:0;align-self:start}.hero{border-radius:0 0 24px 24px}.panel{margin-left:0;margin-right:0}.joinPanel{margin:18px auto 34px}.communityCopy{top:48%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Password-protected admin control */
.adminOverlay{position:fixed;z-index:80;inset:0;background:#020913d9;backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}
.adminModal{width:min(100%,560px);max-height:min(90dvh,760px);overflow:auto;border:1px solid #9b7218;background:linear-gradient(180deg,#0a1d34f8,#06111ff8);border-radius:24px;padding:18px;box-shadow:0 24px 80px #000b,0 0 0 1px #ffd75f22 inset}
.adminModalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.adminModalHead small{display:block;color:var(--gold);font-size:9px;font-weight:1000;letter-spacing:1.4px}.adminModalHead h2{margin:2px 0 0;font-size:24px}.adminCloseBtn{width:42px;height:42px;border-radius:13px;border:1px solid #2c5274;background:#071525;color:#fff;font-size:18px;font-weight:900}.adminShield{text-align:center;font-size:52px;margin:8px 0}.adminIntro{color:#9fb3c8;line-height:1.45;text-align:center;margin:0 4px 16px}.adminSecurityNote{text-align:center;color:#6f8aa5;font-size:10px;margin-top:10px}.adminUnlocked{display:flex;align-items:center;gap:12px;border:1px solid #1d7249;background:#092a1b;border-radius:15px;padding:12px;margin:5px 0 12px}.adminUnlocked>span{color:#42ff9a;font-size:22px;text-shadow:0 0 14px #31ff8d}.adminUnlocked strong,.adminUnlocked small{display:block}.adminUnlocked small{color:#9ed8ba;margin-top:2px}.adminHelpGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.adminHelpGrid>div{border:1px solid #1e4668;background:#061727;border-radius:13px;padding:10px}.adminHelpGrid strong{display:block;color:#ffd95f;font-size:11px}.adminHelpGrid span{display:block;color:#8fa8bf;font-size:10px;line-height:1.35;margin-top:4px}.adminGoBtn{margin-top:12px}.bannedSection{margin-top:14px;border:1px solid #56302e;background:#160e10;border-radius:15px;padding:12px}.bannedHead{display:flex;justify-content:space-between;align-items:center}.bannedHead span{min-width:28px;text-align:center;border-radius:999px;background:#4b1817;color:#ffb6b2;padding:4px 7px;font-size:10px;font-weight:950}.bannedList{margin-top:8px;display:flex;flex-direction:column;gap:7px;max-height:220px;overflow:auto}.bannedRow{display:flex;align-items:center;gap:9px;border-top:1px solid #3b2223;padding-top:8px}.bannedRow:first-child{border-top:0;padding-top:0}.bannedWho{min-width:0;flex:1}.bannedWho strong,.bannedWho small{display:block}.bannedWho strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bannedWho small{font-size:9px;color:#8f7778;margin-top:2px}.unbanBtn{border:1px solid #235d46;background:#0b3021;color:#a9ffd1;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:1000}.emptyAdmin{color:#8b7778;font-size:11px;padding:7px 0}.adminBarActions{display:flex;gap:6px}.adminBar .adminLockBtn{background:#17344f;color:#d9e9f7}.adminActions .banBtn{background:#711b1b;color:#ffd1cf}.adminActions .kickBtn{background:#4a2a12;color:#ffd6a5}
@media(max-width:520px){.adminHelpGrid{grid-template-columns:1fr}.adminModal{border-radius:20px;padding:15px}.adminBar{align-items:flex-start;flex-direction:column}.adminBarActions{width:100%}.adminBarActions button{flex:1}.adminActions{flex-wrap:wrap;justify-content:flex-end}.adminActions button{padding:7px 8px}}

.deviceSection{margin-top:14px;border:1px solid #244e70;background:#071421;border-radius:15px;padding:12px}.deviceNote{color:#7894ad;font-size:9px;line-height:1.35;margin-top:6px}.deviceLog{margin-top:9px;display:flex;flex-direction:column;gap:7px;max-height:300px;overflow:auto}.deviceRow{display:flex;align-items:center;gap:8px;border-top:1px solid #18334a;padding-top:8px}.deviceRow:first-child{border-top:0;padding-top:0}.deviceWho{min-width:0;flex:1}.deviceWho strong,.deviceWho small{display:block}.deviceWho strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deviceWho small{font-size:9px;color:#7590a7;margin-top:2px}.deviceBadge{border-radius:999px;padding:4px 7px;font-size:8px;font-weight:1000;white-space:nowrap}.deviceBadge.good{background:#0a3524;color:#8effbd}.deviceBadge.muted{background:#4b3a0a;color:#ffe493}.deviceBadge.banned{background:#4b1817;color:#ffb6b2}.deviceBanBtn{border:1px solid #7f2c2c;background:#4a1515;color:#ffd0cd;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:1000}@media(max-width:520px){.deviceRow{align-items:flex-start;flex-wrap:wrap}.deviceWho{min-width:70%}}

/* v5 reliable audio + mobile alignment polish */
.remoteAudio{position:fixed;left:-9999px;top:0;width:2px;height:2px;overflow:hidden;opacity:.01;pointer-events:none}
.remoteAudio audio{display:block!important;width:1px!important;height:1px!important;opacity:.01!important}
.stageStatusRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  width:100%;
  max-width:660px;
  margin:0 auto 8px;
}
.statusPill,.peoplePill,.soundPill{
  min-height:38px;
  padding:7px 11px;
  white-space:nowrap;
  justify-content:center;
}
.statusPill{justify-self:start}
.peoplePill{justify-self:end}
.soundPill{
  border:1px solid #24527e;
  background:#071525e8;
  color:#cfe5f8;
  border-radius:999px;
  font-size:10px;
  font-weight:1000;
  display:flex;
  align-items:center;
  gap:5px;
  transition:border-color .15s,background .15s,color .15s,transform .08s;
}
.soundPill:active{transform:scale(.97)}
.soundPill.soundOn{border-color:#1b6b4a;color:#a8ffd0;background:#08251a}
.soundPill.needsTap{border-color:#b98d20;color:#ffe483;background:#35280a;box-shadow:0 0 0 3px #ffcf3d18,0 0 18px #ffbd2633;animation:soundPulse 1.35s ease-in-out infinite}
@keyframes soundPulse{50%{filter:brightness(1.22)}}
.radioLayout{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.radioStage{padding:14px 12px 22px}
.pttZone{margin:8px auto 12px}
.statsRow{margin:0 auto 12px;gap:10px}
.statCard{min-height:88px;padding:10px 12px}
.channelBar{width:min(100%,640px);min-height:54px}
.audioUnlock{
  bottom:calc(88px + env(safe-area-inset-bottom));
  padding:12px 17px;
  background:linear-gradient(180deg,#ffdd6e,#f3b315);
  color:#07111f;
  border:1px solid #ffe8a1;
  box-shadow:0 12px 36px #0009,0 0 24px #ffc83d45;
}
html{scroll-padding-bottom:130px}

@media(max-width:620px){
  .radioStage{padding:12px 12px 22px}
  .stageStatusRow{gap:6px;margin-bottom:6px}
  .statusPill,.peoplePill,.soundPill{min-height:36px;padding:7px 9px;font-size:10px}
  .soundPill{font-size:9px}
  .pttZone{grid-template-columns:28px auto 28px;gap:3px;margin-top:5px}
  .pttRing{width:clamp(240px,64vw,300px);padding:9px}
  .ptt{border-width:3px;box-shadow:inset 0 0 0 6px #0b1a2c,inset 0 0 0 9px #168fff,0 0 20px #1588ff85}
  .pttMic{font-size:clamp(44px,10vw,62px)}
  .ptt strong{font-size:clamp(20px,4.8vw,27px);margin-top:6px}
  .ptt small{font-size:10px;margin-top:6px}
  .statsRow{width:100%;max-width:540px;gap:8px}
  .statCard{min-height:82px;border-radius:17px;padding:9px}
  .statIcon{font-size:23px}.statCard strong{font-size:17px}.statCard small{font-size:11px}
  .channelBar{border-radius:18px;padding:10px 14px}
  .tabsPanel{margin-top:10px}
}

@media(max-width:430px){
  .stageStatusRow{grid-template-columns:1fr auto 1fr}
  .statusPill,.peoplePill{font-size:9px;padding-inline:8px}
  .soundPill{width:38px;min-width:38px;padding:0;gap:0}
  .soundPill strong{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .soundPill span{font-size:16px}
  .pttRing{width:min(66vw,286px)}
  .waveBars i:nth-child(1),.waveBars i:nth-child(5){height:14px}
  .waveBars i:nth-child(2),.waveBars i:nth-child(4){height:24px}
  .waveBars i:nth-child(3){height:36px}
  .statsRow{gap:7px}
  .statCard{min-height:78px;padding:8px 6px}
  .channelText strong{font-size:15px}.channelText span{font-size:11px}
}

@media(max-width:360px){
  .pttRing{width:min(68vw,250px)}
  .stageStatusRow{gap:4px}
  .statusPill,.peoplePill{padding:6px 7px}
}


/* v6 radio chirp + hard-center PTT */
.pttZone{
  width:100%;
  max-width:720px;
  display:grid;
  grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr);
  align-items:center;
  justify-items:stretch;
  margin-left:auto;
  margin-right:auto;
}
.pttRing{grid-column:2;justify-self:center;margin:0}
.waveLeft{grid-column:1;justify-self:end}
.waveRight{grid-column:3;justify-self:start}
@media(max-width:620px){
  .pttZone{grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);width:100%;max-width:100%;padding:0}
  .pttRing{justify-self:center}
}
@media(max-width:390px){
  .pttZone{grid-template-columns:minmax(22px,1fr) auto minmax(22px,1fr)}
}


/* v8 permanent community user ID */
.communityIdTag{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;border:1px solid #315b7d;background:#071a2a;color:#8fd4ff;font-size:8px;font-weight:1000;letter-spacing:.45px;vertical-align:1px;white-space:nowrap}
.memberMeta{display:flex;flex-wrap:wrap;align-items:center;gap:0}
#yourIdValue{color:#8fd4ff;letter-spacing:.6px}

.knownAs{color:#8fc1e5!important;margin-top:4px!important;line-height:1.3}

/* v9 Ultimate reliability + moderation + PWA */
.statusPill.fair{border-color:#a96e16;background:#2a1b08;color:#ffd878}.statusPill.noaudio{border-color:#a53b35;background:#2b0d0d;color:#ffb7b1}.statusPill.connecting{border-color:#315979;background:#0b1b2c;color:#9ccdf4}
.ptt.priority{box-shadow:inset 0 0 0 6px #0b1a2c,inset 0 0 0 9px #ffd34d,0 0 28px #ffca3d66}.ptt.priority #pttMain{color:#ffe57f}
.micMeter{height:22px;display:flex;align-items:flex-end;justify-content:center;gap:3px;margin-top:8px}.micMeter i{width:4px;height:5px;border-radius:999px;background:#34526c;transition:height .06s,background .06s}.micMeter i.active:nth-child(1),.micMeter i.active:nth-child(2),.micMeter i.active:nth-child(3),.micMeter i.active:nth-child(4){height:10px;background:#3cff92}.micMeter i.active:nth-child(5){height:14px;background:#a9ff59}.micMeter i.active:nth-child(6){height:18px;background:#ffd54f}.micMeter i.active:nth-child(7){height:22px;background:#ff8f59}
.channelBar{display:grid}.txTimer{min-width:58px;text-align:right;font-variant-numeric:tabular-nums;font-weight:1000;color:#7fd2ff;font-size:13px}.channelBar{grid-template-columns:auto 1fr auto}.speakerFirst{border-color:#257ec0!important;box-shadow:0 0 0 1px #248bd133 inset}.badge.role{background:#133559;color:#9ed7ff;border-color:#2b699a}.deviceBadge.mod{background:#12375b;color:#a9ddff}.modBtn,.deviceModBtn{border:1px solid #27679d;background:#0c2a45;color:#bde4ff;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:1000}.deviceModBtn{white-space:nowrap}.infoActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.installReady{border-color:#2b8a5a!important;color:#a7ffd0!important}.adminRoomControls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.adminRoomControls button{border:1px solid #2f648e;background:#0a2035;color:#d3ebff;border-radius:11px;padding:10px;font-size:10px;font-weight:1000}.moderationLogSection,.diagnosticsSection{margin-top:14px;border:1px solid #244e70;background:#071421;border-radius:15px;padding:12px}.adminScroll{margin-top:8px;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:7px}.logRow,.diagRow{border-top:1px solid #18334a;padding-top:7px}.logRow:first-child,.diagRow:first-child{border-top:0}.logRow strong,.logRow span,.logRow small,.diagRow strong,.diagRow span,.diagRow small{display:block}.logRow strong{font-size:10px;color:#ffd95f}.logRow span,.diagRow span{font-size:10px;color:#a9c6dc;margin-top:2px}.logRow small,.diagRow small{font-size:9px;color:#6f8da6;margin-top:2px;line-height:1.35}.diagRow strong{font-size:11px}.member{transition:border-color .15s,box-shadow .15s}
@media(max-width:520px){.channelBar{grid-template-columns:auto minmax(0,1fr) auto}.txTimer{min-width:48px;font-size:11px}.infoActions{grid-template-columns:1fr}.adminRoomControls{grid-template-columns:1fr}.adminActions{gap:5px}.adminActions .modBtn{flex-basis:100%}.deviceModBtn,.deviceBanBtn{padding:6px 7px}}
\n\n/* v10 mandatory Spanish community agreement */\n.agreementOverlay{position:fixed;z-index:95;inset:0;background:#020913ed;backdrop-filter:blur(14px);display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));overflow:auto}\n.agreementModal{width:min(100%,560px);max-height:92dvh;overflow:auto;border:1px solid #b88618;background:linear-gradient(180deg,#0b2038,#06111f);border-radius:24px;padding:20px;box-shadow:0 28px 90px #000d,0 0 0 1px #ffd75f22 inset}\n.agreementBadge{text-align:center;font-size:44px;line-height:1}.agreementEyebrow{text-align:center;color:var(--gold);font-size:9px;font-weight:1000;letter-spacing:1.5px;margin-top:8px}.agreementModal h2{text-align:center;margin:4px 0 8px;font-size:27px}.agreementLead{text-align:center;color:#a8bed2;line-height:1.45;margin:0 auto 15px;max-width:470px}.agreementRules{display:grid;gap:8px}.agreementRules>div{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:start;border:1px solid #1d4c75;background:#06182a;border-radius:14px;padding:11px}.agreementRules>div>span{font-size:24px;text-align:center}.agreementRules p{margin:0;color:#a9bed0;font-size:12px;line-height:1.4}.agreementRules strong{color:#fff;font-size:12px;letter-spacing:.35px}.agreementWarning{display:flex;flex-direction:column;gap:4px;margin:11px 0;border:1px solid #7c342d;background:#2a1212;border-radius:14px;padding:11px}.agreementWarning strong{color:#ffb3ac;font-size:11px}.agreementWarning span{color:#e7c7c4;font-size:11px;line-height:1.4}.agreementCheck{display:flex;align-items:flex-start;gap:10px;border:1px solid #735a1e;background:#211c0c;border-radius:14px;padding:12px;margin:12px 0;cursor:pointer}.agreementCheck input{width:22px;height:22px;accent-color:#ffc83d;flex:none;margin:0}.agreementCheck span{font-size:12px;line-height:1.4;color:#f1dfae;font-weight:800}.agreementCancelBtn{width:100%;margin-top:8px;border:1px solid #304c67;background:#071525;color:#a8bfd3;border-radius:13px;padding:12px;font-weight:900}.agreementModal .primaryBtn:disabled{filter:grayscale(.45);opacity:.42}.agreementModal .primaryBtn:not(:disabled){box-shadow:0 0 0 1px #ffe79455 inset,0 12px 32px #d997004d}\n@media(max-width:420px){.agreementModal{padding:16px;border-radius:20px}.agreementModal h2{font-size:24px}.agreementRules>div{grid-template-columns:32px 1fr;padding:10px}.agreementRules>div>span{font-size:21px}}\n
/* v12 EN/ES language toggle */
.langToggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:74px;height:42px;padding:0 11px;border:1px solid #45627d;background:#061421d9;color:#8097aa;border-radius:13px;font-size:11px;font-weight:1000;letter-spacing:.45px;box-shadow:0 8px 24px #0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.langToggle i{font-style:normal;color:#566f83;font-size:10px}.langToggle span{transition:.15s ease;color:#829aad}.langToggle span.active{color:#ffd45b;text-shadow:0 0 14px #ffc63c55}.agreementLangRow{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;height:0;overflow:visible}.agreementLangToggle{position:relative;top:-5px;right:-4px;height:36px;min-width:68px;border-color:#7f6424;background:#071829f2}.heroTop .langToggle{justify-self:end}
@media(max-width:420px){.langToggle{height:38px;min-width:68px;padding:0 9px}.agreementLangToggle{height:34px;min-width:64px;top:-4px;right:-2px}}
