.pe1hud-vhf {
    --pvh-bg: #f6f8fb;
    --pvh-panel: #ffffff;
    --pvh-panel-soft: #eef3f8;
    --pvh-border: #cbd5e1;
    --pvh-text: #182230;
    --pvh-muted: #617086;
    --pvh-blue: #0b76c8;
    --pvh-green: #1d9b59;
    --pvh-amber: #c68100;
    --pvh-red: #d6293a;
    --pvh-purple: #7250d9;
    --pvh-shadow: 0 8px 26px rgba(15, 23, 42, .12);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--pvh-border);
    border-radius: 0;
    background: var(--pvh-bg);
    color: var(--pvh-text);
    box-shadow: var(--pvh-shadow);
    font-family: inherit;
    color-scheme: light;
}
.pe1hud-vhf--theme-dark {
    --pvh-bg: #0b1220;
    --pvh-panel: #111a2b;
    --pvh-panel-soft: #151f31;
    --pvh-border: rgba(148, 163, 184, .28);
    --pvh-text: #eaf2ff;
    --pvh-muted: #9fb0c8;
    --pvh-blue: #45adff;
    --pvh-green: #45d483;
    --pvh-amber: #ffbf3f;
    --pvh-red: #ff4d57;
    --pvh-purple: #a98cff;
    --pvh-shadow: 0 10px 32px rgba(0,0,0,.22);
    color-scheme: dark;
}
.pe1hud-vhf *, .pe1hud-vhf *::before, .pe1hud-vhf *::after { box-sizing: border-box; }
.pe1hud-vhf__head, .pe1hud-vhf__status, .pe1hud-vhf__score, .pe1hud-vhf__uhf, .pe1hud-vhf__foot { padding-left: clamp(12px, 2vw, 20px); padding-right: clamp(12px, 2vw, 20px); }
.pe1hud-vhf__head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:14px; padding-bottom:12px; background:var(--pvh-panel); border-bottom:1px solid var(--pvh-border); }
.pe1hud-vhf__eyebrow { color:var(--pvh-blue); font-size:11px; line-height:1; letter-spacing:.15em; font-weight:800; }
.pe1hud-vhf__title { margin:3px 0 0; padding:0; color:var(--pvh-text); font-size:clamp(20px,3vw,28px); line-height:1.05; font-weight:800; }
.pe1hud-vhf__head-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.pe1hud-vhf__bands { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.pe1hud-vhf__band { display:inline-flex; align-items:center; min-height:26px; padding:4px 8px; border-radius:0; border:1px solid var(--pvh-border); background:var(--pvh-panel-soft); color:var(--pvh-muted); font-size:10px; font-weight:800; letter-spacing:.04em; white-space:nowrap; }
.pe1hud-vhf__band--2m { color:var(--pvh-blue); border-color:color-mix(in srgb, var(--pvh-blue) 45%, var(--pvh-border)); }
.pe1hud-vhf__band--70cm { color:var(--pvh-purple); border-color:color-mix(in srgb, var(--pvh-purple) 42%, var(--pvh-border)); }
.pe1hud-vhf__theme-toggle { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:28px; padding:4px 8px; border:1px solid var(--pvh-border); border-radius:0; background:var(--pvh-panel-soft); color:var(--pvh-text); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.pe1hud-vhf__theme-toggle:hover { filter:brightness(.97); }
.pe1hud-vhf--theme-dark .pe1hud-vhf__theme-toggle:hover { filter:brightness(1.13); }

.pe1hud-vhf__status { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding-top:12px; padding-bottom:12px; background:var(--pvh-panel-soft); border-bottom:1px solid var(--pvh-border); transition:background .25s ease,border-color .25s ease; }
.pe1hud-vhf__status-dot { width:13px; height:13px; border-radius:50%; background:#72809a; box-shadow:0 0 0 4px rgba(114,128,154,.14); }
.pe1hud-vhf__status-text { min-width:0; }
.pe1hud-vhf__status-text strong, .pe1hud-vhf__status-text span { display:block; }
.pe1hud-vhf__status-text strong { color:var(--pvh-text); font-size:14px; line-height:1.25; }
.pe1hud-vhf__status-text span { margin-top:3px; color:var(--pvh-muted); font-size:12px; line-height:1.35; }
.pe1hud-vhf__locator { display:inline-flex; align-items:center; justify-content:center; min-width:74px; min-height:34px; padding:5px 9px; border-radius:0; border:1px solid var(--pvh-border); background:var(--pvh-panel); color:var(--pvh-text); font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.06em; }
.pe1hud-vhf__status.is-quiet .pe1hud-vhf__status-dot { background:var(--pvh-green); box-shadow:0 0 0 4px rgba(69,212,131,.15); }
.pe1hud-vhf__status.is-warm { background:rgba(255,191,63,.11); }
.pe1hud-vhf__status.is-warm .pe1hud-vhf__status-dot { background:var(--pvh-amber); box-shadow:0 0 0 4px rgba(255,191,63,.16); }
.pe1hud-vhf__status.is-hot, .pe1hud-vhf__status.is-critical { background:rgba(255,77,87,.11); border-bottom-color:rgba(255,77,87,.38); }
.pe1hud-vhf__status.is-hot .pe1hud-vhf__status-dot, .pe1hud-vhf__status.is-critical .pe1hud-vhf__status-dot { background:var(--pvh-red); box-shadow:0 0 0 4px rgba(255,77,87,.17); }
.pe1hud-vhf__status.is-stale .pe1hud-vhf__status-dot { background:var(--pvh-amber); }
.pe1hud-vhf--blink-enabled .pe1hud-vhf__status.is-active .pe1hud-vhf__status-dot, .pe1hud-vhf--blink-enabled .pe1hud-vhf__status.is-active .pe1hud-vhf__locator { animation:pe1hud-vhf-pulse 1.25s ease-in-out infinite; }

.pe1hud-vhf__score { padding-top:10px; padding-bottom:10px; background:var(--pvh-panel); border-bottom:1px solid var(--pvh-border); }
.pe1hud-vhf__score-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.pe1hud-vhf__score-name { color:var(--pvh-muted); font-size:10px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; }
.pe1hud-vhf__score-readout { display:flex; align-items:baseline; gap:3px; color:var(--pvh-text); white-space:nowrap; }
.pe1hud-vhf__score-readout strong { font-size:25px; line-height:1; font-weight:900; }
.pe1hud-vhf__score-readout span { color:var(--pvh-muted); font-size:11px; font-weight:800; }
.pe1hud-vhf__score-readout em { margin-left:7px; font-style:normal; font-size:10px; font-weight:900; }
.pe1hud-vhf__score-readout em.is-up { color:var(--pvh-green); }
.pe1hud-vhf__score-readout em.is-down { color:var(--pvh-red); }
.pe1hud-vhf__score-readout em.is-flat { color:var(--pvh-muted); }
.pe1hud-vhf__score-bar { position:relative; height:12px; margin-top:8px; overflow:hidden; border:1px solid var(--pvh-border); background:color-mix(in srgb,var(--pvh-panel-soft) 84%,#000 2%); }
.pe1hud-vhf__score-bar > span { display:block; height:100%; width:0; transition:width .45s ease; background:linear-gradient(90deg,#6fcf55 0%,#ffd23f 42%,#ff8a24 68%,#ef3340 100%); }
.pe1hud-vhf__score-foot { display:flex; justify-content:space-between; gap:12px; margin-top:6px; }
.pe1hud-vhf__score-foot strong { color:var(--pvh-text); font-size:11px; }
.pe1hud-vhf__score-foot small { color:var(--pvh-muted); font-size:9px; line-height:1.3; text-align:right; }

.pe1hud-vhf__uhf { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 9px; padding-top:8px; padding-bottom:8px; border-bottom:1px solid var(--pvh-border); background:color-mix(in srgb, var(--pvh-purple) 8%, var(--pvh-panel)); }
.pe1hud-vhf__uhf[hidden] { display:none; }
.pe1hud-vhf__uhf-label { grid-row:1/span 2; align-self:center; padding:4px 7px; border-radius:0; border:1px solid color-mix(in srgb, var(--pvh-purple) 30%, var(--pvh-border)); background:color-mix(in srgb, var(--pvh-purple) 12%, var(--pvh-panel)); color:var(--pvh-purple); font-size:11px; font-weight:800; }
.pe1hud-vhf__uhf strong { color:var(--pvh-text); font-size:12px; }
.pe1hud-vhf__uhf small { color:var(--pvh-muted); font-size:10px; line-height:1.35; }

.pe1hud-vhf__mapwrap { position:relative; width:100%; height:var(--pe1hud-vhf-height,650px); min-height:280px; background:#dce7ef; overflow:hidden; }
.pe1hud-vhf__map { position:relative; width:100%; height:100%; overflow:hidden; background:#dce7ef; cursor:grab; touch-action:none; user-select:none; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__map { background:#17212b; }
.pe1hud-vhf__map.is-dragging { cursor:grabbing; }
.pe1hud-vhf__tiles, .pe1hud-vhf__overlay { position:absolute; inset:0; width:100%; height:100%; }
.pe1hud-vhf__tiles img { position:absolute; width:256px; height:256px; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; user-select:none; pointer-events:none; transition:filter .15s ease; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__tiles img { filter:invert(.88) hue-rotate(180deg) brightness(.82) contrast(.9) saturate(.65); }
.pe1hud-vhf__overlay { z-index:2; overflow:visible; pointer-events:none; }
.pe1hud-vhf__path-shape { mix-blend-mode:multiply; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__path-shape { mix-blend-mode:screen; }
.pe1hud-vhf__path-shape path, .pe1hud-vhf__path-shape line { pointer-events:none; }
.pe1hud-vhf__near-path { filter:drop-shadow(0 0 4px rgba(255,255,255,.95)); }
.pe1hud-vhf__path-shape.is-heat { opacity:1; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__path-shape.is-heat { opacity:.94; }
.pe1hud-vhf--heatmap .pe1hud-vhf__path-shape { mix-blend-mode:multiply; }
.pe1hud-vhf--theme-dark.pe1hud-vhf--heatmap .pe1hud-vhf__path-shape { mix-blend-mode:screen; }
.pe1hud-vhf--heatmap .pe1hud-vhf__map { background:#e7edf2; }
.pe1hud-vhf--theme-dark.pe1hud-vhf--heatmap .pe1hud-vhf__map { background:#141c25; }
.pe1hud-vhf--heatmap .pe1hud-vhf__tiles img { filter:grayscale(.32) saturate(.55) contrast(.68) brightness(1.08); opacity:.72; }
.pe1hud-vhf--theme-dark.pe1hud-vhf--heatmap .pe1hud-vhf__tiles img { filter:invert(.88) hue-rotate(180deg) grayscale(.18) saturate(.42) brightness(.68) contrast(.62); opacity:.62; }
.pe1hud-vhf__target-halo { fill:rgba(30,136,229,.22); stroke:#fff; stroke-width:2; }
.pe1hud-vhf__target-dot { fill:#1378d0; stroke:#fff; stroke-width:2; }
.pe1hud-vhf__target-label { fill:#07111e; stroke:#fff; stroke-width:3px; paint-order:stroke; font:900 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.04em; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__target-label { fill:#ffffff; stroke:#111827; }
.pe1hud-vhf__target.is-active .pe1hud-vhf__target-halo { fill:rgba(255,44,55,.38); stroke:#ff1526; }
.pe1hud-vhf__target.is-active .pe1hud-vhf__target-dot { fill:#ff1526; }
.pe1hud-vhf--blink-enabled .pe1hud-vhf__target.is-active .pe1hud-vhf__target-halo { animation:pe1hud-vhf-svg-pulse 1.2s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.pe1hud-vhf__map-message { position:absolute; z-index:4; left:50%; top:50%; transform:translate(-50%,-50%); max-width:82%; padding:8px 12px; border-radius:0; background:rgba(8,18,31,.82); color:#fff; font-size:12px; font-weight:700; text-align:center; pointer-events:none; }
.pe1hud-vhf__map-message[hidden] { display:none; }
.pe1hud-vhf__map-controls { position:absolute; z-index:5; top:10px; left:10px; display:grid; gap:4px; }
.pe1hud-vhf__map-controls button { width:34px; height:34px; padding:0; border:1px solid rgba(0,0,0,.28); border-radius:0; background:rgba(255,255,255,.95); color:#142133; box-shadow:0 1px 5px rgba(0,0,0,.22); font:800 20px/1 Arial,sans-serif; cursor:pointer; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__map-controls button { border-color:rgba(255,255,255,.22); background:rgba(19,29,43,.94); color:#f5f7fb; }
.pe1hud-vhf__map-controls button:last-child { font-size:17px; }
.pe1hud-vhf__view-toggle { position:absolute; z-index:6; top:10px; left:54px; display:flex; border:1px solid rgba(0,0,0,.24); background:rgba(255,255,255,.94); box-shadow:0 1px 5px rgba(0,0,0,.18); }
.pe1hud-vhf__view-toggle button { appearance:none; min-height:34px; padding:5px 10px; border:0; border-right:1px solid rgba(0,0,0,.14); background:transparent; color:#27364a; font:800 10px/1 Arial,sans-serif; cursor:pointer; }
.pe1hud-vhf__view-toggle button:last-child { border-right:0; }
.pe1hud-vhf__view-toggle button.is-active { background:#172335; color:#fff; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__view-toggle { border-color:rgba(255,255,255,.22); background:rgba(19,29,43,.94); }
.pe1hud-vhf--theme-dark .pe1hud-vhf__view-toggle button { border-right-color:rgba(255,255,255,.16); color:#dfe8f5; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__view-toggle button.is-active { background:#f0f5fb; color:#162033; }
.pe1hud-vhf__legend { position:absolute; z-index:5; left:10px; bottom:26px; display:flex; flex-wrap:wrap; gap:5px 9px; max-width:calc(100% - 20px); padding:5px 7px; border:1px solid rgba(0,0,0,.10); border-radius:0; background:rgba(255,255,255,.92); color:#172335; box-shadow:0 1px 5px rgba(0,0,0,.15); font:700 10px/1.2 Arial,sans-serif; pointer-events:none; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__legend { border-color:rgba(255,255,255,.15); background:rgba(19,29,43,.92); color:#e8eef7; }
.pe1hud-vhf__legend span { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.pe1hud-vhf__legend i { width:16px; height:4px; border-radius:0; display:inline-block; }
.pe1hud-vhf__legend i.is-250 { background:#6fcf55; }
.pe1hud-vhf__legend i.is-400 { background:#ffd23f; }
.pe1hud-vhf__legend i.is-500 { background:#ff8a24; }
.pe1hud-vhf__legend i.is-750 { background:#ef3340; }
.pe1hud-vhf__osm { position:absolute; z-index:5; right:4px; bottom:3px; padding:1px 4px; border-radius:0; background:rgba(255,255,255,.84); color:#333; font:9px/1.2 Arial,sans-serif; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__osm { background:rgba(19,29,43,.88); color:#dfe7f2; }
.pe1hud-vhf__osm a { color:#135b9e !important; text-decoration:none !important; }
.pe1hud-vhf--theme-dark .pe1hud-vhf__osm a { color:#75c2ff !important; }

.pe1hud-vhf__map-alert { position:absolute; z-index:8; top:14px; right:14px; display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; align-items:center; column-gap:7px; min-width:126px; padding:8px 10px; border:1px solid rgba(255,255,255,.8); border-radius:0; background:rgba(188,16,29,.94); color:#fff; box-shadow:0 4px 18px rgba(0,0,0,.28); pointer-events:none; }
.pe1hud-vhf__map-alert[hidden] { display:none; }
.pe1hud-vhf__map-alert-ring { grid-row:1/span 2; width:13px; height:13px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.22); }
.pe1hud-vhf__map-alert strong { font:900 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.05em; }
.pe1hud-vhf__map-alert span { font-size:9px; font-weight:900; letter-spacing:.1em; }
.pe1hud-vhf--blink-enabled .pe1hud-vhf__map-alert:not([hidden]) { animation:pe1hud-vhf-alert 1.2s ease-in-out infinite; }

.pe1hud-vhf__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; padding-bottom:10px; border-top:1px solid var(--pvh-border); background:var(--pvh-panel); }
.pe1hud-vhf__meta { display:flex; flex-wrap:wrap; gap:5px; color:var(--pvh-muted); font-size:11px; line-height:1.35; }
.pe1hud-vhf__sep { opacity:.45; }
.pe1hud-vhf__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.pe1hud-vhf__button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:6px 10px; border:1px solid var(--pvh-border); border-radius:0; background:var(--pvh-panel-soft); color:var(--pvh-text) !important; text-decoration:none !important; font:inherit; font-size:11px; font-weight:700; line-height:1; cursor:pointer; }
.pe1hud-vhf__button:hover { filter:brightness(.97); }
.pe1hud-vhf--theme-dark .pe1hud-vhf__button:hover { filter:brightness(1.12); }
.pe1hud-vhf__button--primary { border-color:color-mix(in srgb, var(--pvh-blue) 52%, var(--pvh-border)); background:color-mix(in srgb, var(--pvh-blue) 11%, var(--pvh-panel)); }

.pe1hud-vhf--sidebar { border-radius:0; }
.pe1hud-vhf--sidebar .pe1hud-vhf__head { align-items:flex-start; }
.pe1hud-vhf--sidebar .pe1hud-vhf__title { font-size:19px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__head-tools { max-width:130px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__bands { max-width:125px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__band { font-size:9px; min-height:23px; padding:3px 6px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__theme-toggle { font-size:9px; min-height:24px; padding:3px 6px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__status { grid-template-columns:auto minmax(0,1fr); gap:9px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__locator { grid-column:1/-1; justify-self:stretch; min-height:29px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__foot { align-items:flex-start; flex-direction:column; }
.pe1hud-vhf--sidebar .pe1hud-vhf__actions { width:100%; justify-content:stretch; }
.pe1hud-vhf--sidebar .pe1hud-vhf__button { flex:1 1 auto; }
.pe1hud-vhf--sidebar .pe1hud-vhf__map-alert { top:8px; right:8px; transform:scale(.9); transform-origin:top right; }
.pe1hud-vhf--sidebar .pe1hud-vhf__legend { font-size:9px; gap:4px 6px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__score-readout strong { font-size:21px; }
.pe1hud-vhf--sidebar .pe1hud-vhf__score-foot { display:block; }
.pe1hud-vhf--sidebar .pe1hud-vhf__score-foot small { display:block; margin-top:3px; text-align:left; }
.pe1hud-vhf--sidebar .pe1hud-vhf__view-toggle button { min-height:30px; padding:4px 7px; font-size:9px; }

@keyframes pe1hud-vhf-pulse { 0%,100%{filter:brightness(1);transform:scale(1)} 50%{filter:brightness(1.35);transform:scale(1.045)} }
@keyframes pe1hud-vhf-alert { 0%,100%{opacity:1;box-shadow:0 4px 18px rgba(0,0,0,.28)} 50%{opacity:.58;box-shadow:0 0 0 5px rgba(255,77,87,.28),0 4px 20px rgba(0,0,0,.3)} }
@keyframes pe1hud-vhf-svg-pulse { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(1.65);opacity:.2} }

@media (max-width:680px) {
    .pe1hud-vhf__head { align-items:flex-start; flex-direction:column; }
    .pe1hud-vhf__score-foot { display:block; }
    .pe1hud-vhf__score-foot small { display:block; margin-top:3px; text-align:left; }
    .pe1hud-vhf__view-toggle { top:10px; left:52px; }
    .pe1hud-vhf__view-toggle button { padding-left:7px; padding-right:7px; }
    .pe1hud-vhf__head-tools { width:100%; justify-content:space-between; }
    .pe1hud-vhf__bands { justify-content:flex-start; }
    .pe1hud-vhf__status { grid-template-columns:auto minmax(0,1fr); }
    .pe1hud-vhf__locator { grid-column:1/-1; justify-self:stretch; }
    .pe1hud-vhf__mapwrap { height:min(var(--pe1hud-vhf-height,560px),72vh); }
    .pe1hud-vhf__foot { align-items:flex-start; flex-direction:column; }
    .pe1hud-vhf__actions { width:100%; justify-content:stretch; }
    .pe1hud-vhf__button { flex:1 1 auto; }
}
@media (prefers-reduced-motion:reduce) {
    .pe1hud-vhf--blink-enabled .pe1hud-vhf__status.is-active .pe1hud-vhf__status-dot,
    .pe1hud-vhf--blink-enabled .pe1hud-vhf__status.is-active .pe1hud-vhf__locator,
    .pe1hud-vhf--blink-enabled .pe1hud-vhf__map-alert:not([hidden]),
    .pe1hud-vhf--blink-enabled .pe1hud-vhf__target.is-active .pe1hud-vhf__target-halo { animation:none; }
}
