/* Approved physical-radio skin: scoped to the two preview accounts. */
body.radio-rugged{background:#090e0b;color:#eee2c5;--cream:#eee2c5;--amber:#ffba49;--orange:#ff7809;color-scheme:dark}
.radio-rugged main{width:100%;max-width:480px;height:100dvh;padding:18px 19px max(15px,env(safe-area-inset-bottom));border:7px ridge #62685a;border-radius:34px;background:radial-gradient(ellipse at 55% 45%,#27332966,transparent 65%),url('/radio-case-texture-v1.svg'),#101712;box-shadow:inset 0 0 0 3px #080c09,inset 0 0 0 6px #434c3d,inset 0 0 28px #000,0 0 40px #000;overflow:hidden}
.radio-rugged main:before{inset:7px;background:radial-gradient(circle at 8px 8px,#050805 0 2px,#a1a28f 3px,#252c24 5px,#050805 7px,transparent 8px),radial-gradient(circle at calc(100% - 8px) 8px,#050805 0 2px,#a1a28f 3px,#252c24 5px,#050805 7px,transparent 8px),radial-gradient(circle at 8px calc(100% - 8px),#050805 0 2px,#a1a28f 3px,#252c24 5px,#050805 7px,transparent 8px),radial-gradient(circle at calc(100% - 8px) calc(100% - 8px),#050805 0 2px,#a1a28f 3px,#252c24 5px,#050805 7px,transparent 8px);z-index:0;border-radius:24px}
.radio-rugged main:after{content:'';position:absolute;top:0;left:17%;right:17%;height:5px;background:linear-gradient(90deg,#ff790a 0 25%,#161d16 25% 75%,#ff790a 75%);box-shadow:0 1px 2px #ffa83e;pointer-events:none}
.radio-rugged main>header{min-height:49px;height:49px;padding:0 0 7px;margin:0 0 6px;border-bottom:0;position:relative;z-index:1}
.radio-rugged header:after{display:none}.radio-rugged header .radio-header-nav{left:0;top:0}.radio-rugged header .radio-header-nav a{background:linear-gradient(#263026,#0a0f0b);border:2px solid #050805;box-shadow:0 0 0 1px #4e5847,inset 0 1px #83907355;border-radius:8px;width:34px;height:34px;color:var(--cream)}
.radio-rugged header .radio-header-nav a+ a,.radio-rugged header .radio-header-nav span,.radio-rugged header small{display:none}
.radio-rugged header .radio-header-nav+div{background:linear-gradient(#333b2e,#10170f);border:3px ridge #515b48;padding:2px 15px;clip-path:polygon(8% 0,92% 0,100% 25%,95% 100%,5% 100%,0 25%);margin:auto}
.radio-rugged header .radio-brand img{width:100px;height:28px;filter:sepia(.4) saturate(.65)}
.radio-rugged .rr-title{position:absolute;right:0;top:4px;font-size:17px;border-bottom:2px solid var(--orange);padding-bottom:4px}
.radio-rugged #channel{display:flex;position:relative;flex-direction:column;gap:6px;min-height:0;z-index:1}
.radio-rugged button,.radio-rugged a{font-family:Four,Tahoma,sans-serif}
.radio-rugged button:where(:not(#ptt)),.radio-rugged .rr-footer>a{color:var(--cream);border:1px solid #4f5948;border-radius:8px;background:linear-gradient(135deg,#253024,#090e0a);box-shadow:inset 0 1px #69745a33,0 2px 2px #000a;min-height:38px;font-size:13px;padding:5px 8px;line-height:1.5}
.radio-rugged button:hover{border-color:#ffac45}.radio-rugged button:focus-visible,.radio-rugged a:focus-visible,.radio-rugged input:focus-visible,.radio-rugged summary:focus-visible{outline:2px solid #ffd27d;outline-offset:2px}
.radio-rugged button:disabled{opacity:.5}.radio-rugged .rr-display{position:relative;flex:none;padding:10px 12px 6px;background:radial-gradient(ellipse at 30% 20%,#ffd77c,#ffbd48 68%,#d88c27);border:3px solid #100f08;outline:1px solid #72684d;border-radius:16px;box-shadow:inset 0 2px 9px #5a3a17aa,0 3px 0 #050905;color:#111b10;min-height:108px;overflow:hidden}
.radio-rugged .rr-display:before{content:'';position:absolute;inset:0;opacity:.12;background:url('/radio-case-texture-v1.svg');pointer-events:none}
.radio-rugged .rr-display>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}
.radio-rugged #group-name{color:#142010;font-size:19px;margin:0;max-width:70%;line-height:1.6}
.radio-rugged #presence{font-size:11px;color:#263921;white-space:nowrap}
.radio-rugged .rr-frequency-label{text-align:center;font-size:12px;color:#544920;line-height:1.2}
.radio-rugged #current-group-code{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;direction:ltr;width:100%;min-height:46px;padding:0!important;border:0;background:none;box-shadow:none;color:#101b0d}
.radio-rugged #current-group-code b{font:900 clamp(30px,9vw,48px)/1.1 'Arial Black',monospace;letter-spacing:3px;text-shadow:0 1px #ffe4a9}
.radio-rugged #current-group-code span{font:13px Four,Tahoma;border:1px solid #4c401f;border-radius:7px;padding:3px 8px;background:#ffe4ad;box-shadow:0 2px 0 #ad7829}
.radio-rugged .rr-join{display:flex;align-items:center;gap:6px;background:#edddba;border:2px solid #faf1d9;border-radius:10px;padding:4px;flex:none;color:#191d12;box-shadow:0 3px 3px #0006}
.radio-rugged .rr-join label{font-size:12px;white-space:nowrap;margin:0 2px}.radio-rugged .rr-join input{font:16px Four,Tahoma;min-height:38px;height:38px;margin:0;min-width:0;width:0;flex:1;padding:3px 6px;border:1px solid #887c60;border-radius:7px;background:#e4d5b7;color:#26291b;box-shadow:inset 0 1px 3px #95866a66;text-align:center;letter-spacing:2px}
.radio-rugged .rr-join input::placeholder{color:#736b59;letter-spacing:0}.radio-rugged #rr-join,.radio-rugged #create{background:linear-gradient(#ff9324,#ff6700);color:#141a0f;border:1px solid #ffbd69;box-shadow:inset 0 1px #ffe7ab,0 2px 2px #0005;font-weight:bold}
.radio-rugged .rr-actions{display:grid;grid-template-columns:1fr 1.25fr 1fr;direction:ltr;gap:5px;flex:none}
.radio-rugged .rr-actions button{width:100%!important;min-width:0!important;height:39px!important;min-height:39px!important;margin:0!important;box-shadow:inset 0 1px #65735855,0 0 0 2px #060a07;font-size:12px!important;direction:rtl;white-space:nowrap}
.radio-rugged #group-menu:before{content:'♟';margin-left:6px;font-size:19px}.radio-rugged #members:before{content:'+';font-size:18px;margin-left:5px}
.radio-rugged #mute{position:static;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:8px;color:var(--cream)}.radio-rugged #mute svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.radio-rugged #mute small{color:inherit;display:block;font-size:11px;position:static;width:auto;height:auto;clip:auto;margin:0;overflow:visible;white-space:nowrap}.radio-rugged #mute .speaker-slash{display:none}.radio-rugged #mute[aria-pressed=true]{color:#ffb19f;border-color:#e4784b}.radio-rugged #mute[aria-pressed=true] .speaker-slash{display:block}.radio-rugged #mute[aria-pressed=true] .speaker-waves{display:none}
.radio-rugged #member-presence{padding:2px 0;margin:0;border:0;max-height:65px;min-height:30px;gap:4px;flex:none;display:flex;flex-wrap:wrap;direction:ltr}
.radio-rugged #member-presence .person{max-width:none;flex:1 0 45%;border:1px solid #4b5840;border-radius:10px;background:linear-gradient(120deg,#2c3929,#11190f);padding:6px;font:12px/1.4 Four,Tahoma;gap:6px}
.radio-rugged #member-presence .person:before{content:'♟';display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #b9b391;color:#e4d7b3;background:#202b20;flex:none}
.radio-rugged #member-presence i{width:7px;height:7px}.radio-rugged #member-presence .offline i{background:#828577}
.radio-rugged .console{position:relative;flex:1;min-height:115px;height:auto;margin:0;padding:8px 0;--dial-size:clamp(112px,calc(100dvh - 520px),210px);background:none}
.radio-rugged .hud-rings,.radio-rugged .hud-label{display:none}
.radio-rugged .console #ptt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:var(--dial-size);height:var(--dial-size);min-width:100px;border:4px solid #ef8a26;border-radius:50%;background:radial-gradient(circle at 35% 22%,#ffab40,#f77508 65%,#a34200);box-shadow:inset 0 3px 3px #ffd57a,inset 0 -5px 8px #773200,0 0 0 4px #070b08,0 0 0 7px #72766a,0 0 0 10px #111a12,0 9px 16px #000;color:#11170c;overflow:hidden}
.radio-rugged #ptt:before{content:'';position:absolute;inset:0;background:url('/radio-case-texture-v1.svg');opacity:.16;pointer-events:none}
.radio-rugged #ptt:after{inset:5px;border-color:#f8b25c66;box-shadow:inset 0 0 10px #ad48006b}
.radio-rugged #ptt svg{width:50px!important;height:50px!important;color:#151b0e;filter:none;position:relative}
.radio-rugged .hold-label{margin:0;font:13px/1.4 Four,Tahoma;color:#11190b;white-space:nowrap;position:relative}.radio-rugged .hold-label:before,.radio-rugged .hold-label:after{display:none}
.radio-rugged .console #ptt.talking{background:radial-gradient(circle,#ffc665,#ff810d);box-shadow:inset 0 0 20px #ab5700,0 0 0 4px #0b130a,0 0 0 7px #e9b66a,0 0 0 10px #111a12,0 0 24px #ff9d3277}.radio-rugged .console #ptt:disabled{opacity:.6}
.radio-rugged #speaker{background:none;border:0;box-shadow:none;color:#e9dfc2;padding:0;margin:0;min-height:22px;font-size:12px;text-align:center;flex:none}.radio-rugged #speaker:before,.radio-rugged #speaker:after{display:none}
.radio-rugged .rr-grille{display:flex;justify-content:center;align-items:center;gap:3px;flex:none;height:29px;border:4px ridge #68705b;border-radius:8px;background:radial-gradient(circle,#010503 1px,transparent 2px) 0 0/5px 5px,#34402f;box-shadow:0 0 0 2px #060b07,inset 0 2px 6px #000}
.radio-rugged .rr-grille i{width:2px;height:5px;background:#9a642d}.radio-rugged .rr-grille i:nth-child(2n){height:9px}.radio-rugged .rr-grille i:nth-child(3n){height:14px}.radio-rugged .rr-grille i:nth-child(5n){height:18px}
.radio-rugged #radio-pilot{margin:0!important;padding:0 6px!important;border:1px solid #515c44!important;border-radius:8px!important;background:#10190f;flex:none}
.radio-rugged #radio-pilot>strong,.radio-rugged #radio-pilot>small{display:none!important}
.radio-rugged #radio-pilot button{position:relative;width:100%;background:none;border:0;border-bottom:1px solid #45503d;box-shadow:none;text-align:right;border-radius:0;padding:7px 2px 7px 45px;min-height:36px;font-size:12px}
.radio-rugged #radio-pilot button:before{content:'';position:absolute;left:1px;top:9px;width:31px;height:18px;border:1px solid #979989;border-radius:20px;background:#333a30;box-shadow:inset 0 1px 4px #000}
.radio-rugged #radio-pilot button:after{content:'';position:absolute;left:3px;top:11px;width:14px;height:14px;border-radius:50%;background:#b7baac;box-shadow:0 1px 2px #000}
.radio-rugged #radio-pilot button[aria-pressed=true]:before{background:#f7770b;border-color:#ffb34e}.radio-rugged #radio-pilot button[aria-pressed=true]:after{left:17px;background:#ffe0a6}
.radio-rugged .rr-footer{display:grid;grid-template-columns:1fr 1.25fr .65fr;direction:ltr;gap:5px;flex:none;margin-top:1px}
.radio-rugged #connect{width:100%;min-height:39px;margin:0;color:#ff9d77;font-size:11px;padding:4px}
.radio-rugged .rr-footer>a{display:flex;gap:4px;align-items:center;justify-content:center;text-decoration:none;direction:rtl;padding:3px;font-size:12px}.radio-rugged .rr-footer>a span{font-size:23px}
.radio-rugged #audio-check{border:1px solid #4f5948;border-radius:8px;background:linear-gradient(135deg,#253024,#090e0a);padding:5px 7px;color:var(--cream);font-size:12px;margin:0;direction:rtl}
.radio-rugged #audio-check summary{min-height:27px;display:flex;align-items:center;justify-content:center;list-style:none}.radio-rugged #audio-check summary:before{content:'▥';margin-left:5px;color:#edce90}
.radio-rugged #audio-check[open]{position:absolute;bottom:45px;left:0;right:0;max-height:70%;background:#162014;box-shadow:0 -10px 35px #000e;z-index:30;padding:12px}
.radio-rugged #audio-report,.radio-rugged #music-help,.radio-rugged #audio-check small{color:#d8cfb4;font-size:12px;line-height:1.8}.radio-rugged .help{display:none}
.radio-rugged #resume-audio{color:#ffcf7b;border-color:#aa7637;margin:0 auto;font-size:11px;min-height:30px;padding:3px 8px}
.radio-rugged #moderator-notice{margin:0!important;color:#ffe4a2!important;background:#59421f;font-size:11px!important}
.radio-rugged dialog,.radio-rugged #group-drawer{background:url('/radio-case-texture-v1.svg'),#111a12;color:var(--cream);border:5px ridge #6c7360;border-radius:24px;box-shadow:inset 0 0 0 2px #060b07,0 0 60px #000d;padding:17px;width:calc(100% - 20px);max-width:450px;max-height:calc(100dvh - 20px);margin:auto;inset:0;height:fit-content}
.radio-rugged #group-drawer{height:calc(100dvh - 22px);padding:18px}.radio-rugged dialog::backdrop{background:#030703bd;backdrop-filter:blur(4px)}
.radio-rugged #group-drawer .close,.radio-rugged #sheet .close{width:34px;height:34px;min-height:34px;padding:0;font-size:24px;color:#efe4c9;background:#172015}
.radio-rugged .rr-drawer-title{text-align:center;margin:4px 30px 20px;font-size:22px}
.radio-rugged #lobby #create{width:100%;font-size:17px;min-height:45px;margin:0 0 12px}
.radio-rugged #lobby .heading{border:0;margin:0;padding:3px 0;min-height:0}.radio-rugged #lobby .heading h2{font-size:15px;color:#e9dfc2}
.radio-rugged .card{background:linear-gradient(110deg,#27302288,#080d0988);border:1px solid #546047;border-radius:10px;padding:10px;margin:8px 0}.radio-rugged .card h3{color:#eee2c5;font-size:17px;margin:0}.radio-rugged .card p{color:#b5b9a3;font-size:12px}.radio-rugged .card button{min-height:35px;font-size:12px}
.radio-rugged .danger{color:#ff8c78!important;border-color:#934a3b!important}.radio-rugged .rr-members-shortcut,.radio-rugged .rr-check-shortcut,.radio-rugged #group-drawer #join-code{display:block;width:100%;margin-top:10px;min-height:42px;font-size:14px}
.radio-rugged .rr-settings-links{display:grid;gap:16px;margin-top:16px;text-align:center}.radio-rugged .rr-settings-links a,.radio-rugged #sheet-content a{color:#e7d9b2}
.radio-rugged input{font-family:Four,Tahoma;color:#efe4c6;background:#1a2317;border-color:#647054}.radio-rugged input::placeholder{color:#b3b79f}.radio-rugged .member{border-color:#4b5840;color:#eee5cf}.radio-rugged #sheet-content p{color:#dbd6bf}
.radio-rugged #notice{background:#273220;color:#fff0ce;border-color:#e9ac51;border-radius:10px}
@media(max-height:720px){.radio-rugged main{padding-top:10px;padding-bottom:10px}.radio-rugged main>header{height:39px;min-height:39px;margin-bottom:4px}.radio-rugged #channel{gap:4px}.radio-rugged .rr-display{min-height:94px;padding:6px 10px}.radio-rugged #group-name{font-size:17px}.radio-rugged #current-group-code b{font-size:36px}.radio-rugged .rr-frequency-label{font-size:11px}.radio-rugged #current-group-code{min-height:39px}.radio-rugged .console{--dial-size:clamp(105px,calc(100dvh - 470px),180px);min-height:110px}.radio-rugged .rr-grille{height:23px}.radio-rugged #ptt svg{width:40px!important;height:40px!important}.radio-rugged .hold-label{font-size:11px}.radio-rugged #member-presence{max-height:38px}}
@media(max-width:350px){.radio-rugged main{padding-inline:12px;border-width:5px}.radio-rugged .rr-join label{font-size:10px}.radio-rugged .rr-actions button{font-size:10px!important}.radio-rugged #current-group-code b{font-size:34px}.radio-rugged #member-presence .person{font-size:10px}.radio-rugged .rr-title{font-size:14px}.radio-rugged header .radio-brand img{width:82px}.radio-rugged #group-name{font-size:16px}}
@media(max-height:570px){.radio-rugged main{overflow-y:auto}.radio-rugged #channel{flex:none;min-height:460px}.radio-rugged .console{flex:none;min-height:125px}.radio-rugged #audio-check[open]{position:fixed;bottom:40px;left:20px;right:20px}}

.radio-rugged #group-menu,.radio-rugged #connect{background:linear-gradient(135deg,#253024,#090e0a);box-shadow:inset 0 1px #69745a33,0 2px 2px #000a}
.radio-rugged #group-menu:before{content:'';display:inline-block;width:19px;height:19px;vertical-align:middle;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Ccircle cx='19' cy='8' r='3'/%3E%3Cpath d='M1 22v-4a8 8 0 0 1 16 0v4zM18 14a6 6 0 0 1 6 6v2h-5v-4z'/%3E%3C/svg%3E") center/contain no-repeat}
.radio-rugged #member-presence .person:before{content:'';background:radial-gradient(circle at 50% 32%,#c2c4a2 0 4px,transparent 4.5px),radial-gradient(ellipse at 50% 90%,#c2c4a2 0 7px,transparent 7.5px),#253125}
.radio-rugged .console:before{content:'4LOW';position:absolute;left:4px;bottom:14%;font:900 19px Arial;letter-spacing:1px;color:#c3bb9250;border-top:2px solid #c3bb9233;padding-top:5px;transform:rotate(-5deg);pointer-events:none}
.radio-rugged #group-drawer #create{color:#142010;border-color:#ffb665;border-radius:10px;font-size:17px}
.radio-rugged #group-drawer .card{padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:3px;align-items:center}
.radio-rugged #group-drawer .card h3{grid-column:1/-1;font-size:16px}.radio-rugged #group-drawer .card h3 button{float:left;padding:2px 6px;min-height:30px;font-size:10px}.radio-rugged #group-drawer .card p{margin:3px 0;font-size:11px}.radio-rugged #group-drawer .card>button{font-size:11px;min-height:32px;padding:3px 10px}
.radio-rugged #rr-roster h3{font-size:16px;margin:14px 0 7px}.radio-rugged #rr-roster-list{max-height:140px;overflow:auto}.radio-rugged .rr-member-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(120deg,#2b3725,#121b10);border:1px solid #505b41;border-radius:9px;padding:8px 10px;margin-bottom:5px;font-size:14px;direction:ltr}.radio-rugged .rr-member-row small{color:#d3dabd;background:#2e4426;border-radius:5px;padding:2px 8px;font-size:11px}
.radio-rugged #rr-invite-form{display:flex;align-items:center;gap:6px}.radio-rugged #rr-invite-target{margin:4px 0;min-width:0;flex:1;height:42px;min-height:42px;font-size:14px}.radio-rugged #rr-invite-send{background:linear-gradient(#ff992c,#ff6d06);color:#15200d;border-color:#ffb267;min-width:72px;height:42px}
.radio-rugged .rr-members-shortcut{font-size:12px;margin-top:4px;min-height:34px}.radio-rugged .rr-check-shortcut{font-size:14px;margin-top:10px;min-height:42px}

/* Map is an integral radio instrument, never a separate page. */
.radio-rugged main{overflow-y:auto;padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-radius:22px;border-width:7px}
.radio-rugged main>header{min-height:38px;height:38px;margin-bottom:3px}
.radio-rugged #channel{flex:1;min-height:720px;gap:5px}
.radio-rugged .rr-display{min-height:86px;padding:5px 12px}.radio-rugged #current-group-code{min-height:38px}.radio-rugged #current-group-code b{font-size:35px}.radio-rugged #group-name{font-size:17px}
.radio-rugged #member-presence{max-height:36px;min-height:28px}.radio-rugged #member-presence .person{padding:3px 5px}
.radio-rugged .console{flex:none;min-height:112px;height:112px;--dial-size:96px;padding:4px;margin:3px 0 0}.radio-rugged .console #ptt{min-width:96px}.radio-rugged #ptt svg{width:30px!important;height:30px!important}.radio-rugged .hold-label{font-size:10px}.radio-rugged .rr-grille{display:none}
.radio-rugged #rr-map-panel{position:relative;display:flex;flex-direction:column;flex:1;min-height:250px;border:3px ridge #707b65;border-radius:12px;background:#121c11;overflow:hidden;box-shadow:0 0 0 2px #050905}
.radio-rugged .rr-map-title{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;gap:5px}.radio-rugged .rr-map-title strong{font-size:12px}.radio-rugged #rr-map-fit{font-size:10px;min-height:28px;padding:2px 8px}
.radio-rugged #rr-live-map{position:relative;flex:1;min-height:145px;width:100%;background:#c5ba91;direction:ltr}
.radio-rugged #rr-map-state{font-size:10px;padding:3px 6px;background:#192718;color:#ebdfbd;line-height:1.5}
.radio-rugged .rr-map-controls{display:flex;gap:4px;padding:2px 5px}.radio-rugged #location{flex:1;font-size:11px;min-height:30px;padding:3px 7px}.radio-rugged #location[aria-pressed=true]{border-color:#ffbe65;color:#ffd893;background:#4c341b}
.radio-rugged #rr-map-panel>small{font-size:9px;color:#bfc5b1;padding:2px 6px;line-height:1.4}
.radio-rugged .rr-car-pin{display:flex;flex-direction:column;align-items:center;gap:0;border:0;background:transparent;padding:0;box-shadow:none;min-height:0;color:#172413;font:12px Four,Tahoma;white-space:nowrap}
.radio-rugged .rr-car-pin>span:last-child{background:#ffe1a0;border:1px solid #53452c;border-radius:5px;padding:1px 6px;box-shadow:0 1px 4px #0005;max-width:110px;overflow:hidden;text-overflow:ellipsis}.radio-rugged .rr-car-symbol{font-size:25px;line-height:28px;filter:drop-shadow(0 2px 2px #0007)}.radio-rugged .rr-car-pin.stale{opacity:.65}.radio-rugged .rr-car-pin.stale>span:last-child{border-style:dashed}
.radio-rugged .maplibregl-ctrl button{background:#fff;color:#111;padding:0;min-height:29px;box-shadow:none;border:0;border-radius:0}.radio-rugged .maplibregl-ctrl-attrib{font:9px Arial;color:#222}.radio-rugged .maplibregl-ctrl-attrib a{font:9px Arial;color:#222}
@media(min-height:850px){.radio-rugged #channel{min-height:0}.radio-rugged #rr-map-panel{min-height:260px}}
@media(max-height:750px){.radio-rugged #channel{flex:none;min-height:700px}.radio-rugged #rr-map-panel{min-height:240px}}
/* Exact material frame derived from approved reference; live UI remains inside. */
body.radio-rugged{background:#050806}
.radio-rugged main{border:0;border-radius:0;padding:48px 10.8% 40px;max-width:480px;background-color:#111a12;box-shadow:none}
.radio-rugged main:before{content:'';position:fixed;inset:0;margin:auto;width:min(100vw,480px);height:100dvh;z-index:40;border:0;border-radius:0;box-shadow:none;background:url('/radio-armored-frame-v1.webp') center/100% 100% no-repeat;pointer-events:none}
.radio-rugged main:after{display:none}
.radio-rugged #channel{min-height:700px}.radio-rugged main>header{min-height:34px;height:34px}
.radio-rugged .rr-join label{font-size:10px}.radio-rugged .rr-actions button{font-size:10px!important}.radio-rugged #member-presence .person{font-size:10px}
@media(min-width:480px){.radio-rugged main{padding-inline:51px}}
@media(max-width:350px){.radio-rugged main{padding-inline:10.8%;padding-top:42px}.radio-rugged .rr-title{font-size:12px}.radio-rugged .rr-actions button{font-size:9px!important}.radio-rugged #current-group-code b{font-size:30px}}
/* Keep all primary controls inside the frame's clear opening. */
.radio-rugged main{padding-bottom:52px}
.radio-rugged #channel{min-height:0;gap:3px}
.radio-rugged .rr-display{min-height:76px;padding:5px 10px}.radio-rugged #group-name{font-size:16px;line-height:1.3}.radio-rugged .rr-frequency-label{font-size:10px}.radio-rugged #current-group-code{min-height:32px}.radio-rugged #current-group-code b{font-size:30px}
.radio-rugged .rr-join{padding:3px;gap:4px}.radio-rugged .rr-join input{height:34px;min-height:34px}.radio-rugged #rr-join{min-height:34px;font-size:11px}
.radio-rugged .rr-actions button{height:34px!important;min-height:34px!important}
.radio-rugged #member-presence{min-height:25px;max-height:28px}.radio-rugged #member-presence .person{padding:2px 4px}.radio-rugged #member-presence .person:before{height:18px;width:18px}
.radio-rugged #rr-map-panel{min-height:210px}.radio-rugged #rr-live-map{min-height:125px}
.radio-rugged .console{min-height:94px;height:94px;--dial-size:80px}.radio-rugged .console #ptt{min-width:80px;gap:3px}.radio-rugged #ptt svg{width:25px!important;height:25px!important}.radio-rugged .hold-label{font-size:9px}
.radio-rugged #speaker{font-size:10px;min-height:18px}.radio-rugged #radio-pilot button{min-height:32px;padding-block:5px;font-size:10px}
.radio-rugged #connect,.radio-rugged .rr-footer>a,.radio-rugged #audio-check{min-height:34px;font-size:10px}.radio-rugged #audio-check{padding:3px 5px}
@media(max-height:760px){.radio-rugged #channel{flex:none;min-height:650px}.radio-rugged main{padding-bottom:65px}}

/* v3: fixed instrument viewport and broad red hold-to-talk key. */
.radio-rugged main{height:100dvh;min-height:0;overflow:hidden;padding-top:clamp(29px,5.4dvh,48px);padding-bottom:clamp(28px,5.5dvh,52px)}
.radio-rugged main>header{height:32px;min-height:32px;flex:none}
.radio-rugged #channel{display:flex;flex-direction:column;flex:1;min-height:0;gap:3px;overflow:visible}
.radio-rugged #rr-map-panel{flex:1;min-height:0}
.radio-rugged #rr-live-map{min-height:0;flex:1}
.radio-rugged .console{flex:none;min-height:0;height:clamp(58px,9dvh,78px);padding:3px 4px;margin:2px 0}
.radio-rugged .console:before{display:none}
.radio-rugged .console #ptt{width:100%;height:100%;min-width:0;border-radius:12px;border:2px solid #ff8c80;background:linear-gradient(165deg,#f3534c,#ce2429 55%,#8e131c);box-shadow:inset 0 2px 2px #ffb2a4,inset 0 -4px 4px #6f0b17,0 0 0 2px #0b0e09,0 0 0 3px #646552,0 4px 7px #000b;flex-direction:row;gap:12px;color:#fff3de}
.radio-rugged #ptt:after{border-radius:7px;inset:4px;border-color:#ffb6a955;box-shadow:none}
.radio-rugged #ptt svg{width:30px!important;height:30px!important;color:#fff3de}
.radio-rugged .hold-label{font-size:16px;color:#fff3de;line-height:1.5}
.radio-rugged .console #ptt.talking{background:linear-gradient(165deg,#ff7b65,#ed3439 55%,#ad1320);border-color:#ffd3b9;box-shadow:inset 0 3px 12px #901020,0 0 0 3px #31241b,0 0 18px #ff3b3655}
.radio-rugged #member-presence{overflow-y:auto}
@media(max-height:730px){
 .radio-rugged #channel{gap:2px;min-height:0;flex:1}
 .radio-rugged main>header{height:28px;min-height:28px;margin-bottom:2px}.radio-rugged header .radio-brand img{height:22px}.radio-rugged header .radio-header-nav a{height:26px;width:28px}.radio-rugged .rr-title{font-size:13px;top:0}
 .radio-rugged .rr-display{min-height:0;height:54px;padding:3px 8px;display:grid;grid-template-columns:1fr auto;grid-template-rows:19px 25px;align-items:center;gap:0 5px}
 .radio-rugged .rr-display>div:first-child{grid-column:1/-1}.radio-rugged #group-name{font-size:13px}.radio-rugged #presence{font-size:9px}.radio-rugged .rr-frequency-label{font-size:10px;grid-column:2;grid-row:2}
 .radio-rugged #current-group-code{min-height:24px;grid-column:1;grid-row:2;gap:8px}.radio-rugged #current-group-code b{font-size:23px;letter-spacing:2px}.radio-rugged #current-group-code span{font-size:10px;padding:0 6px}
 .radio-rugged .rr-join{padding:2px;min-height:32px}.radio-rugged .rr-join input{height:28px;min-height:28px;font-size:14px}.radio-rugged #rr-join{height:28px;min-height:28px;padding:2px 6px}
 .radio-rugged .rr-actions button{height:28px!important;min-height:28px!important;padding:2px 4px}
 .radio-rugged #member-presence{height:20px;min-height:20px;max-height:20px}.radio-rugged #member-presence .person{padding:1px 3px;font-size:9px;line-height:16px}.radio-rugged #member-presence .person:before{width:14px;height:14px}
 .radio-rugged #rr-map-panel{min-height:0;position:relative}.radio-rugged #rr-live-map{position:absolute;inset:0;width:100%;height:100%;min-height:0}
 .radio-rugged .rr-map-title{position:absolute;top:0;left:0;right:0;z-index:3;background:#111b12c9;padding:1px 5px;pointer-events:none}.radio-rugged .rr-map-title strong{font-size:10px}.radio-rugged #rr-map-fit{pointer-events:auto;font-size:9px;min-height:23px;padding:0 5px}
 .radio-rugged #rr-map-state{position:absolute;bottom:29px;left:0;right:0;z-index:3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 4px;font-size:9px;background:#152111d9;pointer-events:none}
 .radio-rugged .rr-map-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:1px 3px;background:#152111e6}.radio-rugged #location{min-height:26px;padding:2px 4px;font-size:10px}
 .radio-rugged #rr-map-panel>small{display:none}.radio-rugged .maplibregl-ctrl-top-left{top:25px}.radio-rugged .maplibregl-ctrl-bottom-right,.radio-rugged .maplibregl-ctrl-bottom-left{bottom:44px}
 .radio-rugged .console{height:58px;min-height:58px}.radio-rugged .hold-label{font-size:14px}
 .radio-rugged #speaker{min-height:14px;font-size:9px;line-height:14px}
 .radio-rugged #radio-pilot button{min-height:27px;height:27px;padding:3px 38px 3px 2px;font-size:9px}.radio-rugged #radio-pilot button:before{top:4px}.radio-rugged #radio-pilot button:after{top:6px}
 .radio-rugged #connect,.radio-rugged .rr-footer>a,.radio-rugged #audio-check{min-height:28px;height:28px;font-size:9px;padding:2px 3px}.radio-rugged #audio-check summary{min-height:22px}
}
.radio-rugged #rr-map-state{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radio-rugged #audio-check[open]{height:auto;min-height:100px;max-height:65dvh}

/* Keep background switch above the red PTT, with explicit labels. */
.radio-rugged #radio-pilot{flex:none;position:relative;z-index:2}
.radio-rugged #radio-pilot button{height:43px;min-height:43px;padding:3px 4px 3px 42px;white-space:normal;text-align:right;line-height:1.35}
.radio-rugged #radio-pilot button strong{display:block;font-size:12px;font-weight:normal;color:#fff0d0}
.radio-rugged #radio-pilot button small{display:block;font-size:9px;color:#c4cbb7;line-height:1.5}
.radio-rugged #radio-pilot button:before{top:11px}.radio-rugged #radio-pilot button:after{top:13px}
.radio-rugged #location{height:41px;min-height:41px;white-space:normal;line-height:1.35}
.radio-rugged #location strong{display:block;font-weight:normal;font-size:11px;color:#ffe1a7}.radio-rugged #location small{display:block;font-size:9px;color:#c4cbb7;line-height:1.4}
.radio-rugged #rr-map-panel>small{display:none}
@media(max-height:730px){.radio-rugged #radio-pilot button{height:40px;min-height:40px}.radio-rugged #radio-pilot button strong{font-size:11px}.radio-rugged #radio-pilot button small{font-size:8px}.radio-rugged #rr-map-state{bottom:44px}.radio-rugged .maplibregl-ctrl-bottom-right,.radio-rugged .maplibregl-ctrl-bottom-left{bottom:58px}}
/* Recess the armor outside the viewport: keep the tactile edge, reclaim the screen. */
.radio-rugged main{padding-inline:min(5.6vw,27px);padding-top:clamp(18px,3dvh,28px);padding-bottom:clamp(19px,3.3dvh,32px)}
.radio-rugged main:before{inset:auto;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);width:min(114vw,547.2px);height:106dvh;max-width:none}

/* Notification and location share a row; ten member names fit in five rows. */
.radio-rugged #member-presence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:17px;align-content:start;gap:2px 5px;height:auto;min-height:17px;max-height:93px;padding:1px 0;margin:1px 0;overflow-y:auto;flex:none}
.radio-rugged #member-presence .person{display:flex;max-width:none;min-width:0;min-height:0;height:17px;flex:none;border-radius:5px;font-size:10px;line-height:15px;padding:0 5px;gap:5px}
.radio-rugged #member-presence .person:before{display:none}.radio-rugged #member-presence .person span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-rugged #member-presence i{width:5px;height:5px}
.radio-rugged .rr-map-controls{display:flex;gap:4px;align-items:stretch;flex-wrap:wrap}
.radio-rugged .rr-map-controls #location,.radio-rugged .rr-map-controls #radio-alerts{flex:1 1 0;min-width:0;height:42px;min-height:42px;padding:3px 4px;line-height:1.4;border:1px solid #5d6a4c;border-radius:7px;white-space:normal;text-align:center;background:linear-gradient(#263321,#101a0f);color:#efe2c2;box-shadow:none}
.radio-rugged #radio-alerts strong,.radio-rugged #location strong{display:block;font-weight:normal;font-size:11px;white-space:nowrap;color:#ffe4b4}
.radio-rugged #radio-alerts small,.radio-rugged #location small{display:block;font-size:8px;line-height:1.35;color:#cbd1bd}
.radio-rugged .rr-map-controls #radio-alerts[aria-pressed=true],.radio-rugged .rr-map-controls #location[aria-pressed=true]{border-color:#f4b456;background:#46351b}
.radio-rugged #rr-map-retry{flex-basis:100%}
@media(max-height:730px){.radio-rugged #member-presence{height:auto;min-height:17px;max-height:93px}.radio-rugged #rr-map-state{bottom:46px}.radio-rugged #radio-alerts strong,.radio-rugged #location strong{font-size:10px}}
