/* ON6UHF fase 2 · v4.2.0 */
:root{--ticker-duration:38s}
.repeater-status-track,.network-status-track,.phase2-ticker-track,.telemetry-ticker-track{animation-duration:var(--ticker-duration)!important}
.ticker-speed-control{display:flex;align-items:center;gap:.45rem;padding:0 .75rem;z-index:3}
.ticker-speed-control label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ticker-speed-control select{border:1px solid color-mix(in srgb,var(--phase-accent,#45d8ff) 45%,#496579);border-radius:8px;background:#061725;color:#fff;padding:.38rem .55rem;font:700 .69rem/1.2 system-ui;cursor:pointer}
.ticker-speed-control button{border:1px solid #496579;border-radius:8px;background:#0b2b40;color:#fff;padding:.38rem .58rem;font-weight:850;cursor:pointer}
.ticker-speed-control button[aria-pressed="true"]{border-color:#ffbd4a;color:#ffcf72}
.phase2-news{padding:64px 0;background:#f3f8fb;color:#102538}
.phase2-news-head{display:block;margin-bottom:24px}.phase2-news-head h2{margin:.2rem 0 .65rem}.phase2-news-head p{max-width:760px;margin:0;color:#526b7a;line-height:1.6}
.phase2-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.phase2-source-card{display:flex;min-height:205px;flex-direction:column;padding:20px;border:1px solid #d7e4eb;border-top:5px solid var(--source,#228ec5);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(17,45,62,.08);color:#183247;text-decoration:none}
.phase2-source-card small{color:var(--source,#177fae);font-weight:950;letter-spacing:.08em}.phase2-source-card h3{margin:13px 0 8px;font-size:1.05rem}.phase2-source-card p{margin:0 0 18px;color:#587080;line-height:1.55}.phase2-source-card span{margin-top:auto;color:#0a719f;font-weight:900}
.phase2-source-card.brandmeister{--source:#f0a224}.phase2-source-card.radioid{--source:#2584c6}.phase2-source-card.svx{--source:#785bd1}.phase2-source-card.amsat{--source:#d44343}
.phase2-radar-note{color:#9fffe0!important;font-weight:800}
/* Duidelijke schuine groene leader tussen radarbol en infovenster. */
/* Vaste, conflictvrije radarzones: links en rechts van het vrije middenlogo. */
.telemetry-radar-stage .radar-origin{z-index:8!important}
.telemetry-radar-stage .radar-contact{z-index:6!important}
.telemetry-radar-stage .radar-contact:nth-of-type(1),
.telemetry-radar-stage .radar-contact:nth-of-type(3),
.telemetry-radar-stage .radar-contact:nth-of-type(5),
.telemetry-radar-stage .radar-contact:nth-of-type(7){--x:34%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(2),
.telemetry-radar-stage .radar-contact:nth-of-type(4),
.telemetry-radar-stage .radar-contact:nth-of-type(6){--x:66%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(1),.telemetry-radar-stage .radar-contact:nth-of-type(2){--y:16%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(3),.telemetry-radar-stage .radar-contact:nth-of-type(4){--y:39%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(5),.telemetry-radar-stage .radar-contact:nth-of-type(6){--y:62%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(7){--y:85%!important}
.telemetry-radar-stage .radar-contact:nth-of-type(odd)>span{left:auto!important;right:35px!important;top:50%!important;transform:translateY(-50%)!important;text-align:right!important}
.telemetry-radar-stage .radar-contact:nth-of-type(even)>span{left:35px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;text-align:left!important}
.telemetry-radar-stage .radar-contact>span{box-sizing:border-box!important;width:132px!important;max-width:26vw!important;min-width:0!important;overflow:hidden!important;white-space:normal!important}
.telemetry-radar-stage .radar-contact>span:before{display:block!important;content:""!important;position:absolute!important;top:50%!important;width:31px!important;height:2px!important;background:#4df0b8!important;box-shadow:0 0 7px rgba(77,240,184,.9)!important;opacity:1!important}
.telemetry-radar-stage .radar-contact:nth-of-type(odd)>span:before{left:100%!important;right:auto!important;transform:rotate(-24deg)!important;transform-origin:left center!important}
.telemetry-radar-stage .radar-contact:nth-of-type(even)>span:before{right:100%!important;left:auto!important;transform:rotate(24deg)!important;transform-origin:right center!important}
.telemetry-radar-stage .radar-contact::after{background:#4df0b8!important;box-shadow:0 0 6px #4df0b8,0 0 14px rgba(77,240,184,.65)!important}
@media(max-width:900px){.phase2-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.phase2-news{padding:42px 0}.phase2-news-head{display:block}.phase2-source-grid{grid-template-columns:1fr}.telemetry-radar-stage .radar-origin{width:50px!important;height:50px!important}.telemetry-radar-stage .radar-origin img{width:44px!important;height:44px!important}.telemetry-radar-stage .radar-contact:nth-of-type(odd){--x:38%!important}.telemetry-radar-stage .radar-contact:nth-of-type(even){--x:62%!important}.telemetry-radar-stage .radar-contact>span{width:78px!important;max-width:78px!important;padding:4px!important}.telemetry-radar-stage .radar-contact:nth-of-type(odd)>span{right:20px!important}.telemetry-radar-stage .radar-contact:nth-of-type(even)>span{left:20px!important}.telemetry-radar-stage .radar-contact>span:before{width:17px!important}.telemetry-radar-stage .radar-contact b{font-size:.45rem!important}.telemetry-radar-stage .radar-contact small{font-size:.37rem!important}}
.telemetry-radar-stage.radar-js-sync .telemetry-radar-sweep.is-running{animation:none!important}
@media(max-width:580px){.telemetry-radar-stage .radar-contact>span,.telemetry-radar-stage .radar-contact b,.telemetry-radar-stage .radar-contact small{overflow:hidden!important;text-overflow:ellipsis!important}.telemetry-radar-stage .radar-contact b,.telemetry-radar-stage .radar-contact small{display:block!important;white-space:nowrap!important}}
@media(max-width:580px){.telemetry-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}.telemetry-hero-grid>div:first-child{position:relative!important;z-index:1!important}.telemetry-radar-console{position:relative!important;z-index:2!important;width:100%!important;max-width:100%!important;margin:0!important;clear:both!important}}
@media(prefers-reduced-motion:reduce){.phase2-ticker-track,.repeater-status-track,.network-status-track,.telemetry-ticker-track{animation-play-state:paused!important}}

@media (hover:none),(pointer:coarse){
  .phase2-ticker-track,.repeater-status-track,.network-status-track,.telemetry-ticker-track,.dm-ticker-track,.ds-ticker-track{
    animation-play-state:running!important;
  }
}
.svx-ident-player{display:grid;gap:7px;margin-top:16px;padding:13px;border:1px solid rgba(139,131,255,.38);border-radius:12px;background:rgba(77,63,156,.12)}
.svx-ident-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:9px 13px;border:1px solid #9a91ff;border-radius:10px;background:linear-gradient(90deg,#6154d9,#8b66e8);color:#fff;font:900 .76rem inherit;cursor:pointer}
.svx-ident-button:hover,.svx-ident-button.is-playing{box-shadow:0 0 0 3px rgba(139,131,255,.18),0 0 22px rgba(139,131,255,.25)}
.svx-ident-player small{color:#9db2c3;font-size:.65rem;line-height:1.4}

/* Radarfasen: betekenis op 0°, 90°, 180° en 270°. */
.radar-quadrant{position:absolute;z-index:4;display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid rgba(96,221,204,.28);border-radius:8px;background:rgba(3,20,29,.76);color:#8fb6bd;font-size:.48rem;font-weight:780;line-height:1.15;pointer-events:none;backdrop-filter:blur(3px)}
.radar-quadrant i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(65,239,184,.11);color:#55e9bd;font-style:normal;font-size:.62rem;box-shadow:0 0 10px rgba(65,239,184,.15)}
.radar-quadrant span,.radar-quadrant b{display:block}.radar-quadrant b{color:#52e9bd;font-size:.44rem;letter-spacing:.07em}
.radar-q0{left:50%;top:2%;transform:translateX(-50%)}
.radar-q90{right:1.5%;top:50%;transform:translateY(-50%)}
.radar-q180{left:50%;bottom:2%;transform:translateX(-50%)}
.radar-q270{left:1.5%;top:50%;transform:translateY(-50%)}
.telemetry-radar-stage .radar-contact>span{pointer-events:auto!important;cursor:pointer}
.telemetry-radar-stage .radar-contact.is-swept>i{transform:scale(1.35);filter:brightness(1.35)}
.telemetry-radar-stage .radar-contact.is-swept>span{border-color:#d8fff5!important;background:rgba(8,61,52,.98)!important;box-shadow:0 0 0 2px rgba(75,244,194,.16),0 0 25px rgba(75,244,194,.62),0 10px 25px rgba(0,0,0,.38)!important;filter:brightness(1.18)}
.telemetry-radar-stage .radar-contact.is-swept::after{filter:brightness(1.65);opacity:1!important}

/* iPhone: label en bewegende regel krijgen elk hun eigen rij. */
@media(max-width:670px){
 .telemetry-ticker-stack{gap:11px}
 .telemetry-ticker-line{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:32px 43px;min-height:75px!important;overflow:hidden}
 .telemetry-ticker-label{width:100%;padding:0 12px!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--ticker-accent) 50%,transparent);box-shadow:0 7px 15px rgba(3,15,25,.22)!important}
 .telemetry-ticker-window{width:100%;min-height:43px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)!important;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)!important}
 .telemetry-ticker-group{min-height:43px;padding-left:10px}
 .ticker-speed-control{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px}
 .radar-quadrant{padding:3px 5px;font-size:.38rem}.radar-quadrant i{width:15px;height:15px;font-size:.48rem}.radar-quadrant b{font-size:.35rem}
}
