:root{color-scheme:dark;--bg: #0b1218;--surface: #121d26;--surface-2: #192733;--line: #253847;--ink: #e1e9ef;--muted: #8196a8;--accent: #ffb23f;--accent-ink: #1a1206;--focus: #3fd0c0;--glass: #070e14;--glass-2: #0d1a24;--g-line: #1c3142;--g-ink: #d6e3ec;--g-muted: #6b8598;--lamp: #ffb23f;--lamp-rgb: 255, 178, 63;--lamp-hi: #ffd38a;--lamp-ghost: rgba(var(--lamp-rgb), .13);--sig: #3fd0c0;--sig-rgb: 63, 208, 192;--hot: #ff6450;--tx: #ff4b3e;--off: #1a2a36;--off-2: #2a3a46;--canvas-font: 500 10.5px "Martian Mono", monospace;--r-plate: 22px;--r-ctl: 10px;--r-chip: 6px;--ui: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--ui-c: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--ui);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{max-width:1240px;margin:0 auto;padding:20px 16px 48px}.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:34px;height:34px;color:var(--accent);flex:none}.brand strong{display:block;font:700 21px/1.1 var(--ui);letter-spacing:-.01em}.brand span{display:block;font:500 14px/1.2 var(--ui-c);color:var(--muted)}.brand strong a.parent{font:500 13px var(--ui-c);color:var(--muted);text-decoration:none;margin-left:4px;letter-spacing:0}.brand strong a.parent:hover{color:var(--accent)}.conn{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font:500 14px var(--ui-c);color:var(--muted)}.pill i{width:8px;height:8px;border-radius:50%;background:var(--line)}.pill.on i{background:var(--sig);box-shadow:0 0 0 3px color-mix(in srgb,var(--sig) 25%,transparent)}.pill.demo i{background:var(--lamp);box-shadow:0 0 0 3px color-mix(in srgb,var(--lamp) 25%,transparent)}.pill.warn i{background:var(--hot)}.btn{height:36px;padding:0 14px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 15px var(--ui);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,background-color .15s}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost{background:transparent}.btn.icon{width:36px;padding:0;justify-content:center}.btn.icon svg{width:18px;height:18px}.btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--muted)}.note{border-left:3px solid var(--accent);background:var(--surface);padding:10px 14px;border-radius:0 var(--r-ctl) var(--r-ctl) 0;margin-bottom:14px;font-size:15px}.note.warn{border-left-color:var(--hot);background:color-mix(in srgb,var(--hot) 10%,var(--surface))}.note.warn b{color:var(--hot)}.settings{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px}.settings h3{font:600 15px var(--ui);margin:0 0 10px}.fields{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.field{display:grid;gap:4px;font:500 14px var(--ui-c);color:var(--muted)}.checklist{margin:0;padding-left:20px;font-size:14.5px;color:var(--muted)}.checklist li{margin-bottom:6px}.checklist b{color:var(--ink);font-weight:600}@media(max-width:720px){.settings{grid-template-columns:1fr}}select,input[type=text],input[type=search]{height:36px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 10px;font:500 15px var(--ui)}input.hex{width:64px;font-family:var(--mono);font-size:13px;text-transform:uppercase}.plate{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-plate);padding:10px;margin-bottom:14px}.glass{position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),var(--glass);border-radius:15px;padding:16px 20px 18px;color:var(--g-ink);box-shadow:inset 0 0 0 1px var(--g-line),inset 0 18px 40px #00000059}.glass-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 14px var(--ui-c);color:var(--g-muted)}.glass-top .band{margin-left:auto}.glass .pill{height:26px;padding:0 10px;gap:7px;border-color:var(--g-line);color:var(--g-muted);font:500 13px var(--ui-c)}.glass .pill:not(.on):not(.demo):not(.warn) i{background:var(--off-2)}.glass .pill .model{color:var(--g-ink);font-weight:600}.glass .pill .model:before{content:"\b7";margin-right:7px;color:var(--g-muted);font-weight:500}.glass .band:empty{display:none}.glass .band:empty+.pill{margin-left:auto}.chip{font:600 12px var(--mono);padding:3px 8px;border-radius:var(--r-chip);border:1px solid var(--g-line);color:var(--g-ink);letter-spacing:.04em;min-width:46px;text-align:center}.chip.vfo{color:var(--g-muted);min-width:0;cursor:help}.chip.split{color:var(--lamp);border-color:rgba(var(--lamp-rgb),.45);min-width:0}.lamp{display:inline-flex;align-items:center;gap:7px}.lamp i{width:9px;height:9px;border-radius:50%;background:var(--off-2);transition:background-color .12s,box-shadow .12s}.lamp.lit{color:var(--g-ink)}.lamp.lit i{background:var(--sig);box-shadow:0 0 10px var(--sig)}.txlamp{font-weight:700;letter-spacing:.06em}.txlamp.lit{color:var(--tx)}.txlamp.lit i{background:var(--tx);box-shadow:0 0 10px var(--tx)}.plate .glass.tx{outline:2px solid var(--tx);outline-offset:-2px;box-shadow:0 0 0 1px var(--tx),0 0 22px 2px #ff4b3e8c,0 0 60px 8px #ff4b3e38,inset 0 0 36px #ff4b3e33;animation:tx-glow 1.6s ease-in-out infinite}@keyframes tx-glow{50%{box-shadow:0 0 0 1px var(--tx),0 0 30px 4px #ff4b3ebf,0 0 84px 12px #ff4b3e52,inset 0 0 46px #ff4b3e4d}}.bands{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bandcard{flex:1 1 220px;display:flex;flex-direction:column;min-width:0;border-radius:10px;border:1px solid var(--g-line);background:var(--glass-2);transition:border-color .15s,box-shadow .15s}.bandcard .bc-sel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;align-items:baseline;width:100%;text-align:left;padding:8px 12px 6px;border:0;border-radius:10px;background:transparent;color:var(--g-muted);font:500 13px var(--ui-c);cursor:pointer}.bandcard .bc-sel:disabled{cursor:default}.bandcard b{grid-row:span 2;align-self:center;font:600 20px var(--mono);color:var(--g-muted)}.bandcard .bc-f{font:500 16px var(--mono);color:var(--g-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bandcard .bc-m{font:600 11px var(--mono);letter-spacing:.04em}.bandcard .bc-n{grid-column:2 / 4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bandcard.stale .bc-f{color:var(--g-muted)}.bandcard.main{border-color:var(--lamp);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lamp) 45%,transparent),0 0 18px -6px var(--lamp)}.bandcard.main b{color:var(--lamp)}.bandcard:hover:not(.off):not(.main){border-color:var(--g-muted)}.bandcard.off{opacity:.6}.bc-ch{display:flex;align-items:center;gap:4px;padding:0 8px 8px}.bc-ch[hidden]{display:none}.bc-step{width:28px;height:28px;flex:none;padding:0;border:1px solid var(--g-line);border-radius:7px;background:transparent;color:var(--g-muted);font:500 17px/1 var(--ui-c);cursor:pointer}.bc-pick{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;height:28px;padding:0 9px;border:1px solid var(--g-line);border-radius:7px;background:transparent;color:var(--g-ink);font:600 13.5px var(--ui-c);cursor:pointer}.bc-step:hover:not(:disabled),.bc-pick:hover:not(:disabled),.bc-pick[aria-expanded=true]{border-color:var(--g-muted);color:var(--g-ink)}.bc-step:disabled,.bc-pick:disabled{cursor:default;opacity:.5}.bc-chname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-chname:empty:before{content:"Channels";color:var(--g-muted);font-weight:500}.bc-pick.pending .bc-chname{opacity:.65}.bc-pick .memcaret{display:block}.dw{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid var(--g-line);background:transparent;color:var(--g-muted);font:600 14px var(--ui-c);cursor:pointer}.dw i{width:9px;height:9px;border-radius:50%;background:var(--off-2);transition:background-color .12s,box-shadow .12s}.dw[aria-pressed=true]{color:var(--g-ink)}.dw[aria-pressed=true] i{background:var(--sig);box-shadow:0 0 8px var(--sig)}.dw:hover:not(:disabled){border-color:var(--g-muted)}.dw:disabled{cursor:default;opacity:.6}.ptt{min-width:108px;padding:8px 16px;border-radius:10px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid color-mix(in srgb,var(--tx) 55%,var(--g-line));background:color-mix(in srgb,var(--tx) 8%,transparent);color:var(--tx);font:700 16px var(--mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;transition:background-color .1s,box-shadow .1s,border-color .1s}.ptt:hover:not(:disabled){border-color:var(--tx)}.ptt.on{background:var(--tx);border-color:var(--tx);color:#fff;box-shadow:0 0 22px -2px var(--tx)}.ptt:disabled{cursor:default;opacity:.45}.txbox{display:flex;flex-direction:column;gap:6px;min-width:120px}.txbox .ptt{flex:1}.txpow{display:flex;align-items:center;gap:6px}.txpow select{flex:1;min-width:0;height:28px;padding:0 6px;font-size:13px;background-color:var(--glass-2);color:var(--g-ink);border-color:var(--g-line)}.po{width:34px;height:8px;flex:none;border-radius:4px;background:var(--off);border:1px solid var(--g-line);overflow:hidden}.po i{display:block;height:100%;width:0;background:var(--tx);transition:width .2s}@media(max-width:560px){.dw,.txbox{flex:1}.dw{justify-content:center}}.chname{display:flex;justify-content:center;align-items:center;gap:10px;min-height:26px;margin:14px 0 -6px;font:600 19px var(--ui-c);color:var(--g-ink);letter-spacing:.01em}.memcaret{display:none;width:7px;height:7px;flex:none;border-right:1.6px solid var(--g-muted);border-bottom:1.6px solid var(--g-muted);transform:translateY(-2px) rotate(45deg)}.mempop{position:fixed;z-index:40;width:min(520px,calc(100vw - 24px));display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(420px,70vh);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px #0000004d;overflow:hidden}.mempop[hidden]{display:none}.mempop-tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.mempop-tools input{flex:1 1 180px;min-width:0}.mempop-tools select[hidden]{display:none}.mempop-list{overflow-y:auto;padding:4px}.memopt{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font:500 15px var(--ui-c);cursor:pointer}.memopt:hover,.memopt:focus-visible{background:var(--surface-2);outline:none}.memopt[aria-selected=true]{box-shadow:inset 3px 0 0 var(--accent)}.memopt[aria-disabled=true]{cursor:default;opacity:.55}.memdel{width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.memdel:hover{background:var(--surface);color:var(--hot)}.mempop-tools .btn{flex:none}.memopt .c{font:600 12px var(--mono);color:var(--muted)}.memopt .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memopt .n small{display:block;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.memopt .f{font:500 13px var(--mono);color:var(--muted)}.mempop-list .memmore{padding:8px 10px}.chname .chno{font:600 12px var(--mono);color:var(--lamp);border:1px solid rgba(var(--lamp-rgb),.45);border-radius:var(--r-chip);padding:2px 7px}.chname .chno:empty{display:none}.readout{display:flex;align-items:baseline;justify-content:center;gap:0;font-family:var(--mono);font-weight:500;color:var(--lamp);font-size:clamp(40px,10.5vw,92px);line-height:1;letter-spacing:-.02em;margin:18px 0 14px;-webkit-user-select:none;user-select:none;outline:none;border-radius:10px;text-shadow:0 0 22px rgba(var(--lamp-rgb),.35);font-variant-numeric:tabular-nums}.readout:focus-visible{box-shadow:0 0 0 2px var(--focus)}.dg{position:relative;cursor:ns-resize;padding:0 .015em;transition:color .12s}.dg.ghost{color:var(--lamp-ghost);text-shadow:none}.dg.cur:after{content:"";position:absolute;left:12%;right:12%;bottom:-.12em;height:3px;border-radius:2px;background:var(--sig);box-shadow:0 0 8px var(--sig)}.dg:hover{color:var(--lamp-hi)}.dg.ghost:hover{color:rgba(var(--lamp-rgb),.35)}.sep{color:rgba(var(--lamp-rgb),.55);padding:0 .02em;text-shadow:none}.hz{font-size:.54em}.unit{font:600 15px var(--ui-c);color:var(--g-muted);margin-left:10px;text-shadow:none;letter-spacing:0}.readout.empty{color:var(--lamp-ghost);text-shadow:none}.readout.empty .sep{color:var(--lamp-ghost)}.hint{text-align:center;font:500 15px var(--ui-c);color:var(--g-muted);margin:-4px 0 14px}.ribbon{display:block;width:100%;height:58px;cursor:grab;touch-action:none;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line)}.ribbon.drag{cursor:grabbing}.meters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:16px;align-items:start}.mlabel{display:flex;justify-content:space-between;font:500 13.5px var(--ui-c);color:var(--g-muted);margin-bottom:7px}.mlabel b{font:600 14px var(--mono);color:var(--g-ink)}.segs{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;height:26px}.segs i{border-radius:2px;background:var(--off);transition:background-color .08s}.segs i.on{background:var(--sig);box-shadow:0 0 6px color-mix(in srgb,var(--sig) 50%,transparent)}.segs i.on.amb{background:var(--lamp);box-shadow:0 0 6px color-mix(in srgb,var(--lamp) 50%,transparent)}.segs i.on.red{background:var(--hot);box-shadow:0 0 6px color-mix(in srgb,var(--hot) 50%,transparent)}.segs i.peak{background:var(--g-ink);opacity:.7}.scale{display:grid;grid-template-columns:repeat(24,1fr);font:500 11px var(--mono);color:var(--g-muted);margin-top:6px}.scale span{grid-column:span 3}.trace{display:block;width:100%;height:52px;border-bottom:1px solid var(--g-line)}.tonebox{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 10px 6px;padding:10px 12px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line)}.tonebox span{flex:1 1 240px;font-size:15px}.tonebox b{font-family:var(--mono);font-weight:600}.deck{display:flex;flex-wrap:wrap;gap:14px 14px;align-items:center;padding:14px 10px 6px}.btn.power.off{color:var(--muted)}.btn.power:not(.off){color:var(--sig)}.btn.small{height:32px;padding:0 10px;font-size:13.5px}.grp{display:flex;align-items:center;gap:10px}.lbl{font:500 14px var(--ui-c);color:var(--muted)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-ctl);padding:3px;gap:2px}.seg button{height:30px;min-width:50px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:600 14px var(--ui-c);cursor:pointer}.seg button:hover:not(:disabled):not(.active){background:var(--surface)}.seg button.active{background:var(--ink);color:var(--surface)}.seg button:disabled{opacity:.4;cursor:not-allowed}.stepper{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden}.stepper button{width:40px;height:34px;border:0;background:var(--surface-2);color:var(--ink);font:600 20px/1 var(--ui);cursor:pointer}.stepper button+button{border-left:1px solid var(--line)}.stepper button:disabled{opacity:.4;cursor:not-allowed}.goto{margin-left:auto}.goto input{width:100px;font-family:var(--mono);font-size:14px}@media(max-width:720px){.goto{margin-left:0}.meters{grid-template-columns:1fr}}@media(max-width:560px){.deck .grp:first-child{width:100%}.deck .grp:first-child .lbl{display:none}.seg{flex:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.seg button{min-width:0;padding:0 4px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.panel.spaced{margin-bottom:14px}.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel h2{font:700 17px/1.2 var(--ui);margin:0;letter-spacing:-.005em}.sub{font-size:14.5px;color:var(--muted);margin:12px 0 0;max-width:62ch}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent) var(--p, 0%),var(--surface-2) var(--p, 0%));border:1px solid var(--line)}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line)}input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}input[type=range]:disabled{opacity:.4;cursor:not-allowed}.plate{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.plate-main{min-width:0}.levels{display:flex;gap:10px;padding:4px 4px 8px;align-self:start;height:540px;position:sticky;top:12px}.lvl{display:flex;flex-direction:column;align-items:center;gap:8px;width:58px}.lvl-lbl{font:600 12px var(--ui-c);letter-spacing:.1em;color:var(--muted)}.lvl output{font:600 15px var(--mono);min-height:20px}input.vbar{writing-mode:vertical-lr;direction:rtl;flex:1;width:30px;height:auto;min-height:220px}input.vbar::-webkit-slider-runnable-track{width:8px;height:100%;margin:0 auto;border-radius:4px;background:linear-gradient(to top,var(--accent) var(--p, 0%),var(--surface-2) var(--p, 0%));border:1px solid var(--line)}input.vbar::-webkit-slider-thumb{width:22px;height:22px;margin:0 0 0 -8px}input.vbar::-moz-range-track{width:8px}.sqlbar{flex:1;display:flex;flex-direction:column-reverse;gap:3px}.sqlbar button{flex:1;min-height:20px;width:58px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);font:600 12px var(--ui-c);cursor:pointer}.sqlbar button.under{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.sqlbar button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.sqlbar button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:720px){.plate{grid-template-columns:1fr}.levels{justify-content:center;padding-top:12px;border-top:1px solid var(--line);margin-top:8px;height:auto;position:static}input.vbar{min-height:200px}}.route{display:flex;flex-wrap:wrap;gap:10px}.route .field{flex:1 1 160px}.route select{width:100%}.morse{display:flex;align-items:baseline;gap:10px;margin:8px 0 0;font-size:14px;color:var(--muted)}.morse[hidden]{display:none}.morse b{flex:none;font-weight:500}.morse .tick{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.morse #morseText{font-family:var(--mono);color:var(--ink);unicode-bidi:plaintext}.chan.idrow{grid-template-columns:112px minmax(0,1fr) auto auto}.chan.idrow .n small{display:block;font-size:13px;color:var(--muted)}.alevel{display:flex;align-items:center;gap:10px;margin-top:14px}.decoders{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 10px 4px;margin-top:10px;border-top:1px solid var(--line)}.tog{position:relative;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font:500 14px var(--ui-c);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s}.tog input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.tog i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background-color .12s,box-shadow .12s}.tog:hover:not(:disabled){border-color:var(--muted)}.tog:has(input:checked),.tog[aria-pressed=true]{border-color:var(--sig)}.tog:has(input:checked) i,.tog[aria-pressed=true] i{background:var(--sig);box-shadow:0 0 6px var(--sig)}.tog:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.tog:disabled{opacity:.45;cursor:default}.decoders .inline{display:inline-flex;align-items:center;gap:8px;font:500 14px var(--ui-c);color:var(--muted)}.decoders .inline select{height:32px;max-width:190px}.decoders .alevel{flex:1 1 140px;margin:0}.decoders .morse{flex-basis:100%;margin:0}@media(max-width:560px){.decoders .alevel,.decoders .inline{flex:1 1 100%}.decoders .inline select{flex:1;max-width:none}}.alevel .bar{flex:1;height:8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.alevel .bar i{display:block;height:100%;width:0;background:var(--sig);transition:width .06s}.alevel .bar i.clip{background:var(--hot)}.alevel output{font:500 13px var(--mono);color:var(--muted);min-width:64px;text-align:right}.chans{display:grid;gap:4px}.nearby{margin-top:16px}.nearhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px}.nearhead h3{margin:0;font:600 15px var(--ui)}.nearhead .sub{margin:0}.chan.nearrow{grid-template-columns:92px 104px minmax(0,1fr) auto}.chan.nearrow .d{font:600 13px var(--mono);color:var(--accent)}.chan.nearrow .n small{display:block;font-size:13px;color:var(--muted)}.chans .sub{margin:0}.chan{display:grid;grid-template-columns:112px 48px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 8px 8px 12px;border-radius:var(--r-ctl);border:1px solid transparent}.chan:hover{background:var(--surface-2)}.chan.here{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.chan .f{font:500 14.5px var(--mono)}.chan .m{font:600 12px var(--mono);color:var(--muted)}.chan .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chan .btn{height:30px;padding:0 12px;font-size:14px}.chan .del{width:30px;padding:0;justify-content:center;color:var(--muted)}@media(max-width:560px){.chan{grid-template-columns:1fr auto auto;row-gap:0}.chan .m{display:none}.chan .n{grid-column:1;grid-row:2;font-size:14px;color:var(--muted)}}.memactions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.memtools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.memtools input[type=search]{flex:1 1 220px;min-width:0}.memlist{max-height:440px;overflow:auto}.chan.mem{grid-template-columns:52px 104px 48px minmax(0,1fr) auto}.chan.mem .c{font:500 13px var(--mono);color:var(--muted)}.chan.mem .n small{display:block;font-size:13px;color:var(--muted)}.memmore{margin:8px 0 0;text-align:center;font-size:14px;color:var(--muted)}.linkbtn{border:0;padding:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}footer.site{border-top:1px solid var(--line);background:var(--surface);margin-top:8px}.foot{max-width:1240px;margin:0 auto;padding:26px 16px 34px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,1fr);gap:20px 36px;font-size:14px;color:var(--muted)}.foot p{margin:0 0 8px}.foot-name{font-size:16px;color:var(--ink)}.foot-name b{font-weight:700}.foot a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.foot a:hover{text-decoration-thickness:2px}.foot .ext{margin-left:2px;font-size:.85em;text-decoration:none;display:inline-block}.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}.foot-links li{display:grid;grid-template-columns:5.5em minmax(0,1fr);column-gap:12px;align-items:baseline}.foot-links span:not(.ext){font:500 13px var(--ui-c)}.foot-links small{grid-column:2;font-size:13px;margin-top:2px}.foot-fine{font-size:13px}.foot .build{font:12px var(--mono)}.foot .build b{color:var(--ink);font-weight:600}@media(max-width:860px){.foot{grid-template-columns:1fr;gap:18px}}.satsstv{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.satsstv .morse{margin:4px 0 0}.sstvview{margin-top:12px}.sstvview canvas{display:block;width:100%;max-width:640px;height:auto;border-radius:10px;background:#000;border:1px solid var(--line)}.sstvview .sub{margin-top:6px}.sstvgallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.sstvgallery:empty{display:none}.sstvpic{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.sstvpic button.thumb{display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer}.sstvpic img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.sstvpic.on{outline:2px solid var(--accent);outline-offset:-2px}.sstvpic figcaption{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:12.5px;color:var(--muted)}.sstvpic figcaption span{flex:1;min-width:0}.sstvpic figcaption a{color:var(--accent);text-decoration:none;font-weight:600}.sstvpic figcaption .memdel{margin-left:2px}.panel.drop{outline:2px dashed var(--accent);outline-offset:-6px}@media(max-width:560px){.chan.mem{grid-template-columns:auto minmax(0,1fr) auto}.chan.mem .m{display:none}.chan.mem .n{grid-column:1 / 3;grid-row:2}}.sweepform{margin-bottom:12px}.autotune{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}.autotune select{height:32px;max-width:100%;min-width:0}.swbest{margin:10px 0 0;font-size:15px}.swbest b{font-family:var(--mono);font-weight:600}.lanetag{align-self:end;display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--line);font:600 15px var(--mono);color:var(--accent)}input.mhz{width:116px;font-family:var(--mono);font-size:14px}.check{display:inline-flex;align-items:center;gap:7px;height:36px;font:500 14px var(--ui-c);color:var(--muted);cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.scope{position:relative;background:var(--glass);border-radius:12px;padding:8px;box-shadow:inset 0 0 0 1px var(--g-line)}.bandpick{position:fixed;z-index:30;max-width:calc(100vw - 16px);display:flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 6px 6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 14px var(--ui-c);box-shadow:0 10px 28px #0006}.bandpick .btn{height:30px;padding:0 12px;font-size:14px}.bandpick span{overflow:hidden;text-overflow:ellipsis}.bandpick .btn:disabled{text-decoration:line-through}#sweepCanvas{display:block;width:100%;height:210px;cursor:crosshair}#sweepCanvas.dual{height:400px}.swmode{align-self:center;height:36px;display:inline-flex;align-items:center}.aprs-send{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.aprs-send summary{cursor:pointer;font:600 15px var(--ui)}.sendform{margin-top:12px;display:grid;gap:12px}.sendform .fields{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end}.sendform .field.grow{flex:1 1 260px}.sendform .field.grow input{width:100%}.sendform input.call{width:110px;text-transform:uppercase;font-family:var(--mono)}.sendwhere{display:flex;flex-direction:column;gap:4px}.sendwhere>span:first-child{font:500 13px var(--ui-c);color:var(--muted)}.sendwhere b{font:500 14px var(--mono)}.sendloc{display:flex;gap:6px;flex-wrap:wrap}#sendFreq.off{color:var(--hot)}.sendpreview{margin:0}.sendpreview code{display:block;padding:8px 10px;border-radius:8px;background:var(--glass);color:var(--g-ink);font:500 13px var(--mono);overflow-x:auto;white-space:nowrap}.sendpreview code.bad{color:var(--g-muted);font-family:var(--ui-c)}.sendbar{display:flex;align-items:center;gap:14px}.sendbar .sub{margin:0}.pkt .fixed,.pkt .bad{margin-left:6px;padding:0 6px;border-radius:4px;font:600 11px var(--ui-c);border:1px solid var(--line);color:var(--muted)}.pkt .bad{border-color:color-mix(in srgb,var(--hot) 60%,var(--line));color:var(--hot)}.pkt.garbled .what,.pkt.garbled .who b{color:var(--muted);font-family:var(--mono);font-size:13px}.pkt .sent{margin-left:6px;padding:0 6px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font:600 11px var(--ui-c)}.chan.dvrow{grid-template-columns:80px minmax(0,1fr) auto}.chan.dvrow .t{white-space:nowrap}.chan.dvrow .t{font:500 13px var(--mono);color:var(--muted)}.chan.dvrow .n small{display:block;font-size:13px;color:var(--muted);white-space:normal}.chan.dvrow .n .msg{color:var(--ink)}.chan.dvrow .d{font:600 13px var(--mono);color:var(--accent);text-align:right}.sendform input.call.note{width:64px}.dvroute{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dvlink{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 2px;border:1px solid var(--line);border-radius:var(--r-ctl)}.dvlink input.call{width:84px;height:32px}.dvlink select{height:32px}.aprs-live:empty{display:none}.aprs-live{padding:4px 10px 0}.panel.live{margin:12px 0 4px;padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.aprsgrid{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:20px;align-items:start}.radarnote{margin:6px 0 0;text-align:center}.aprslist{display:grid;gap:4px;max-height:420px;overflow:auto}.pkt{display:grid;grid-template-columns:auto 26px minmax(0,1fr);gap:2px 10px;padding:7px 10px;border-radius:var(--r-ctl);font-size:14.5px}.pkt:nth-child(odd){background:var(--surface-2)}.pkt .t{font:500 12.5px var(--mono);color:var(--muted);padding-top:2px;white-space:nowrap}.pkt .sym{font-size:17px;line-height:1.2;text-align:center}.pkt .who b{font-family:var(--mono);font-weight:600}.pkt .who .via{color:var(--muted);font-size:13px;margin-left:6px}.pkt .who .iss{color:var(--accent);font-weight:600;font-size:13px;margin-left:6px}.pkt .what{grid-column:3;color:var(--ink);overflow-wrap:anywhere}.pkt .what .d{font-family:var(--mono);color:var(--muted);font-size:13px}@media(max-width:640px){.aprsgrid{grid-template-columns:1fr}.aprsgrid>div:first-child{max-width:300px;margin:0 auto;width:100%}}.satgrid{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:20px;align-items:start}.sky{display:block;width:100%;aspect-ratio:1;background:var(--glass);border-radius:14px;box-shadow:inset 0 0 0 1px var(--g-line)}.satnow{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px 16px;margin:14px 0}.satnow dt{font:500 13px var(--ui-c);color:var(--muted)}.satnow dd{margin:2px 0 0;font:500 15px var(--mono);white-space:nowrap}.passes{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:4px}.passes li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:6px 10px;border-radius:var(--r-ctl);background:var(--surface-2);font-size:14.5px}.passes li b{font:500 14px var(--mono)}.passes li.now{outline:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.passes li span{color:var(--muted)}.satadd{margin-top:10px;padding:12px;border:1px dashed var(--line);border-radius:var(--r-ctl)}.satnote{margin:8px 0 0;font-size:13.5px}.satadd .sub{flex-basis:100%;margin:0}input.norad{width:96px;font-family:var(--mono);font-size:14px}.satloc{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.satloc #locText{font:500 14px var(--mono);margin-right:auto}#btnTrack[aria-pressed=true]{animation:track-pulse 1.6s ease-in-out infinite}@keyframes track-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}}@media(max-width:640px){.satgrid{grid-template-columns:1fr}.skywrap{width:100%;max-width:280px;margin:0 auto}}.settings .debug{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:14px}.logbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}#log[hidden]{display:none}#log{font:400 11.5px/1.7 var(--mono);background:var(--glass);color:var(--g-muted);border-radius:10px;padding:10px 12px;height:200px;overflow:auto;white-space:pre;margin-top:12px}#log .tx{color:var(--lamp)}#log .rx{color:var(--g-ink)}#log .err{color:var(--hot)}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,8px);background:var(--ink);color:var(--surface);padding:11px 16px;border-radius:12px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);box-shadow:0 8px 30px #00000040}#toast.show{opacity:1;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.skins,.skin-btn{position:relative}.skin-btn[aria-expanded=true]{border-color:var(--muted)}.skin-dot{position:absolute;right:6px;bottom:6px;width:8px;height:8px;border-radius:50%;background:var(--pv-ink);box-shadow:0 0 0 2px var(--bg),0 0 6px var(--pv-glow)}.skin-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(300px,calc(100vw - 32px));padding:10px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px #00000047}.skin-pop[hidden]{display:none}.skin-pop.from-left{right:auto;left:0}.skin-head{margin:2px 4px 0;font:600 12px var(--ui-c);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.skin-card{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;padding:8px;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);transition:border-color .15s,transform .15s}.skin-card:hover{border-color:var(--muted);transform:translateY(-1px)}.skin-card[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.skin-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skin-screen{position:relative;display:grid;gap:4px;padding:7px 8px 8px;border-radius:8px;background:var(--pv-bg);box-shadow:inset 0 0 0 1px var(--pv-line);overflow:hidden}.skin-screen b{font:var(--pv-weight) var(--pv-size) / 1 var(--pv-font);color:var(--pv-ink);text-align:center;letter-spacing:var(--pv-track);text-shadow:0 0 8px var(--pv-glow)}.sk-top{display:flex;justify-content:space-between;font:500 8px var(--pv-ui);color:var(--pv-muted)}.sk-top i{font-style:normal}.sk-top i:first-child{padding:0 3px;border:1px solid var(--pv-line);border-radius:3px;color:var(--pv-ink)}.sk-meter{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.sk-meter i{height:4px;border-radius:1px;background:var(--pv-off)}.sk-meter i.on{background:var(--pv-sig);box-shadow:0 0 4px var(--pv-sig)}.skin-text{display:grid;gap:2px}.skin-name{font:700 15px var(--ui)}.skin-note{font:500 12.5px/1.3 var(--ui-c);color:var(--muted)}[data-preview=panel]{--pv-bg: linear-gradient(180deg, #0d1a24, #070e14);--pv-line: #1c3142;--pv-ink: #ffb23f;--pv-glow: rgba(255, 178, 63, .45);--pv-sig: #3fd0c0;--pv-off: #14283a;--pv-muted: #6b8598;--pv-font: "Martian Mono", ui-monospace, monospace;--pv-weight: 500;--pv-size: 15px;--pv-track: -.02em;--pv-ui: "Barlow Semi Condensed", sans-serif}[data-preview=phosphor]{--pv-bg: radial-gradient(ellipse at 50% 40%, #04220f, #000 78%);--pv-line: #0f3d22;--pv-ink: #8dffb0;--pv-glow: rgba(77, 255, 136, .8);--pv-sig: #4dff88;--pv-off: #04200f;--pv-muted: #2f8a4f;--pv-font: "VT323", ui-monospace, monospace;--pv-weight: 400;--pv-size: 24px;--pv-track: .02em;--pv-ui: "Share Tech Mono", monospace}[data-preview=phosphor].skin-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:skin-reveal .75s cubic-bezier(.65,0,.25,1)}@keyframes skin-reveal{0%{clip-path:circle(0 at var(--vt-x, 50%) var(--vt-y, 0))}to{clip-path:circle(var(--vt-r, 150%) at var(--vt-x, 50%) var(--vt-y, 0))}}.glass:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;transform:translate(-110%);background:linear-gradient(105deg,transparent 35%,rgba(var(--lamp-rgb),.1) 48%,rgba(255,255,255,.1) 50%,transparent 62%)}.glass.boot:before{animation:glass-sweep 1.1s ease-out}@keyframes glass-sweep{to{transform:translate(110%)}}:root[data-skin=phosphor]{--bg: #010603;--surface: #03100a;--surface-2: #061a0f;--line: #0f3d22;--ink: #8dffb0;--muted: #3fa463;--accent: #39ff7a;--accent-ink: #012008;--focus: #d4ff3a;--glass: #000301;--glass-2: #021208;--g-line: #0c3a1e;--g-ink: #a8ffc2;--g-muted: #2f8a4f;--lamp: #4dff88;--lamp-rgb: 77, 255, 136;--lamp-hi: #c8ffd9;--sig: #4dff88;--sig-rgb: 77, 255, 136;--hot: #e9ff4d;--off: #04200f;--off-2: #06301a;--ui: "Share Tech Mono", ui-monospace, monospace;--ui-c: "Share Tech Mono", ui-monospace, monospace;--mono: "VT323", ui-monospace, monospace;--canvas-font: 15px "VT323", monospace;color-scheme:dark}[data-skin=phosphor] body{background:radial-gradient(130% 100% at 50% 35%,#03180b,#000 72%);text-shadow:0 0 5px rgba(77,255,136,.35)}[data-skin=phosphor] body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:40;background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 1px,transparent 1px 3px),radial-gradient(125% 100% at 50% 50%,transparent 58%,rgba(0,0,0,.6));animation:crt-flicker 7s infinite steps(1)}@keyframes crt-flicker{0%,to{opacity:1}41%{opacity:.9}42%{opacity:1}77%{opacity:.94}78%{opacity:1}}[data-skin=phosphor] .plate,[data-skin=phosphor] .panel,[data-skin=phosphor] .settings{box-shadow:0 0 0 1px #4dff881a,inset 0 0 30px -10px #4dff8859}[data-skin=phosphor] .glass{box-shadow:inset 0 0 0 1px var(--g-line),inset 0 0 70px #4dff881a,inset 0 18px 40px #00000080}[data-skin=phosphor] .readout{font-weight:400;letter-spacing:.02em;font-size:clamp(64px,16vw,140px);margin:10px 0 6px;text-shadow:0 0 4px var(--lamp),0 0 18px rgba(77,255,136,.6),0 0 60px rgba(77,255,136,.3)}[data-skin=phosphor] .dg.ghost{color:#4dff8812}[data-skin=phosphor] .dg.cur{animation:cursor-blink 1s steps(1) infinite}[data-skin=phosphor] .dg.cur:after{height:.08em;bottom:-.04em;left:4%;right:4%;border-radius:0}@keyframes cursor-blink{50%{color:var(--glass);text-shadow:none}}[data-skin=phosphor] .chip,[data-skin=phosphor] .bandcard b{font-family:var(--ui)}[data-skin=phosphor] .bandcard .bc-f{font-size:22px}[data-skin=phosphor] .scale{font-size:14px}[data-skin=phosphor] .mlabel b,[data-skin=phosphor] .lvl output{font-size:19px}[data-skin=phosphor] .alevel output,[data-skin=phosphor] .bandcard .bc-m,[data-skin=phosphor] .chan .m{font-size:15px}[data-skin=phosphor] .goto input,[data-skin=phosphor] input.mhz{font-size:19px}[data-skin=phosphor] .satnow dd{font-size:21px}[data-skin=phosphor] .passes li b{font-size:18px}[data-skin=phosphor] .chan .f{font-size:20px}[data-skin=phosphor] #log{font:400 15px/1.35 var(--mono);color:var(--g-muted)}[data-skin=phosphor] .segs i{border-radius:0}[data-skin=phosphor] .panel h2:before{content:"> ";color:var(--muted)}[data-skin=phosphor] .btn,[data-skin=phosphor] .seg button,[data-skin=phosphor] select,[data-skin=phosphor] input{border-radius:2px}[data-skin=phosphor] .btn.primary{text-shadow:none;box-shadow:0 0 14px #4dff8873}@keyframes crt-on{0%{transform:scaleY(.006);filter:brightness(5)}30%{transform:scaleY(.006);filter:brightness(5)}58%{transform:scaleY(1.03);filter:brightness(1.8)}to{transform:none;filter:none}}[data-skin=phosphor] .glass.boot{animation:crt-on .95s cubic-bezier(.2,.8,.2,1) both}[data-skin=phosphor] .glass.boot:before{animation:none}@media(prefers-reduced-motion:reduce){[data-skin] *,[data-skin] *:before,[data-skin] *:after,[data-skin] body:after{animation:none!important}}
