/* CeeBee BAKKIE — gedeelde huisstijl. */
:root{--cbj-bg:#060910;--cbj-panel:#101923;--cbj-line:#2c3d4b;--cbj-cyan:#29e1e8;--cbj-yellow:#f2d744;--cbj-text:#edf4fa;--cbj-muted:#a9bac8}
body.radio-page,body.admin-page{--bg:var(--cbj-bg);--ink:var(--cbj-text);--muted:var(--cbj-muted);--line:var(--cbj-line);--accent:var(--cbj-yellow);--orange:var(--cbj-yellow);--green:var(--cbj-cyan);color:var(--cbj-text);background:radial-gradient(ellipse at 12% 0,#12334877,transparent 46%),radial-gradient(ellipse at 100% 45%,#1f153f44,transparent 50%),#060910}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cbj-cyan);outline-offset:4px}
.radio-page header{background:#050a11ee;border-bottom:1px solid #2b4d5e;box-shadow:0 3px 25px #0006}
.radio-page .brand{display:flex;align-items:center;gap:13px;letter-spacing:0;text-decoration:none;min-width:230px}
.brand svg{width:34px;height:43px;fill:none;stroke:var(--cbj-cyan);stroke-width:1.7;filter:drop-shadow(0 0 7px #29e1e844)}
.radio-page .brand-copy{color:var(--cbj-text);margin:0}.brand-copy b{font:700 27px 'Barlow Condensed',sans-serif;letter-spacing:1.2px}.radio-page .brand-copy b span{color:var(--cbj-yellow);margin:0}.brand-copy small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2.2px;color:var(--cbj-cyan);margin-top:4px}
.radio-page .tag{color:var(--cbj-muted);letter-spacing:1px}.radio-page header button,.radio-page .admin-link{color:var(--cbj-text);border-color:var(--cbj-line)}
.radio-page .intro{margin-bottom:25px}.radio-page .intro h1{color:var(--cbj-text);letter-spacing:.2px}.radio-page .intro h1 em{color:var(--cbj-cyan)}.radio-page .intro>p{color:var(--cbj-muted)}.radio-page .eyebrow{color:var(--cbj-yellow)}.radio-page .eyebrow i{background:var(--cbj-cyan);box-shadow:0 0 9px #29e1e888}
.station-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #23424e;border-bottom:1px solid #23424e;padding:12px 3px;margin-bottom:17px;color:#a9c0cf;font:10px monospace;letter-spacing:1px}.station-strip span:first-child{color:var(--cbj-cyan)}.strip-led{display:inline-block;width:6px;height:6px;border:1px solid var(--cbj-cyan);border-radius:50%;margin-right:7px}#utc-clock{color:var(--cbj-yellow);font-variant-numeric:tabular-nums}
.radio-page button{background:#172635;color:#e4eef6;border-color:#3b5364}.radio-page button:hover{border-color:var(--cbj-cyan)}.radio-page .connection-bar{background:#0c1722;border-color:#284552;box-shadow:inset 3px 0 var(--cbj-cyan)}.radio-page .connection-bar>span:first-child{color:var(--cbj-cyan)}.radio-page .connection-bar>span:nth-child(2){color:var(--cbj-muted)}.radio-page #connect-server{background:var(--cbj-yellow);color:#11191f;border-color:var(--cbj-yellow);font-weight:700}
.radio-page .connection-diagnostics,.radio-page .side-card{background:linear-gradient(135deg,#111c28,#0b121c);border-color:#2a4050}.radio-page .connection-diagnostics summary span,.radio-page .connection-diagnostics p{color:var(--cbj-muted)}.radio-page .diagnostic-stage{border-color:#365061}.radio-page .diagnostic-stage span{color:#c2d6e4}.radio-page .diagnostic-stage small{color:var(--cbj-yellow)}
.radio-page .radio{position:relative;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),linear-gradient(130deg,#263440,#111b24 50%,#1c2a34);border:1px solid #596b76;box-shadow:0 22px 50px #0008,inset 0 0 0 5px #070d13,inset 0 0 0 6px #344652;border-radius:15px;--channel-position:33.33%}
.radio-page .radio::before,.radio-page .radio::after{content:'⊖';position:absolute;top:10px;color:#8494a0;font:17px monospace;text-shadow:0 1px #000;pointer-events:none}.radio-page .radio::before{left:11px}.radio-page .radio::after{right:11px}
.radio-page .radio-head{margin:0 7px;padding-top:26px;background:linear-gradient(100deg,#ffffff05,transparent);border-color:#071019;box-shadow:0 1px #435764}.radio-page .radio-brand{font-style:normal;letter-spacing:2px;color:#eaf1f6}.radio-brand span{color:var(--cbj-yellow)}.radio-page .radio-head small{color:#a5b8c6;letter-spacing:1.3px}.radio-page .power-area{color:#bed3df}.radio-page .power-area button{color:var(--cbj-cyan);border-color:#468292;background:#10232d}
.radio-page .meter{background:linear-gradient(#12232b,#08171f);border-color:#060c11;color:#9bdde0;box-shadow:0 0 0 1px #4c6672,inset 0 4px 18px #0009}.radio-page .scale em{color:var(--cbj-yellow)}.radio-page .bars i{background:var(--cbj-cyan);opacity:.12}.radio-page .bars i:nth-child(n+15){background:var(--cbj-yellow)}.radio-page .bars i.on{opacity:1;box-shadow:0 0 8px #29e1e833}.radio-page .meter-bottom{border-color:#33505e;color:#b8cbd6}.radio-page .meter-bottom i{background:var(--cbj-cyan)}
.radio-page .display{background:repeating-linear-gradient(0deg,#0000 0 3px,#0003 3px 4px),#071118;border-color:#070c11;color:var(--cbj-cyan);box-shadow:0 0 0 1px #4c6672,inset 0 0 22px #000}.radio-page .display strong{font-variant-numeric:tabular-nums;text-shadow:0 0 17px #29e1e84d}.radio-page .display small{color:#9ab8c6;letter-spacing:.7px}
.channel-scale{position:relative;display:flex;justify-content:space-between;margin:20px 32px 17px;padding:11px 0 6px;background:repeating-linear-gradient(90deg,#577180 0 1px,transparent 1px calc(100% / 39));background-size:100% 6px;background-repeat:no-repeat;color:#b4c9d5;font:9px monospace}.channel-scale i{position:absolute;top:-4px;left:clamp(0%,var(--channel-position),100%);width:2px;height:23px;background:var(--cbj-yellow);box-shadow:0 0 7px #f2d74477}.channel-scale i::before{content:'';position:absolute;left:-3px;top:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--cbj-yellow)}
.radio-page .indicators{color:#bed2df}.radio-page .indicators .green{background:var(--cbj-cyan);box-shadow:0 0 6px #29e1e877}.radio-page .tune-label{color:#d0dfe8}.radio-page .tune-label small{color:#9bb2c1}.radio-page .dial{background:repeating-conic-gradient(#060d13 0 5deg,#4b606e 5deg 7deg);border-color:#09121a}.radio-page .dial::after{background:radial-gradient(at 30% 25%,#435866,#16232d)}.radio-page .dial i{background:var(--cbj-cyan)}
.radio-page .presets button{background:linear-gradient(#293e4d,#14232f);border-color:#080f16;color:#c8dce7}.radio-page .presets button.selected,.radio-page .presets button.occupied{color:var(--cbj-yellow);border-color:#b6a13d;background:#282a1c;box-shadow:inset 0 -2px var(--cbj-yellow)}
.speaker-strip{display:flex;align-items:center;gap:22px;margin:22px 30px 0;padding-top:15px;border-top:1px solid #3b4d5b}.speaker-grille{height:24px;flex:1;border-radius:3px;background:repeating-linear-gradient(0deg,#03080c 0 2px,#30414e 2px 4px);box-shadow:inset 2px 2px 5px #0008}.speaker-strip span{font:7px/1.8 monospace;letter-spacing:1px;color:#94acbc}.speaker-strip b{color:#d5e0e7;font-weight:400}
.radio-page .controls>label,.radio-page .switches{color:#c1d5e1}.radio-page input[type=range],.radio-page input[type=checkbox]{accent-color:var(--cbj-cyan)}.radio-page .switches button{color:#9eb3c2}.radio-page .ptt-wrap>button{background:radial-gradient(circle at 40% 28%,#314958,#101f2b 70%);color:#ecf5fa;border-color:var(--cbj-cyan);box-shadow:0 0 0 5px #060d13,0 0 0 7px #426778,0 12px 20px #0008,inset 0 2px 3px #ffffff15}.radio-page .ptt-wrap button span{color:var(--cbj-cyan)}.radio-page .ptt-wrap strong{letter-spacing:4px}.radio-page .ptt-wrap p{color:#b2c5d2}.radio-page kbd{background:#263946;border-color:#49616e;color:#e4eff6}.radio-page .transmitting .ptt-wrap>button{background:radial-gradient(circle at 40% 30%,#6a322d,#301618);color:#ffded5;border-color:#ff816f;box-shadow:0 0 0 5px #120c0d,0 0 0 7px #be5b4c,0 0 30px #ff6b4a33}.radio-page .transmitting .ptt-wrap button span{color:#ffaf9f}
.radio-page .station-controls label,.radio-page #awake-status{color:#c1d5e1}.radio-page .station-controls select{background:#0c1822;color:var(--cbj-text);border-color:#476275}.radio-page .radio-foot{background:#08121b;color:#aac2d1;border-color:#3a5262}.radio-page .card-title>span{background:#14333e;color:var(--cbj-cyan)}.radio-page .avatar{background:#173b49;color:var(--cbj-cyan);border:1px solid #345e70}.radio-page .station small,.radio-page .notice,.radio-page .channel-info p,.radio-page .network-legend,.radio-page #network-note,.radio-page .network-station span{color:#aebfcd}.radio-page .channel-info>span{color:var(--cbj-cyan)}.radio-page .station small i{background:var(--cbj-cyan)}.radio-page .waves{color:var(--cbj-cyan)}.radio-page .network-station,.radio-page .notice,.radio-page .entry,.radio-page #message-form{border-color:#2a4151}.radio-page #message{color:#e1edf5}.radio-page #message-form button{background:var(--cbj-cyan);color:#08212b}.radio-page .entry b{color:var(--cbj-yellow)}.radio-page .empty,.radio-page .empty p{color:#9db4c4}.radio-page .empty b{color:#c5d6e1}.radio-page footer{color:#a9bfce}.radio-page footer b,.radio-page footer a,.radio-page footer button{color:var(--cbj-cyan)}.radio-page dialog{background:#101d29;border-color:#42697e;color:var(--cbj-text)}.radio-page dialog p{color:#bdcedb}.radio-page dialog input{background:#08131d;border-color:#446577;color:white}
/* De regiekamer krijgt dezelfde donkere studio-uitstraling. */
.admin-page .sidebar{background:#060d15;border-right:1px solid #2b4557;color:#cddce6}.admin-page .logo{color:var(--cbj-text);letter-spacing:1px}.admin-page .logo span{color:var(--cbj-yellow);margin:0}.admin-page .logo small{color:var(--cbj-cyan);font-size:7px;letter-spacing:1.2px}.admin-page nav a{color:#a9bfce}.admin-page nav a:hover,.admin-page nav a.active{background:#15323e;color:var(--cbj-cyan);box-shadow:inset 2px 0 var(--cbj-cyan)}.admin-page .sidebar-bottom,.admin-page .sidebar-bottom span{color:#aac4d6}.admin-page .sidebar-bottom button{border-color:#395566;color:#d5e3ed}.admin-page .eyebrow{color:var(--cbj-cyan)}.admin-page h1,.admin-page h2,.admin-page h3{color:var(--cbj-text)}.admin-page header p{color:#afc1ce}.admin-page .jan>span{background:#163846;color:var(--cbj-cyan);font:11px monospace}.admin-page .jan small{color:#a2bbcd}.admin-page .card,.admin-page .stats article{background:linear-gradient(125deg,#13202d,#0d1621);border-color:#2b4253;box-shadow:0 8px 25px #0002}.admin-page .connect-card{background:#111f2b;border-color:#426378}.admin-page .card p,.admin-page .stats small,.admin-page .stats article>span,.admin-page .form-note,.admin-page label,.admin-page .empty,.admin-page .item small,.admin-page .roadmap p,.admin-page .roadmap small{color:#adbfcd}.admin-page .stats strong{color:var(--cbj-cyan)}.admin-page button,.admin-page input,.admin-page select,.admin-page textarea{color:#e4eff6;background:#142636;border-color:#3a556b}.admin-page .primary{background:var(--cbj-yellow);border-color:var(--cbj-yellow);color:#101923;font-weight:700}.admin-page input::placeholder,.admin-page textarea::placeholder{color:#829baa}.admin-page .badge{background:#25321f;color:#e2dc91}.admin-page .tabs{border-color:#314b5b}.admin-page .tabs button{background:transparent;color:#abc2d2}.admin-page .tabs button.active{color:var(--cbj-cyan);border-color:var(--cbj-cyan)}.admin-page .item,.admin-page .list,.admin-page .roadmap{border-color:#2c4454}.admin-page .item b{color:#e5eef5}.admin-page .channel-grid button.selected{background:#153d4c;border-color:var(--cbj-cyan);color:var(--cbj-cyan)}.admin-page .channel-grid button.locked{background:#43272b}.admin-page .idea{background:linear-gradient(120deg,#172e38,#13212c)}.admin-page .idea a{color:var(--cbj-yellow)}.admin-page #feedback{background:#163a3e;color:#dbf7f4;border-color:#3c787a}.admin-page #feedback.error{background:#482c29;border-color:#a75c4b;color:#ffe1d8}.admin-page .health-warning,.admin-page .health-stale{background:#332e1d;border-color:#aa9146}.admin-page .health-critical,.admin-page .health-unreachable,.admin-page .health-failed{background:#382023;border-color:#a75d58}.admin-page footer{color:#9fb8ca;border-color:#314a5d}.admin-page .health-card{border-color:#395361}.admin-page .health-card p{color:#b4c8d6}
@media(max-width:780px){.radio-page .brand{min-width:0;gap:8px}.brand svg{width:25px;height:34px}.brand-copy b{font-size:21px}.brand-copy small{font-size:6px;letter-spacing:1.1px}.radio-page header{padding:0 14px}.radio-page header button{font-size:9px}.station-strip{font-size:8px;letter-spacing:.4px}.station-strip span:last-child{display:none}.radio-page .radio-head small{font-size:6px;letter-spacing:.6px}.speaker-strip{margin:18px 20px 0;gap:12px}.speaker-strip span{font-size:6px}.channel-scale{margin-left:23px;margin-right:23px}.radio-page .intro h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.radio-page.live-connected .strip-led{background:var(--cbj-cyan);box-shadow:0 0 9px #29e1e877}.radio-page .receiving .display{box-shadow:0 0 0 1px #4c8392,inset 0 0 22px #000,0 0 18px #29e1e818}
.radio-page .workspace{align-items:start}.channel-scale{height:28px}.channel-scale span{position:absolute;top:12px;transform:translateX(-50%)}.channel-scale span:first-child{left:0;transform:none}.channel-scale span:nth-child(2){left:20.51%}.channel-scale span:nth-child(3){left:33.33%}.channel-scale span:nth-child(4){left:46.15%}.channel-scale span:nth-child(5){left:66.67%}.channel-scale span:nth-child(6){left:100%;transform:translateX(-100%)}
.current-speaker{min-height:53px;margin-top:13px;padding:11px 0 2px;border-top:1px solid #28444f}.current-speaker>span{display:block;font:8px monospace;letter-spacing:1.5px;color:#8eaebd}.current-speaker strong{display:block;margin-top:6px;font:600 20px/1.25 'Barlow Condensed',sans-serif;letter-spacing:.4px;color:#b8cedb;overflow-wrap:anywhere}.current-speaker.has-speaker>span{color:var(--cbj-cyan)}.current-speaker.has-speaker strong{color:var(--cbj-yellow);text-shadow:0 0 10px #f2d74422}
.radio-page dialog{max-height:calc(100dvh - 48px);overflow-y:auto}
#audio-setup-dialog{width:min(600px,calc(100vw - 32px));max-width:600px;padding:28px}#audio-setup-close{float:right;border:0;background:none;font-size:24px;padding:0 2px 8px 12px}#audio-setup-dialog h3{font-size:22px;color:var(--cbj-cyan);margin:0 0 12px}.audio-setup-step{border-top:1px solid var(--cbj-line);padding:18px 0}.audio-device-fields{display:grid;grid-template-columns:1fr;gap:8px}.audio-device-fields label{font-size:12px;color:var(--cbj-text)}.audio-device-fields select{width:100%;padding:11px;background:#0a1520;color:var(--cbj-text);border:1px solid #466174;border-radius:5px}.audio-actions{display:flex;flex-wrap:wrap;gap:9px}.audio-check{display:flex;align-items:center;gap:9px;font-size:12px;margin-top:12px}.audio-check input{width:auto!important;margin:0!important;accent-color:var(--cbj-cyan)}#audio-level{display:block;width:100%;height:18px;margin:10px 0}#audio-test-player{width:100%;height:40px;margin-top:12px}#audio-setup-message{padding:12px;border:1px solid #3b6673;border-radius:5px;color:#deeff5!important;background:#14303b}#audio-setup-done{background:var(--cbj-yellow);color:#101923;border-color:var(--cbj-yellow);font-weight:700}
.recovery-note{margin:-6px 0 18px;padding:13px 16px;background:#302b18;border:1px solid #8b7831;border-radius:6px;color:#f6e8ad;font-size:12px;line-height:1.6}.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:16px}.quality-grid>div{padding:12px;border:1px solid #355362;border-radius:5px}.quality-grid b,.quality-grid span{display:block}.quality-grid b{font-size:10px;color:#adc2cf;margin-bottom:8px}.quality-grid span{font:600 20px 'Barlow Condensed',sans-serif;color:var(--cbj-cyan)}#quality-summary{color:#adc2cf}

/* Meetinstrumenten en bediening ingebouwd in het metalen frontpaneel. */
.radio-page .bars[hidden]{display:none}
.radio-page .audio-controls{margin:14px 0 0;font:9px monospace;color:#a9d4d9}
.level-scale{display:flex;justify-content:space-between;margin:0 0 5px 28px;padding-right:1px;font-size:7px;color:#7a9ca8}
.level-row{display:grid;grid-template-columns:23px minmax(0,1fr);gap:4px 5px;align-items:center;margin:6px 0}
.level-row label{font:bold 8px monospace;letter-spacing:1px}.level-row>span{grid-column:2;text-align:right;min-height:12px;font:8px monospace;color:#96bdc8}.level-row .clipping{color:#ff8d79}
.level-row meter{display:block;appearance:none;width:100%;height:12px;border:1px solid #314c57;border-radius:1px;background:#07151c;overflow:hidden}
.level-row meter::-webkit-meter-bar{background:#07151c;border:0;border-radius:0;box-shadow:inset 0 2px 4px #000}
.level-row meter::-webkit-meter-optimum-value{background:repeating-linear-gradient(90deg,transparent 0 8px,#07151c 8px 10px),linear-gradient(90deg,#29e1e8 0 75%,#f2d744 75% 92%,#ff816f 92%);border-radius:0}
.level-row meter::-moz-meter-bar{background:repeating-linear-gradient(90deg,transparent 0 8px,#07151c 8px 10px),linear-gradient(90deg,#29e1e8 0 75%,#f2d744 75% 92%,#ff816f 92%)}
.radio-page .control-bank{min-width:0;max-width:160px;width:100%;justify-self:center;display:grid;gap:22px;color:#bed0dc;font:9px monospace}
.control-bank label{display:block;letter-spacing:1px}.control-bank output{color:var(--cbj-yellow);float:right;font-variant-numeric:tabular-nums}
.mic-gain-control{text-align:center}.mic-gain-control label{text-align:left}.gain-knob{position:relative;width:62px;height:62px;margin:16px auto 8px;border:5px solid #09121a;border-radius:50%;background:repeating-conic-gradient(#101a23 0deg 7deg,#526775 7deg 10deg);box-shadow:0 3px 6px #000b,0 0 0 1px #4c606e}
.gain-knob::after{content:'';position:absolute;inset:6px;border-radius:50%;background:radial-gradient(at 30% 25%,#536875,#1a2935 70%);box-shadow:inset 0 1px 2px #fff3}
.gain-knob i{position:absolute;inset:0;z-index:1;transform:rotate(var(--gain-angle,0deg));transition:transform .08s}
.gain-knob i::before{content:'';position:absolute;width:3px;height:12px;left:calc(50% - 1.5px);top:6px;background:var(--cbj-yellow);box-shadow:0 0 5px #f2d74455;border-radius:1px}
.radio-page .control-bank input[type=range]{margin-top:9px;height:20px}.gain-limits{display:flex;justify-content:space-between;font:7px monospace;color:#93aaba}.volume-control{padding-top:13px;border-top:1px solid #3b4d5b}
.radio-page .speech-queue{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center;margin:3px 30px 20px;padding:17px 0;border-top:1px solid #425563;border-bottom:1px solid #080f16;box-shadow:0 1px #3a4e5c}
.panel-label{display:block;font:7px monospace;letter-spacing:1.4px;color:#a6bdcc;margin-bottom:8px}
.radio-page #raise-hand{position:relative;width:100%;min-height:44px;padding:10px 8px;font:10px monospace;color:#c4d6df;background:linear-gradient(#2e4352,#14232e);border:1px solid #080e15;box-shadow:0 2px 3px #0008,inset 0 1px #ffffff18}
#raise-hand::before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#09151d;box-shadow:0 0 0 1px #5b7180}
.radio-page #raise-hand[aria-pressed=true]{color:var(--cbj-yellow);border-color:#9d8b3d;background:linear-gradient(#373b2b,#21291f)}
#raise-hand[aria-pressed=true]::before{background:var(--cbj-yellow);box-shadow:0 0 7px #f2d74499}
.radio-page #raise-hand:disabled{opacity:.5;cursor:default}
.queue-display{min-width:0;padding:11px 13px;background:linear-gradient(#07151d,#0b1b25);border:1px solid #070d13;box-shadow:0 0 0 1px #3c5665,inset 0 2px 6px #0008;border-radius:3px}
.queue-display .panel-label{color:#71acb5;font-size:7px}.queue-display p{font:10px/1.5 monospace;color:#bed4dc;margin:0;overflow-wrap:anywhere}
#speech-queue{margin:8px 0 0;padding:0;list-style:none;counter-reset:speaker;display:flex;flex-wrap:wrap;gap:6px}#speech-queue:empty{display:none}#speech-queue li{counter-increment:speaker;max-width:100%;font:10px/1.5 monospace;color:var(--cbj-yellow);overflow-wrap:anywhere}#speech-queue li::before{content:counter(speaker,decimal-leading-zero) ' ';color:#6d9aa6}#speech-queue li+li{border-left:1px solid #35505a;padding-left:6px}
@media(max-width:1050px){.radio-page .control-bank{font-size:8px}.radio-page .speech-queue{margin-left:20px;margin-right:20px;grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:600px){.radio-page .console{grid-template-columns:minmax(0,1fr) 90px}.radio-page .meter{padding:10px 8px}.radio-page .scale b{font-size:7px}.radio-page .scale span{font-size:6px}.radio-page .controls{grid-template-columns:minmax(0,1fr) 135px minmax(0,1fr);gap:10px;padding:24px 18px 14px}.control-bank label{letter-spacing:0;font-size:8px}.gain-knob{width:48px;height:48px;margin-top:12px;border-width:4px}.gain-knob i::before{top:5px;height:9px;width:2px}.radio-page .control-bank{gap:14px}.radio-page .speech-queue{grid-template-columns:110px minmax(0,1fr);gap:12px;margin:3px 20px 16px}.radio-page #raise-hand{font-size:9px;padding:10px 5px}.queue-display{padding:10px}.queue-display p{font-size:9px}.panel-label{font-size:6px;letter-spacing:.7px}.current-speaker strong{font-size:18px}}
@media(max-width:380px){.radio-page .controls{grid-template-columns:minmax(0,1fr) 115px minmax(0,1fr);padding-left:14px;padding-right:14px}.radio-page .ptt-wrap>button{width:110px;height:110px}.radio-page .ptt-wrap strong{font-size:40px}.radio-page .ptt-wrap small{font-size:4px}.radio-page .speech-queue{margin-left:15px;margin-right:15px}.radio-page .console{margin-left:15px;margin-right:15px;grid-template-columns:minmax(0,1fr) 78px;gap:8px}.radio-page .display strong{font-size:58px}}

.level-scale{position:relative;height:10px;display:block}.level-scale span{position:absolute;top:0}.level-scale span:first-child{left:0}.level-scale span:nth-child(2){left:50%;transform:translateX(-50%)}.level-scale span:nth-child(3){left:80%;transform:translateX(-50%)}.level-scale span:last-child{right:0}
.level-row meter::-webkit-meter-optimum-value{background:repeating-linear-gradient(90deg,#29e1e8 0 8px,#07151c 8px 10px)}
.level-row meter::-webkit-meter-suboptimum-value{background:repeating-linear-gradient(90deg,#f2d744 0 8px,#07151c 8px 10px)}
.level-row meter::-webkit-meter-even-less-good-value{background:repeating-linear-gradient(90deg,#ff816f 0 8px,#07151c 8px 10px)}
.level-row meter:-moz-meter-optimum::-moz-meter-bar{background:repeating-linear-gradient(90deg,#29e1e8 0 8px,#07151c 8px 10px)}
.level-row meter:-moz-meter-sub-optimum::-moz-meter-bar{background:repeating-linear-gradient(90deg,#f2d744 0 8px,#07151c 8px 10px)}
.level-row meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:repeating-linear-gradient(90deg,#ff816f 0 8px,#07151c 8px 10px)}
.gain-knob{cursor:ns-resize;touch-action:none}.mic-gain-control:focus-within .gain-knob{outline:1px solid var(--cbj-cyan);outline-offset:4px}

/* Afstemming en kanaalactiviteit hebben elk een eigen kleur. */
.radio-page .presets button.selected{color:var(--cbj-cyan);border-color:#438896;background:#102b35;box-shadow:inset 0 -2px var(--cbj-cyan)}
.radio-page .presets button.occupied{color:var(--cbj-yellow);border-color:#b6a13d;background:#282a1c;box-shadow:inset 0 -2px var(--cbj-yellow)}

.radio-page #account-link{font-size:11px;white-space:nowrap}.station-profile{display:block;font-size:9px;color:#9cb6c6;line-height:1.6;margin-top:5px;overflow-wrap:anywhere}@media(max-width:780px){.radio-page #account-link{font-size:9px}.radio-page header{gap:7px}}

@media(max-width:780px){.radio-page header #help{display:none}.radio-page #account-link{max-width:70px;white-space:normal;text-align:center;line-height:1.5}}

.ptt-clock{width:150px;max-width:100%;margin:15px auto 0;font:10px monospace;letter-spacing:1px;color:#9fc5d1}.ptt-clock output{display:block;float:none;text-align:center!important;color:inherit!important}.ptt-clock progress{display:block;appearance:none;width:100%;height:4px;margin-top:7px;border:0;background:#08151e;border-radius:2px;overflow:hidden}.ptt-clock progress::-webkit-progress-bar{background:#08151e}.ptt-clock progress::-webkit-progress-value{background:#29e1e8}.ptt-clock progress::-moz-progress-bar{background:#29e1e8}.ptt-clock.time-warning{color:#f2d744}.ptt-clock.time-warning progress::-webkit-progress-value{background:#f2d744}.ptt-clock.time-warning progress::-moz-progress-bar{background:#f2d744}.ptt-clock.time-critical,.ptt-clock.time-expired{color:#ff9b85}.ptt-clock.time-critical progress::-webkit-progress-value{background:#ff816f}.ptt-clock.time-critical progress::-moz-progress-bar{background:#ff816f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio-page .ptt-wrap.finishing>button{border-color:#f2d744}.radio-page .ptt-wrap.finishing button span{color:#f2d744}@media(max-width:600px){.ptt-clock{font-size:8px;width:115px}}

/* Persoonlijke ontvangstbediening; afstemmen en dempen zijn aparte knoppen. */
.personal-station-row{display:flex;gap:10px;align-items:center;border-top:1px solid #334550;padding:6px 0}.personal-station-row .network-station{flex:1;min-width:0;overflow-wrap:anywhere;border:0;text-align:left}.personal-station-row .personal-mute{flex:none;min-height:44px;padding:8px 12px;font-size:11px}.personal-station-row.personally-muted .personal-mute{color:#ffd284;border-color:#b78a48}.personal-station-row.personally-muted .network-station b:after{content:' · voor jou gedempt';color:#ffd284;font-size:10px}.personal-station-row button:focus-visible{outline:2px solid #ffd284;outline-offset:2px}

.channel-share-button{margin-top:12px;min-height:44px;font-size:11px}#channel-share-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));padding:24px}#channel-share-close{float:right;background:none;border:0;font-size:24px;padding:0 0 8px 12px}#channel-share-qr{display:block;width:min(240px,100%);height:auto;margin:16px auto;image-rendering:pixelated}#channel-share-link{box-sizing:border-box;width:100%;font-size:12px}#channel-share-dialog label{font-size:12px}.channel-share-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.channel-share-actions button,.channel-share-actions a{min-height:44px;box-sizing:border-box;padding:10px;font-size:12px}.channel-share-actions a{color:#77dfef}#channel-share-status{font-size:12px}

.radio-page .alpha-badge{border:1px solid #9a7940;background:#332919;color:#ffcf83;border-radius:4px;padding:4px 7px;font:8px monospace;letter-spacing:.7px;min-height:26px;cursor:pointer}
.radio-page .alpha-badge:focus-visible{outline:2px solid #fff;outline-offset:2px}
.radio-page #alpha-version-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 28px));padding:26px;border:1px solid #567084;border-top:3px solid #ffcd7b;background:linear-gradient(140deg,#172c3b,#0b1824);box-shadow:0 24px 80px #0009;border-radius:12px;max-height:calc(100dvh - 28px);overflow:auto}
#alpha-version-dialog::backdrop{background:#030a12c9;backdrop-filter:blur(5px)}
#alpha-version-dialog .alpha-eyebrow{font:9px/1.5 monospace;letter-spacing:1px;color:#ffcd7b}#alpha-version-dialog h2{font:600 29px/1.15 'Barlow Condensed',sans-serif;margin:12px 0 16px}#alpha-version-dialog p{font-size:13px;line-height:1.7}#alpha-version-dialog small{display:block;font-size:10px;line-height:1.6;color:#9db3c3;margin-top:16px}#alpha-version-continue{width:100%;min-height:46px;margin-top:8px;padding:10px;border:1px solid #70dace;background:#174b50;color:#d6fff6;font-size:13px}#alpha-version-continue:focus-visible{outline:2px solid #ffd082;outline-offset:3px}
@media(max-width:450px){.radio-page .alpha-badge{font-size:7px;letter-spacing:0;padding:4px} .radio-page #alpha-version-dialog{padding:22px}}

/* Personal channel memory; a single horizontally scrollable row in every mode. */
.favorites-ribbon{display:flex;gap:6px;align-items:stretch;min-width:0;border-top:1px solid #2e4c5e;background:#081925;padding:5px 6px;box-sizing:border-box;height:44px}.favorites-list{display:flex;align-items:stretch;gap:5px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin;scrollbar-color:#3a6574 transparent}.favorites-list>small{align-self:center;font:9px monospace;color:#95b7c8;padding:0 5px}.favorites-list button{display:flex;align-items:center;gap:5px;flex:none;max-width:190px;min-height:30px;padding:4px 8px;background:#0e2635;border:1px solid #315063;color:#adc4d2;font:10px monospace}.favorites-list button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.favorites-list button>span{color:#e3bd7d;font-weight:600}.favorites-list button[aria-pressed=true]{border-color:#7bd8da;box-shadow:inset 0 -2px #6ed7d6}.favorites-list button[data-activity=speech]{background:#114a60;color:#b7f2ff}.favorites-list button[data-activity=beacon]{background:#4b391a;color:#ffda92}.favorites-list button[data-activity=present]{color:#8ee8e1}.favorites-list button[data-activity=locked]{opacity:.5}.favorite-edit{flex:none;min-width:34px;padding:2px 7px;background:#1d3543;border:1px solid #537281;color:#ffd18a;font-size:19px}.favorites-ribbon button:focus-visible{outline:2px solid #ffd18a;outline-offset:-2px}.radio-page .favorite-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 28px));padding:24px;max-height:calc(100dvh - 28px);overflow:auto}.favorite-close{float:right;border:0;background:none;font-size:24px;padding:0 0 8px 12px}.favorite-channel{font:11px monospace;color:#ffd18a!important}.favorite-dialog label{font-size:12px}.favorite-dialog input{box-sizing:border-box;font-size:16px}.favorite-dialog form>p{font-size:11px}.favorite-actions{display:flex;gap:8px}.favorite-actions button{min-height:44px;flex:1;font-size:12px}.favorite-actions [hidden]{display:none}.favorite-notice:empty{display:none}
.radio-page .radio[data-view=telefoon] .favorites-ribbon{height:54px;padding:4px 6px}.radio-page .radio[data-view=telefoon] .favorites-list button,.radio-page .radio[data-view=telefoon] .favorite-edit{min-height:44px}.radio-page .radio[data-view=telefoon] .favorite-edit{min-width:44px}

.favorite-channel-picker[hidden]{display:none}.favorite-dialog select{box-sizing:border-box;width:100%;min-height:44px;background:#0a1721;color:#d9edf5;border:1px solid #446577;border-radius:4px;font-size:14px;padding:8px;margin:8px 0 12px}

/* Channel announcements stay inside the existing KANAAL page. */
.channel-notes{display:grid;gap:10px;margin:12px 0;text-align:left;min-width:0}.channel-notes[hidden],.channel-notes [hidden]{display:none}.channel-notes>div{border:1px solid #33516b;border-left:3px solid #77d2ef;background:#0b1d2d;border-radius:8px;padding:10px 12px;min-width:0}.channel-notes>div:last-child{border-left-color:#ffc46a}.channel-notes span{font-size:10px;letter-spacing:.08em;color:#a5bfd0}.channel-notes p{color:#edf6ff;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.5}

/* Optional welcome tour, independent from live radio state. */
.radio-page #welcome-tour{box-sizing:border-box;width:min(520px,calc(100vw - 28px));padding:26px;max-height:calc(100dvh - 28px);border:1px solid #4d8794;border-radius:14px;background:linear-gradient(140deg,#102c3b,#081723);color:#dceaf0}
#welcome-tour::backdrop{background:#020a10d9}#welcome-tour #tour-close{float:right;min-width:44px;min-height:44px;font-size:24px;padding:4px}#welcome-tour .tour-progress{font:11px monospace;letter-spacing:1px;color:#74dce2;padding-top:12px}#welcome-tour h2{clear:both;font-size:27px;line-height:1.2;margin:20px 0}#welcome-tour h2:focus{outline:none}#welcome-tour .tour-mark{padding:16px 10px;border:1px solid #31596b;border-radius:8px;background:#061620;color:#ffd180;font:600 13px monospace;text-align:center;letter-spacing:.5px}#welcome-tour p{font-size:15px;line-height:1.65}#welcome-tour .tour-tip{padding:12px;border-left:3px solid #5dcfd1;background:#102b38;font-size:13px;color:#b9d4de}#welcome-tour .tour-actions{display:flex;gap:10px;margin:20px 0 14px}#welcome-tour .tour-actions button{flex:1;min-height:46px;font-size:13px}#welcome-tour #tour-next{background:#175464;color:#d8ffff;border-color:#63c4ce}#welcome-tour small{display:block;color:#9cb3c0;font-size:11px;line-height:1.6}#welcome-tour button:focus-visible{outline:2px solid #ffd180;outline-offset:3px}.radio-page #alpha-version-dialog #welcome-tour-start{margin-top:10px;background:#102d3a;border-color:#528294;color:#c9eef1;min-height:44px}.tour-launch{min-height:44px;margin-top:12px}
@media(max-width:400px){.radio-page #welcome-tour{padding:18px}#welcome-tour h2{font-size:23px}#welcome-tour p{font-size:14px}}
.radio-page footer #welcome-help{min-height:44px;padding:8px 12px;white-space:normal}

.radio-page .report-button{font:10px monospace;min-height:36px;padding:6px 8px;color:#e8c39f;border:1px solid #695345;border-radius:5px;background:#211f20}.radio-page .entry .report-button{display:block;margin:6px 0 0 auto}.radio-page .personal-station-row{flex-wrap:wrap}.radio-page .personal-station-row .network-station{flex:1 1 150px}.radio-page #report-dialog{box-sizing:border-box;width:min(500px,calc(100vw - 28px));padding:22px;border:1px solid #647c8b;border-radius:12px;background:#0d2332;color:#d1e7ee}.radio-page #report-dialog p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.radio-page #report-close{float:right;min-width:44px;min-height:44px}.radio-page #report-form label{display:grid;gap:7px;margin:14px 0;font-size:13px}.radio-page #report-form select,.radio-page #report-form textarea{width:100%;box-sizing:border-box;padding:10px;font-size:16px;background:#071824;color:#e0f3f8;border:1px solid #476577;border-radius:5px}.radio-page #report-form button{min-height:44px}.radio-page #report-result{color:#a4e4db}@media(pointer:coarse){.radio-page .report-button{min-height:44px}}

.radio-page #events-dialog{box-sizing:border-box;width:min(650px,calc(100vw - 28px));padding:22px;border:1px solid #4d8193;border-radius:12px;background:#0b2130;color:#d1e7ee}.radio-page #events-dialog>p{font-size:13px;line-height:1.6}.radio-page #events-close{float:right;min-width:44px;min-height:44px}.radio-page .event-card{margin:16px 0;padding:15px;border:1px solid #35586c;border-radius:8px;background:#102b3a;min-width:0}.radio-page .event-card h3{margin:0 0 10px;font-size:23px;overflow-wrap:anywhere}.radio-page .event-card p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.radio-page .event-description{white-space:pre-wrap}.radio-page .event-time{color:#ffd180}.radio-page .event-actions{display:flex;flex-wrap:wrap;gap:8px}.radio-page .event-actions button{flex:1 1 150px;min-height:44px;font-size:12px}.radio-page #events-status{color:#9de8df;overflow-wrap:anywhere}.radio-page #radio-events-open,.radio-page footer #radio-events-footer{min-height:44px;padding:8px 12px;margin:6px 6px 6px 0;font-size:11px}

/* Shared station identity, public cards and mutual friends. */
.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:50%;border:1px solid #477386;background:linear-gradient(140deg,#1a4b60,#102736);color:#a6eff2;font:600 23px/1 sans-serif;overflow:hidden;vertical-align:middle}.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}.radio-page #profile{display:flex;align-items:center;gap:8px}.radio-page .header-avatar{width:32px;height:32px;font-size:20px}.network-station>.profile-avatar{float:left;margin:0 9px 4px 0}.entry>.profile-avatar{float:left;width:30px;height:30px;font-size:17px;margin:0 8px 5px 0}.radio-page .entry .log-profile{padding:2px 4px;min-height:32px;border:0;background:transparent;color:#a7e5ec;font-size:12px;text-align:left}.profile-fields{margin:18px 0;border:1px solid #385e70;border-radius:9px;padding:14px;min-width:0}.profile-fields legend{color:#8ce2e4;font-size:13px;padding:0 7px}.profile-fields>label{display:grid;gap:7px;margin:14px 0;font-size:13px}.profile-fields small{display:block;font-size:11px;line-height:1.6;color:#9fb9c6}.profile-fields select,.profile-fields input[type=text]{box-sizing:border-box;max-width:100%;width:100%;padding:10px;background:#0b2331;color:#e3f1f4;border:1px solid #456777;border-radius:5px;font-size:16px}.profile-fields input[type=file]{font-size:12px;max-width:100%;min-width:0}.profile-fields [data-profile-preview] .profile-avatar{width:72px;height:72px;font-size:40px}.profile-interests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0;margin:17px 0;min-width:0}.profile-interests label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;font-size:12px;margin:0;min-height:40px}.profile-interests input,.profile-online-choice input{width:20px!important;height:20px;flex:none}.profile-fields .profile-online-choice{display:flex!important;align-items:center;gap:10px;font-size:12px;line-height:1.6}.profile-fields button{min-height:44px}.profile-fields [hidden]{display:none!important}.profile-fields [data-profile-photo-status]{font-size:12px;color:#9de9d8}
.radio-page #public-profile-dialog,.radio-page #friends-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 28px));padding:22px;background:linear-gradient(140deg,#102b3b,#081b29);color:#d4eaf1;border:1px solid #4d8193;border-radius:13px}.radio-page [data-profile-close],.radio-page #friends-close{float:right;min-width:44px;min-height:44px}.radio-page #public-profile-avatar .profile-avatar{width:86px;height:86px;font-size:48px}.radio-page #public-profile-title{font-size:28px;overflow-wrap:anywhere}.radio-page #public-profile-details p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.radio-page .profile-tags{color:#ffd58b}.radio-page .profile-card-actions,.radio-page .profile-channel-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.radio-page .profile-card-actions button,.radio-page .profile-channel-buttons button{min-height:44px;font-size:12px;flex:1 1 135px}.radio-page .profile-channel-buttons button{flex:0 0 auto}.radio-page #public-profile-status,.radio-page #friends-status{font-size:13px;color:#a1eadc;overflow-wrap:anywhere}.radio-page #friends-dialog>p{font-size:13px;line-height:1.6}.radio-page .friend-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #36586a;padding:14px 0}.radio-page .friend-row>div:first-of-type{flex:1;min-width:100px}.radio-page .friend-row p{font-size:12px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.radio-page .friend-row b{overflow-wrap:anywhere}.radio-page .friend-row .profile-card-actions{width:100%;margin:0}.radio-page #friends-open,.radio-page #friends-footer{min-height:44px;padding:8px 12px;margin:6px 6px 6px 0;font-size:11px}
.radio-page .avatar>.profile-avatar{width:100%;height:100%;box-sizing:border-box;border:0}
.profile-fields .profile-sharing-note{font-size:12px;line-height:1.6;color:#abc4cf;margin:0 0 12px}

.radio-page #friend-call-notice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #538b94;border-left:4px solid #89e1d7;border-radius:8px;background:#0c2d38;padding:12px 14px;margin:10px 0;color:#cdeef0}.radio-page #friend-call-notice[hidden]{display:none}.radio-page #friend-call-notice>div{flex:1;min-width:140px}.radio-page #friend-call-notice b{font:10px monospace;color:#9ce9db}.radio-page #friend-call-notice p{margin:6px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.radio-page #friend-call-notice small{font-size:10px;color:#a3c1cb}.radio-page #friend-call-notice button{min-height:44px;padding:8px 12px;font-size:12px}
.radio-page header #profile>.profile-avatar{display:inline-flex}.radio-page header #profile{min-width:44px;min-height:44px;padding:5px}.radio-page #friend-call-notice{margin:10px 18px}

/* Radiomenu: a fixed entry outside the receiver pages and bottom tab row. */
.radio-page .screen-top{gap:8px;min-width:0}
.radio-page .screen-top>span:first-child{flex:1;min-width:0}
.radio-page .screen-top #view-label{white-space:nowrap}
.radio-page .screen-top #radio-menu-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:44px;padding:7px 12px;border:1px solid #467783;border-radius:5px;background:linear-gradient(#183d4d,#102a39);color:#b9f1e9;font:600 11px monospace;letter-spacing:1px;cursor:pointer}
.radio-page #radio-menu-open:hover{background:#214b59;border-color:#9addcf}
.radio-page #radio-menu-open:focus-visible,.radio-page #radio-menu button:focus-visible{outline:2px solid #ffcf85;outline-offset:2px}
.radio-page #radio-menu{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid #4d8193;border-radius:12px;background:linear-gradient(145deg,#132f40,#081b29);color:#d4eaf1;box-shadow:0 20px 80px #0009}
.radio-page #radio-menu::backdrop{background:#020b12aa;backdrop-filter:blur(3px)}
.radio-page .radio-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.radio-page .radio-menu-heading small{font:9px monospace;letter-spacing:2px;color:#80b4be}
.radio-page #radio-menu-title{margin:5px 0 0;font-size:25px;color:#e0f3f5}
.radio-page #radio-menu-close{min-height:44px;min-width:44px;font-size:24px;border:1px solid #426373;border-radius:6px;background:#0a202e;color:#c4e5eb}
.radio-page .radio-menu-items{display:grid;gap:10px}
.radio-page #radio-menu .radio-menu-items>button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;min-height:78px;margin:0;padding:14px 12px;border:1px solid #335b6d;border-radius:8px;background:#102d3c;color:#d8edf1;cursor:pointer;white-space:normal}
.radio-page #radio-menu .radio-menu-items>button:hover{background:#183e4b;border-color:#70aaa9}
.radio-page .radio-menu-items>button>span:nth-child(2){flex:1;min-width:0}
.radio-page .radio-menu-items b{display:block;font-size:15px;line-height:1.4}
.radio-page .radio-menu-items small{display:block;margin-top:4px;color:#a0bdcb;font-size:12px;line-height:1.5}
.radio-page .radio-menu-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #426d78;border-radius:7px;color:#a0e8d8;font:24px monospace}
@media(max-width:650px){.radio-page .screen-top>span:first-child{display:none}.radio-page .screen-top #view-label{flex:1;overflow:hidden;text-overflow:ellipsis}.radio-page #radio-menu{padding:16px}}
.radio-page .event-announcement{margin:14px 0;padding:12px;border:1px solid #578478;border-radius:7px;background:linear-gradient(120deg,#153a3b,#102733);overflow-wrap:anywhere}.radio-page .event-announcement[hidden]{display:none}.radio-page .event-announcement>small{color:#a7e7bf;font:9px monospace;letter-spacing:1px}.radio-page .event-announcement>p{white-space:pre-wrap}.radio-page .event-announcement button{min-height:44px;padding:8px 12px;font-size:12px}.radio-page .screen-page-keys .event-announcement-badge{color:#a7edbf;background:none;border:0;padding:0;font-size:7px}

.radio-page #invite-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:24px;border:1px solid #4d8193;border-radius:12px;background:linear-gradient(140deg,#133242,#081b29);color:#d4eaf1}.radio-page #invite-dialog::backdrop{background:#020b12aa;backdrop-filter:blur(3px)}.radio-page #invite-close{float:right;min-height:44px;min-width:44px}.radio-page #invite-title{font-size:28px;line-height:1.2;margin:10px 0 16px}.radio-page #invite-dialog p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.radio-page .invite-eyebrow{font:9px monospace;letter-spacing:1.5px;color:#a7e1cb}.radio-page #invite-dialog .invite-channel-choice{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0;font-size:12px;line-height:1.6;min-height:44px}.radio-page .invite-channel-choice input{width:20px;height:20px;accent-color:#8cdcc5}.radio-page .invite-channel-choice b{color:#ffd180}.radio-page #invite-qr{display:block;width:min(220px,100%);height:auto;margin:12px auto 20px;border:8px solid white;border-radius:7px;box-sizing:border-box}.radio-page #invite-dialog label[for=invite-link]{display:block;font-size:12px;margin-bottom:7px}.radio-page #invite-link{box-sizing:border-box;width:100%;padding:12px;background:#061722;color:#b7e8e3;border:1px solid #436777;border-radius:5px;font-size:14px}.radio-page .invite-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.radio-page .invite-actions button,.radio-page .invite-actions a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 12px;flex:1 1 140px;font-size:12px;line-height:1.5;text-decoration:none;color:#ccebe8;border:1px solid #426d79;background:#163746;border-radius:5px}.radio-page #invite-copy{background:#ffd180;border-color:#ffd180;color:#122b36}.radio-page #invite-status{color:#b0e7ca}.radio-page .invite-footnote{display:block;font-size:11px;line-height:1.7;color:#98b6c4}.radio-page #invite-dialog :focus-visible{outline:2px solid #ffcf85;outline-offset:2px}@media(max-width:550px){.radio-page #invite-dialog{padding:18px}.radio-page #invite-link{font-size:16px}.radio-page #invite-qr{width:180px}}
.radio-page #invite-dialog [hidden]{display:none!important}

.radio-page #station-logbook{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:24px;border:1px solid #4d8193;border-radius:12px;background:linear-gradient(140deg,#122f40,#081b29);color:#d4eaf1}.radio-page #station-logbook::backdrop{background:#020b12aa;backdrop-filter:blur(3px)}.radio-page #station-logbook [hidden]{display:none!important}.radio-page #logbook-close{float:right;min-height:44px;min-width:44px}.radio-page .logbook-eyebrow{font:9px monospace;letter-spacing:1.5px;color:#a7e1cb}.radio-page #logbook-title{font-size:30px;margin:10px 0 16px}.radio-page #station-logbook>p{font-size:13px;line-height:1.7}.radio-page #logbook-status{color:#ade4cd;overflow-wrap:anywhere}.radio-page .logbook-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.radio-page #station-logbook button{min-height:44px;padding:9px 12px;font-size:12px}.radio-page .logbook-toolbar button{flex:1 1 130px}.radio-page #logbook-form{padding:16px;margin:18px 0;border:1px solid #4a7982;border-radius:8px;background:#112f3b;display:grid;gap:14px}.radio-page #logbook-form h3{font-size:21px;margin:0}.radio-page #station-logbook label{display:grid;gap:7px;font-size:12px;min-width:0}.radio-page #station-logbook input:not([type=hidden]),.radio-page #station-logbook select,.radio-page #station-logbook textarea{box-sizing:border-box;width:100%;min-width:0;padding:11px;background:#071b27;border:1px solid #456b7b;border-radius:5px;color:#dcf0f3;font:16px sans-serif}.radio-page .logbook-fields{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}.radio-page #logbook-save,.radio-page #logbook-new{background:#ffd180;color:#162a35;border-color:#ffd180}.radio-page #logbook-search{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:end;padding-top:16px;border-top:1px solid #355566}.radio-page #logbook-count{font-size:11px;color:#9bbdca}.radio-page .logbook-entry{margin:14px 0;padding:16px;background:#102c3b;border:1px solid #35596b;border-radius:8px;overflow-wrap:anywhere}.radio-page .logbook-entry h3{font-size:22px;margin:0 0 8px;color:#d5edf0}.radio-page .logbook-entry p{font-size:13px;line-height:1.7;margin:8px 0}.radio-page .logbook-entry-time{color:#ffd180}.radio-page .logbook-entry-note{white-space:pre-wrap;color:#b5d0da}.radio-page .logbook-empty{padding:20px 0;color:#a5c3cf;font-size:13px;line-height:1.8}.radio-page #station-logbook :focus-visible{outline:2px solid #ffcf85;outline-offset:2px}.radio-page #station-logbook button:disabled{opacity:.45;cursor:default}@media(max-width:550px){.radio-page #station-logbook{padding:18px}.radio-page #logbook-title{font-size:27px}.radio-page #logbook-search{grid-template-columns:minmax(0,1fr) 100px}.radio-page #logbook-search>label:first-child{grid-column:1/-1}.radio-page .logbook-fields{grid-template-columns:minmax(0,1fr)}.radio-page #logbook-form{padding:13px}.radio-page .logbook-entry{padding:13px}}

.radio-page #qsl-album,.radio-page #qsl-compose{box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:24px;border:1px solid #60868c;border-radius:12px;background:linear-gradient(145deg,#143343,#091c2a);color:#d7ebf0}.radio-page #qsl-album::backdrop,.radio-page #qsl-compose::backdrop{background:#020b12aa;backdrop-filter:blur(3px)}.radio-page #qsl-album [hidden],.radio-page #qsl-compose [hidden],.radio-page #qsl-unread[hidden]{display:none!important}.radio-page #qsl-close,.radio-page #qsl-compose-close{float:right;min-width:44px;min-height:44px}.radio-page .qsl-eyebrow{font:9px monospace;letter-spacing:1.5px;color:#a5e0c9}.radio-page #qsl-title,.radio-page #qsl-compose-title{font-size:30px;line-height:1.2;margin:12px 0 16px}.radio-page #qsl-album>p,.radio-page #qsl-compose>p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.radio-page .qsl-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.radio-page .qsl-toolbar button{flex:1 1 130px}.radio-page #qsl-album button,.radio-page #qsl-compose button{min-height:44px;padding:9px 12px;font-size:12px}.radio-page #qsl-album button[aria-pressed=true],.radio-page #qsl-send{background:#ffd180;color:#102733;border-color:#ffd180}.radio-page #qsl-status,.radio-page #qsl-compose-status{color:#b0e5cc}.radio-page #qsl-count{font-size:11px;color:#9ebfcd}.radio-page #qsl-unread{display:inline-block;margin-left:5px;padding:2px 6px;background:#f9cd86;color:#0e2632;border-radius:12px;font-size:10px;white-space:nowrap}.radio-page #qsl-compose label{display:grid;gap:8px;font-size:13px}.radio-page #qsl-target{box-sizing:border-box;width:100%;padding:12px;background:#071c28;color:#d9eef1;border:1px solid #547b89;border-radius:5px;font:16px sans-serif}.radio-page #qsl-contact-summary{padding:12px;border:1px solid #426875;border-radius:6px;color:#ffd180}.radio-page .qsl-hint,.radio-page .qsl-footnote{font-size:11px;line-height:1.8;color:#9dbecb}.radio-page .qsl-footnote{display:block;margin-top:16px}.radio-page .qsl-empty{padding:20px 0;font-size:13px;line-height:1.8;color:#a5c6d3}.radio-page .qsl-request{padding:16px;margin:14px 0;border:1px solid #3b6273;border-radius:8px;background:#0d2938;overflow-wrap:anywhere}.radio-page .qsl-request h3{font-size:23px;margin:0 0 9px}.radio-page .qsl-request p{font-size:13px;line-height:1.7}.radio-page .qsl-request-state{color:#ffd180}.radio-page #qsl-album :focus-visible,.radio-page #qsl-compose :focus-visible{outline:2px solid #ffcf85;outline-offset:2px}.radio-page #qsl-album button:disabled,.radio-page #qsl-compose button:disabled{opacity:.45;cursor:default}
/* Code-native QSL design: no external images or public profile/photo lookup. */
.radio-page .qsl-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #829e94;border-radius:11px;padding:24px;margin:18px 0;color:#e4f4ed;background:radial-gradient(ellipse at 100% 0,#397a6d66,transparent 58%),repeating-linear-gradient(0deg,transparent,transparent 23px,#a1d4be08 24px),linear-gradient(130deg,#183d41,#092330 75%);box-shadow:0 12px 28px #0004;overflow-wrap:anywhere}.radio-page .qsl-card::before{content:'40';position:absolute;z-index:-1;right:10px;top:35px;font:700 155px/1 monospace;letter-spacing:-15px;color:#b5e8cd09}.radio-page .qsl-card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.radio-page .qsl-card-head b{font:700 25px 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#ffe2ae}.radio-page .qsl-card-head>span{font:9px monospace;letter-spacing:1px;padding:7px;border:1px solid #77a794;border-radius:4px;color:#bde6cd}.radio-page .qsl-card .qsl-card-title{font:10px monospace;letter-spacing:1px;color:#96c1be;margin:24px 0 13px}.radio-page .qsl-card-names{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:12px;align-items:center;min-height:70px}.radio-page .qsl-card-names strong{font:600 clamp(23px,4vw,35px)/1.15 'Barlow Condensed',sans-serif;min-width:0}.radio-page .qsl-card-names>span{text-align:center;color:#8fd9c1;font:26px monospace}.radio-page .qsl-card-info{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid #547b7180;margin-top:22px;padding-top:16px}.radio-page .qsl-card-info b{font:600 29px monospace;letter-spacing:2px;color:#ffd18b}.radio-page .qsl-card-info>span{font:11px/1.7 monospace;color:#bfddd9}.radio-page .qsl-card-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px;font:8px/1.7 monospace;letter-spacing:.7px;color:#91b9b6}@media(max-width:550px){.radio-page #qsl-album,.radio-page #qsl-compose{padding:18px}.radio-page #qsl-title,.radio-page #qsl-compose-title{font-size:28px}.radio-page .qsl-card{padding:18px}.radio-page .qsl-card-head b{font-size:22px}.radio-page .qsl-card-names{grid-template-columns:minmax(0,1fr);gap:8px}.radio-page .qsl-card-names>span{text-align:left;font-size:22px;line-height:1}.radio-page .qsl-card-info>span{font-size:10px}.radio-page .qsl-card-foot{font-size:8px}}

.radio-page #qsl-album,.radio-page #qsl-compose{max-width:720px}.radio-page .qsl-toolbar button{white-space:normal}

.station-connections{margin:1.2rem 0;padding:1rem;border:1px solid #365460;border-radius:12px;background:#101f27}.station-connections h3{margin:0 0 .6rem}.station-connections ul{list-style:none;padding:0}.station-connections li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:.6rem 0}.station-connections li span{overflow-wrap:anywhere}.station-connections button{min-height:40px;padding:.45rem .7rem}.station-connections small{display:block;line-height:1.5;color:#a9bec7}.station-connections form{display:grid;gap:.5rem}.station-connections [data-connections-notice]{font-size:.9rem;color:#7ce1dc}
