/* DL7AG WSPR LIVE v1.2 live */
:root{
 --w-bg:#020810;--w-panel:#06111b;--w-line:#17334d;
 --w-text:#f2f7fb;--w-muted:#7f98ad;--w-green:#64e33f;--w-radius:16px
}
.wspr-page-shell{max-width:1500px!important;width:100%;padding-left:16px!important;padding-right:16px!important}
.dl7ag-wspr-page{background:linear-gradient(180deg,#020810,#04101b);color:var(--w-text)}
.wspr-shell{max-width:1440px;margin:0 auto;padding:24px 8px 44px}
.wspr-card{background:linear-gradient(180deg,rgba(7,18,30,.98),rgba(3,12,21,.99));border:1px solid var(--w-line);border-radius:var(--w-radius);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.wspr-top{display:grid;grid-template-columns:1fr 400px 190px;gap:16px;align-items:center;padding:6px 4px 18px}
.wspr-title{font-size:34px;font-weight:800;letter-spacing:-.04em}.wspr-title span{color:#52c8ef}.wspr-subtitle{color:#b6c5d1;margin-top:4px}.wspr-meta{margin-top:14px;color:#cbd6df;font-size:12px}
.wspr-rotation{display:grid;grid-template-columns:1fr 92px 1fr;align-items:center;gap:12px;border:1px solid var(--w-line);border-radius:14px;padding:12px 16px;background:#06121e}
.wspr-rotation small{display:block;color:#d9e5ee;font-size:10px}.wspr-rotation strong{display:block;font-size:38px;color:#79dc4b;line-height:1;margin:5px 0}.wspr-rotation strong.next{font-size:20px}.wspr-rotation span{font-size:11px;color:#a9bac8}
.wspr-countdown{width:80px;height:80px;border-radius:50%;border:5px solid #152536;border-top-color:#f0d636;display:flex;flex-direction:column;align-items:center;justify-content:center}.wspr-countdown b{font-size:18px}
.wspr-livebox{text-align:right}.wspr-livebox .live{color:#66ef42;font-size:18px;font-weight:800}.wspr-livebox .live i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#66ef42;box-shadow:0 0 15px #66ef42}.wspr-livebox small{display:block;margin-top:5px;color:#b2c0cc}
.wspr-quickstats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.wspr-quickstats>div{padding:13px 18px;border-right:1px solid rgba(255,255,255,.06)}.wspr-quickstats>div:last-child{border-right:0}.wspr-quickstats small{display:block;color:var(--w-muted);font-size:10px}.wspr-quickstats strong{display:block;margin-top:4px;font-size:13px}
.wspr-map-card{overflow:hidden;margin-bottom:10px}.wspr-map-wrap{position:relative}.wspr-map-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.36)}
#wspr-map{height:610px;background:#020b13}
.wspr-map-left{position:absolute;z-index:500;left:18px;bottom:18px;background:rgba(5,15,25,.92);border:1px solid #29445d;border-radius:12px;padding:12px;width:120px}.snr-title{font-weight:700;font-size:11px;margin-bottom:8px}.snr-row{display:flex;align-items:center;gap:8px;font-size:10px;margin:6px 0}.snr-row i{width:8px;height:8px;border-radius:50%}
.grey-toggle{margin-top:12px;width:100%;border:1px solid #28465f;background:#0a1825;color:#cbd8e3;border-radius:999px;padding:7px 8px;font-size:10px}.grey-toggle b{float:right;color:#77ef51}
.wspr-map-right{position:absolute;z-index:500;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;background:rgba(5,15,25,.88);border:1px solid #29445d;border-radius:12px;padding:5px}.wspr-map-right button{border:0;background:transparent;color:#d7e2ea;padding:9px;border-radius:8px;cursor:pointer}.wspr-map-right .is-active{background:#0f2333}.wspr-map-right button:disabled{opacity:.35;cursor:not-allowed}
.wspr-live-message{position:absolute;z-index:500;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(5,15,25,.92);border:1px solid #29445d;border-radius:12px;padding:9px 14px;font-size:10px}
.wspr-section{padding:12px;margin-bottom:10px}.wspr-section-head h2,.wspr-panel-head h2{font-size:11px;margin:0;color:#f0f5f8}.wspr-section-head h2 span,.wspr-panel-head h2 span{color:var(--w-muted);font-weight:400}
.wspr-band-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:10px}
.wspr-band-card{border:1px solid #19354e;border-radius:12px;padding:10px;background:#071421;transition:.18s}.wspr-band-card:hover{transform:translateY(-2px);border-color:currentColor}.wspr-band-card.current{box-shadow:0 0 22px color-mix(in srgb,currentColor 28%,transparent);border-color:currentColor}
.band-head{display:flex;justify-content:space-between}.band-head strong{font-size:18px}.band-head span{color:#8ca1b2;font-size:9px}.band-freq{font-size:10px;color:#a8bac8;margin-top:2px}
.band-bars{height:48px;display:flex;align-items:end;gap:3px;margin:8px 0}.band-bars i{flex:1;background:currentColor;opacity:.85;border-radius:2px 2px 0 0}
.band-bottom{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:9px;color:#aebdca}.band-bottom b{color:#fff}
.wspr-three-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:10px;margin-bottom:10px}.wspr-two-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:10px;margin-bottom:10px}
.wspr-panel{padding:14px;min-height:300px}.wspr-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.wspr-panel-head button,.panel-button{border:1px solid #234058;background:#081827;color:#b9c9d6;border-radius:7px;padding:6px 10px;font-size:9px}
.world-row{display:grid;grid-template-columns:24px 1fr 76px 52px 58px;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:10px}.world-row .muted{color:#8397a9}
.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:9px;top:4px;bottom:4px;width:2px;background:#315c2c}.timeline-row{display:grid;grid-template-columns:58px 1fr 48px 65px 50px;gap:6px;position:relative;padding:7px 0;font-size:10px}.timeline-row:before{content:"";position:absolute;left:-21px;top:11px;width:10px;height:10px;border-radius:50%;background:#65ec42;box-shadow:0 0 0 3px rgba(101,236,66,.18)}
.heatmap{height:240px;border-radius:10px;background:radial-gradient(circle at 20% 50%,#ff472d 0 6%,#f6d443 9%,#6edb5a 17%,transparent 30%),radial-gradient(circle at 48% 44%,#ff4d2d 0 5%,#e8d53c 8%,#59cf61 15%,transparent 27%),radial-gradient(circle at 75% 57%,#ff7f2d 0 5%,#e6db48 8%,#5ecf65 14%,transparent 24%),linear-gradient(180deg,#0b2b43,#061a2b);position:relative;overflow:hidden}.heatmap:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:34px 34px}.heat-legend{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;font-size:9px}.heat-legend i{width:160px;height:8px;border-radius:8px;background:linear-gradient(90deg,#6547e8,#2bb8e8,#4fe35d,#e8e13e,#ff4b36)}
.dx-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dx-grid>div{background:#081725;border:1px solid #1b344b;border-radius:12px;padding:13px;text-align:center;min-height:145px}.dx-grid span{font-size:28px}.dx-grid small{display:block;margin:10px 0 6px;color:#9aabba}.dx-grid strong{display:block;font-size:20px;color:#dce9f3}.dx-grid b{display:block;margin-top:5px;color:#52c8ef;font-size:10px}
.solar-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #1b344b;border-radius:10px;overflow:hidden}.solar-stats>div{text-align:center;padding:10px;border-right:1px solid #1b344b}.solar-stats>div:last-child{border-right:0}.solar-stats small,.solar-stats span{display:block;font-size:9px;color:#8da1b3}.solar-stats strong{font-size:23px}.solar-stats strong.green{color:#73e04a}
.solar-summary{display:grid;grid-template-columns:85px 1fr;gap:12px;align-items:center;margin-top:15px}.sun{font-size:65px;color:#ff8b20;text-shadow:0 0 20px #ff7120}.solar-summary strong{color:#7ee24b}.solar-summary p{font-size:11px;color:#b9c8d4;margin:5px 0}
.wspr-footer-panel{display:grid;grid-template-columns:1fr 1.2fr .7fr;gap:18px;padding:14px 18px}.wspr-footer-panel h3{font-size:10px;margin:0 0 5px}.wspr-footer-panel p{margin:0;color:#899daf;font-size:10px}
.wspr-demo-note{text-align:center;color:#73899b;font-size:9px;margin-top:8px}
.wspr-rx-marker{width:10px;height:10px;border-radius:50%;border:1px solid #fff}.wspr-tx-marker{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #4aafff;box-shadow:0 0 18px #4aafff}
.leaflet-overlay-pane svg path.wspr-signal-path{stroke-linecap:round;stroke-dasharray:5 10;animation:flow 2.7s linear infinite}@keyframes flow{to{stroke-dashoffset:-32}}
.leaflet-control-zoom a{background:#071522!important;color:#fff!important;border-color:#27445d!important}.leaflet-control-attribution{background:rgba(3,10,18,.7)!important;color:#7d91a3!important}.leaflet-control-attribution a{color:#a7c9e4!important}
@media(max-width:1100px){.wspr-top{grid-template-columns:1fr}.wspr-band-grid{grid-template-columns:repeat(4,1fr)}.wspr-three-grid,.wspr-two-grid{grid-template-columns:1fr}.wspr-quickstats{grid-template-columns:repeat(2,1fr)}}

/* ===== V1.3 Visual Upgrade ===== */
#wspr-map{height:680px}
.wspr-map-card{box-shadow:0 25px 70px rgba(0,0,0,.42),0 0 34px rgba(34,131,190,.07)}
.wspr-map-wrap:before{content:"";position:absolute;inset:0;z-index:410;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 42%,rgba(0,0,0,.22) 100%)}
.wspr-tx-marker.premium{position:relative;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid #46b5ff;box-shadow:0 0 10px #46b5ff,0 0 28px #46b5ff,0 0 55px rgba(70,181,255,.55);animation:txPulse 1.5s ease-in-out infinite}
.wspr-tx-marker.premium:after,.wspr-tx-marker.premium i:after{content:"";position:absolute;border:1px solid rgba(70,181,255,.68);border-radius:50%;inset:-8px;animation:radar 2.2s ease-out infinite}
.wspr-tx-marker.premium i:after{animation-delay:1.1s}
@keyframes txPulse{50%{transform:scale(1.18)}}@keyframes radar{0%{transform:scale(.3);opacity:.9}100%{transform:scale(3.3);opacity:0}}
.wspr-rx-premium{position:relative;width:24px;height:24px}
.wspr-rx-premium span{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);transform:translate(-50%,-50%);border-radius:50%;background:var(--c);border:1px solid rgba(255,255,255,.9);box-shadow:0 0 7px var(--c),0 0 17px var(--c),0 0 30px color-mix(in srgb,var(--c) 45%,transparent);animation:rxPulse 2.2s ease-in-out infinite}
.wspr-rx-premium:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid var(--c);border-radius:50%;animation:radarRx 2.7s ease-out infinite}
@keyframes rxPulse{50%{filter:brightness(1.6);transform:translate(-50%,-50%) scale(1.22)}}@keyframes radarRx{0%{transform:translate(-50%,-50%) scale(.4);opacity:.8}100%{transform:translate(-50%,-50%) scale(3.5);opacity:0}}
.leaflet-overlay-pane svg path.wspr-signal-path{stroke-dasharray:6 11;animation:signalFlow 2.6s linear infinite;filter:drop-shadow(0 0 3px currentColor)}
@keyframes signalFlow{to{stroke-dashoffset:-34}}
#wspr-heatmap{height:240px;border-radius:10px;overflow:hidden;background:#06121d}
.heatmap-scale{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;color:#8296a8;font-size:9px}.heatmap-scale i{width:150px;height:7px;border-radius:8px;background:linear-gradient(90deg,#3c55d9,#2fc7da,#60df57,#f0dc3c,#ff4d31)}
.sun-live{width:74px;height:74px;border-radius:50%;position:relative;background:radial-gradient(circle at 35% 35%,#fff39d 0 4%,#ffc22d 16%,#ff801d 58%,#e44512 100%);box-shadow:0 0 18px #ff781e,0 0 45px rgba(255,91,20,.45);animation:sunBreath 3s ease-in-out infinite}
.sun-live:before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(255,149,45,.4);box-shadow:0 0 20px rgba(255,111,25,.5)}
@keyframes sunBreath{50%{box-shadow:0 0 25px #ff8a23,0 0 62px rgba(255,91,20,.6)}}

/* =========================================================
   DL7AG WSPR LIVE v1.4 – VISUAL MAX
   ========================================================= */

.dl7ag-wspr-page{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 0%,rgba(26,126,190,.12),transparent 26%),
      radial-gradient(circle at 12% 34%,rgba(31,106,158,.06),transparent 18%),
      linear-gradient(180deg,#020810 0%,#03101a 60%,#020812 100%);
}
.dl7ag-wspr-page:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.16;
    background-image:
      radial-gradient(circle at 12% 17%,#fff 0 1px,transparent 1.2px),
      radial-gradient(circle at 33% 8%,#fff 0 1px,transparent 1.2px),
      radial-gradient(circle at 64% 22%,#fff 0 1px,transparent 1.2px),
      radial-gradient(circle at 78% 11%,#fff 0 1px,transparent 1.2px),
      radial-gradient(circle at 91% 29%,#fff 0 1px,transparent 1.2px),
      radial-gradient(circle at 46% 41%,#fff 0 1px,transparent 1.2px);
    background-size:420px 420px;
}

.wspr-shell{position:relative;z-index:1}

/* Reveal */
.wspr-reveal{
    opacity:0;
    transform:translateY(14px) scale(.992);
    animation:wsprReveal .65s cubic-bezier(.22,.8,.3,1) forwards;
}
.wspr-reveal:nth-of-type(2){animation-delay:.06s}
.wspr-reveal:nth-of-type(3){animation-delay:.12s}
@keyframes wsprReveal{
    to{opacity:1;transform:none}
}

/* Map stage */
#wspr-map{height:720px}
.wspr-map-card{
    border-color:#1a3b56;
    box-shadow:
      0 28px 80px rgba(0,0,0,.48),
      0 0 40px rgba(31,151,221,.08),
      inset 0 1px 0 rgba(255,255,255,.02);
}
.wspr-map-wrap{isolation:isolate}
.wspr-map-grid{
    position:absolute;inset:0;z-index:412;pointer-events:none;
    background-image:
      linear-gradient(rgba(87,159,206,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(87,159,206,.035) 1px,transparent 1px);
    background-size:48px 48px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 82%);
}
.wspr-map-vignette{
    position:absolute;inset:0;z-index:413;pointer-events:none;
    box-shadow:
      inset 0 0 100px rgba(0,0,0,.52),
      inset 0 -80px 120px rgba(0,0,0,.34);
}
.wspr-map-status{
    position:absolute;z-index:520;left:50%;top:16px;transform:translateX(-50%);
    display:flex;align-items:center;gap:8px;
    padding:8px 12px;border-radius:999px;
    border:1px solid rgba(92,174,226,.25);
    background:rgba(2,12,21,.74);backdrop-filter:blur(12px);
    box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.wspr-map-status strong{font-size:9px;letter-spacing:.12em}
.wspr-map-status small{font-size:9px;color:#7f98ad}
.status-dot,.solar-live-badge i,.heat-live i{
    width:7px;height:7px;border-radius:50%;background:#64e33f;
    box-shadow:0 0 10px #64e33f,0 0 20px rgba(100,227,63,.45);
    animation:statusPulse 1.6s ease-in-out infinite;
}
@keyframes statusPulse{50%{opacity:.35;transform:scale(.72)}}

/* TX radar */
.wspr-tx-marker.premium{
    width:22px;height:22px;
    border:4px solid #52caff;
    background:#f9fdff;
    box-shadow:
      0 0 8px #fff,
      0 0 18px #52caff,
      0 0 42px rgba(82,202,255,.95),
      0 0 80px rgba(82,202,255,.52);
}
.wspr-tx-marker.premium:before{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:92px;height:92px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:conic-gradient(from 0deg,rgba(88,208,255,.36),rgba(88,208,255,0) 23%,transparent 100%);
    animation:radarSweep 2.25s linear infinite;
    filter:blur(.3px);
    pointer-events:none;
}
.wspr-tx-marker.premium:after{
    inset:-12px;
    border:1px solid rgba(86,202,255,.72);
    animation:radarRing 2.2s ease-out infinite;
}
.wspr-tx-marker.premium i:after{
    inset:-12px;
    animation:radarRing 2.2s 1.1s ease-out infinite;
}
@keyframes radarSweep{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes radarRing{
    0%{transform:scale(.35);opacity:.85}
    100%{transform:scale(4.2);opacity:0}
}

/* RX markers */
.wspr-rx-premium span{
    box-shadow:
      0 0 6px var(--c),
      0 0 14px var(--c),
      0 0 28px color-mix(in srgb,var(--c) 70%,transparent),
      0 0 50px color-mix(in srgb,var(--c) 32%,transparent);
}
.wspr-rx-premium:before{
    content:"";
    position:absolute;left:50%;top:50%;
    width:4px;height:4px;border-radius:50%;
    transform:translate(-50%,-50%);
    background:#fff;
    box-shadow:0 0 9px #fff;
    z-index:2;
}
.wspr-rx-premium:after{
    width:12px;height:12px;
    box-shadow:0 0 14px color-mix(in srgb,var(--c) 50%,transparent);
}

/* Signal lines */
.leaflet-overlay-pane svg path.wspr-glow-line{
    filter:blur(2px);
}
.leaflet-overlay-pane svg path.wspr-signal-path{
    stroke-dasharray:3 8;
    stroke-linecap:round;
    animation:signalFlowFast 1.8s linear infinite;
    filter:
      drop-shadow(0 0 2px currentColor)
      drop-shadow(0 0 5px currentColor);
}
@keyframes signalFlowFast{to{stroke-dashoffset:-22}}

/* Heatmap */
.heatmap-wrap{position:relative;border-radius:12px;overflow:hidden}
#wspr-heatmap{
    height:275px;
    filter:saturate(1.25) contrast(1.08);
}
.heatmap-glass{
    position:absolute;inset:0;pointer-events:none;
    box-shadow:inset 0 0 40px rgba(0,0,0,.42);
    background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.04));
}
.heatmap-scale i{
    width:190px;height:8px;
    box-shadow:0 0 13px rgba(78,208,255,.16);
}
.heat-live,.solar-live-badge{
    display:flex;align-items:center;gap:6px;
    font-size:9px;color:#71e64e;
    letter-spacing:.08em;
}

/* DX */
.dx-card{
    position:relative;overflow:hidden;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.dx-card:before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 50% 0%,rgba(73,169,226,.08),transparent 55%);
    pointer-events:none;
}
.dx-card:hover{
    transform:translateY(-4px);
    border-color:#315673;
    box-shadow:0 16px 30px rgba(0,0,0,.3);
}
.dx-icon{
    display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;
    border-radius:50%;
    background:rgba(20,49,70,.7);
    border:1px solid rgba(89,169,220,.2);
    box-shadow:0 0 18px rgba(60,155,215,.08);
}

/* Solar */
.solar-panel{overflow:hidden;position:relative}
.solar-panel:before{
    content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,115,23,.08),transparent 67%);
    pointer-events:none;
}
.solar-metric strong{transition:color .25s ease,text-shadow .25s ease}
.solar-metric.good strong{color:#67e33f;text-shadow:0 0 14px rgba(103,227,63,.32)}
.solar-metric.warn strong{color:#ffd347;text-shadow:0 0 14px rgba(255,211,71,.28)}
.solar-metric.bad strong{color:#ff654e;text-shadow:0 0 14px rgba(255,101,78,.28)}
.sun-live{
    width:84px;height:84px;
    position:relative;
    background:none;
    box-shadow:none;
    animation:none;
}
.sun-core{
    position:absolute;inset:13px;border-radius:50%;
    background:
      radial-gradient(circle at 36% 32%,#fffbd1 0 4%,#ffd54b 13%,#ff9b25 43%,#f15a16 74%,#c93410 100%);
    box-shadow:
      0 0 15px #ff9b28,
      0 0 35px rgba(255,108,22,.75),
      0 0 70px rgba(255,80,15,.38);
    animation:sunCore 2.8s ease-in-out infinite;
}
.sun-corona{
    position:absolute;inset:5px;border-radius:50%;
    border:1px solid rgba(255,150,54,.25);
    animation:corona 3s linear infinite;
}
.sun-corona.c2{inset:0;animation-duration:4.4s;animation-direction:reverse}
.sun-corona.c3{inset:-6px;animation-duration:6s}
@keyframes sunCore{50%{transform:scale(1.06);filter:brightness(1.12)}}
@keyframes corona{50%{transform:rotate(180deg) scale(1.08);opacity:.48}100%{transform:rotate(360deg)}}
.solar-condition{
    display:inline-flex;align-items:center;gap:7px;
    margin-top:8px;padding:6px 9px;border-radius:999px;
    background:rgba(12,30,43,.75);border:1px solid rgba(83,142,183,.18);
    color:#a9bac8;font-size:9px;
}
.solar-condition i{width:7px;height:7px;border-radius:50%;background:#7f98ad}
.solar-condition.good i{background:#68e143;box-shadow:0 0 10px #68e143}
.solar-condition.warn i{background:#ffd347;box-shadow:0 0 10px #ffd347}
.solar-condition.bad i{background:#ff654e;box-shadow:0 0 10px #ff654e}

/* Cards */
.wspr-card{
    transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.wspr-panel:hover{
    border-color:#244866;
    box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.wspr-band-card{
    position:relative;overflow:hidden;
}
.wspr-band-card:after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
    background:currentColor;opacity:.35;
    transform:scaleX(.3);transform-origin:left;
    transition:transform .25s ease,opacity .25s ease;
}
.wspr-band-card:hover:after,.wspr-band-card.current:after{
    transform:scaleX(1);opacity:.8;
}

@media(max-width:1100px){
    #wspr-map{height:620px}
}

/* =========================================================
   DL7AG WSPR LIVE v1.5 – MISSION CONTROL MAP
   ========================================================= */

/* Basemap: Land und Küsten klarer aus dem Schwarz herausheben */
.leaflet-tile-pane .wspr-mission-base{
    filter:
      brightness(1.42)
      contrast(1.18)
      saturate(.72)
      hue-rotate(164deg);
}
#wspr-map{
    background:#04101a;
}
.mission-control-map{
    background:
      radial-gradient(circle at 50% 45%,rgba(27,101,145,.08),transparent 45%),
      #020a12;
}

/* Heatmap bleibt dominant, Weltkarte darunter aber klar erkennbar */
.leaflet-overlay-pane canvas{
    mix-blend-mode:screen;
}
.leaflet-overlay-pane svg{
    overflow:visible;
}

/* Küsten-/Basemap-Eindruck zusätzlich durch Canvas-Kontrast */
#wspr-map .leaflet-tile-container{
    opacity:.97;
}

/* Mission HUD */
.mission-corners{
    position:absolute;inset:12px;z-index:515;pointer-events:none;
}
.mission-corners i{
    position:absolute;width:34px;height:34px;opacity:.65;
}
.mission-corners .tl{left:0;top:0;border-left:1px solid #53c8f2;border-top:1px solid #53c8f2}
.mission-corners .tr{right:0;top:0;border-right:1px solid #53c8f2;border-top:1px solid #53c8f2}
.mission-corners .bl{left:0;bottom:0;border-left:1px solid #53c8f2;border-bottom:1px solid #53c8f2}
.mission-corners .br{right:0;bottom:0;border-right:1px solid #53c8f2;border-bottom:1px solid #53c8f2}

.mission-coordinates{
    position:absolute;z-index:520;right:18px;bottom:18px;
    display:flex;gap:13px;align-items:center;
    padding:8px 10px;border-radius:9px;
    border:1px solid rgba(65,158,211,.22);
    background:rgba(2,12,20,.80);
    backdrop-filter:blur(10px);
    color:#7f99ad;font-size:8px;letter-spacing:.08em;
}
.mission-coordinates b{color:#d7f4ff}

/* feine Scanlinie, sehr langsam und dezent */
.wspr-scanline{
    position:absolute;z-index:414;left:0;right:0;top:-4px;height:2px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(76,200,248,.0) 10%,rgba(76,200,248,.38) 50%,rgba(76,200,248,.0) 90%,transparent);
    box-shadow:0 0 16px rgba(76,200,248,.16);
    animation:missionScan 7.5s linear infinite;
    opacity:.52;
}
@keyframes missionScan{
    from{transform:translateY(0)}
    to{transform:translateY(720px)}
}

/* Kartenraster etwas stärker – aber nicht störend */
.wspr-map-grid{
    background-size:60px 60px;
    background-image:
      linear-gradient(rgba(77,159,209,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(77,159,209,.045) 1px,transparent 1px);
}

/* Signalpfade: Kern + Glow klarer */
.leaflet-overlay-pane svg path.wspr-signal-path{
    opacity:.84!important;
    stroke-width:1.75!important;
    stroke-dasharray:2 8!important;
    filter:
      drop-shadow(0 0 2px currentColor)
      drop-shadow(0 0 6px currentColor)
      drop-shadow(0 0 10px color-mix(in srgb,currentColor 42%,transparent));
}
.leaflet-overlay-pane svg path.wspr-glow-line{
    stroke-width:7!important;
    opacity:.10!important;
    filter:blur(3px);
}

/* bewegte Datenpakete */
.wspr-data-particle{
    filter:
      drop-shadow(0 0 3px currentColor)
      drop-shadow(0 0 8px currentColor);
}

/* Marker bleiben lesbar vor hellerer Basemap */
.wspr-rx-premium span{
    border:1px solid rgba(255,255,255,.98);
}
.wspr-rx-premium:before{
    width:3px;height:3px;
}

/* Basiskarte etwas räumlicher */
.wspr-map-vignette{
    box-shadow:
      inset 0 0 120px rgba(0,0,0,.52),
      inset 0 0 30px rgba(66,169,226,.025),
      inset 0 -100px 140px rgba(0,0,0,.32);
}

/* Mission status oben */
.wspr-map-status{
    border-color:rgba(74,185,237,.32);
    box-shadow:0 0 20px rgba(60,175,230,.06),0 12px 28px rgba(0,0,0,.28);
}
.wspr-map-status strong{color:#dff7ff}
.wspr-map-status small{color:#7fa1b8}

/* SNR-Legende stärker vom Kartenbild lösen */
.wspr-map-left,.wspr-map-right{
    border-color:rgba(65,154,210,.34);
    background:rgba(2,12,20,.87);
    box-shadow:0 14px 32px rgba(0,0,0,.32);
}

/* Hauptkarte noch einen Tick größer */
#wspr-map{height:740px}

@media(max-width:1100px){
    #wspr-map{height:640px}
    .mission-coordinates{display:none}
}

/* =========================================================
   DL7AG WSPR LIVE v2.0 – MISSION EARTH
   ========================================================= */

.wspr-earth-grid{
    display:grid;
    grid-template-columns:minmax(0,1.72fr) minmax(360px,.92fr);
    gap:10px;
    margin-bottom:10px;
    align-items:stretch;
}
.wspr-earth-main,.wspr-earth-side{min-width:0}
.wspr-earth-side{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:10px;
}

/* 2D map: deutlich heller + Europa sofort im Fokus */
#wspr-map{height:690px}
.leaflet-tile-pane .wspr-earth-base{
    filter:
      brightness(1.36)
      contrast(1.08)
      saturate(.86);
}
.leaflet-heatmap-layer{
    opacity:.50!important;
}
.wspr-map-vignette{
    box-shadow:
      inset 0 0 82px rgba(0,0,0,.30),
      inset 0 -70px 100px rgba(0,0,0,.20);
}
.wspr-map-grid{
    opacity:.62;
}

/* echter WebGL Globus */
.wspr-globe-card{
    min-height:522px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    position:relative;
    border-color:#24506f;
    box-shadow:
      0 22px 60px rgba(0,0,0,.42),
      0 0 34px rgba(42,171,234,.08);
}
.wspr-globe-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-bottom:1px solid rgba(93,178,229,.12);
    background:linear-gradient(90deg,rgba(10,31,47,.92),rgba(3,14,24,.88));
}
.wspr-globe-head h2{
    margin:0;
    color:#f0f7fb;
    font-size:11px;
    letter-spacing:.04em;
}
.wspr-globe-head h2 span{color:#7796aa;font-weight:400}
.wspr-globe-head small{
    display:block;
    margin-top:3px;
    color:#728da2;
    font-size:8px;
}
.wspr-globe-mode{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:8px;
    color:#7c9cb1;
}
.wspr-globe-mode b{
    color:#65e844;
    border:1px solid rgba(101,232,68,.24);
    background:rgba(64,157,48,.08);
    padding:4px 7px;
    border-radius:999px;
}
.wspr-globe-wrap{
    position:relative;
    flex:1;
    min-height:470px;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 46%,rgba(30,112,160,.12),transparent 44%),
      radial-gradient(circle at 50% 50%,#04121f,#01060c 74%);
}
#wspr-globe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
#wspr-globe canvas{
    display:block;
    cursor:grab;
}
#wspr-globe canvas:active{cursor:grabbing}

.globe-station-badge{
    position:absolute;
    z-index:6;
    left:50%;
    top:43%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    gap:7px;
    pointer-events:none;
    padding:6px 9px;
    border-radius:8px;
    border:1px solid rgba(73,199,246,.42);
    background:rgba(1,13,22,.82);
    backdrop-filter:blur(8px);
    box-shadow:0 0 22px rgba(42,189,244,.12);
    opacity:.92;
}
.globe-station-badge i{
    width:9px;height:9px;border-radius:50%;
    background:#fff;border:2px solid #4bd4ff;
    box-shadow:0 0 9px #4bd4ff,0 0 20px #4bd4ff;
}
.globe-station-badge strong{display:block;font-size:11px;line-height:1}
.globe-station-badge span{display:block;margin-top:2px;color:#3de0ff;font-size:9px}

.globe-controls{
    position:absolute;
    z-index:7;
    left:12px;
    bottom:12px;
    display:flex;
    gap:6px;
    align-items:center;
}
.globe-controls button{
    height:29px;
    border:1px solid rgba(73,154,204,.32);
    background:rgba(3,15,25,.84);
    color:#c9e6f5;
    border-radius:8px;
    padding:0 9px;
    font-size:9px;
    cursor:pointer;
    backdrop-filter:blur(8px);
}
.globe-controls button:hover,.globe-controls button.is-active{
    color:#fff;
    border-color:#32b8f0;
    background:rgba(20,80,111,.62);
}
#globe-rotate{
    display:flex;align-items:center;gap:6px;
}
#globe-rotate i{
    width:7px;height:7px;border-radius:50%;background:#65e844;
    box-shadow:0 0 10px #65e844;
}
#globe-rotate:not(.is-active) i{
    background:#758391;box-shadow:none;
}
.globe-counts{
    position:absolute;
    z-index:7;
    right:12px;
    bottom:13px;
    display:flex;
    gap:9px;
    color:#6f91a6;
    font-size:8px;
    letter-spacing:.07em;
    pointer-events:none;
}

/* Solar kompakter im rechten Stack */
.wspr-earth-side .solar-panel{
    min-height:0;
    padding:12px;
}
.wspr-earth-side .solar-summary{
    grid-template-columns:70px 1fr;
    margin-top:10px;
}
.wspr-earth-side .sun-live{
    transform:scale(.78);
    transform-origin:center;
}
.wspr-earth-side .solar-stats strong{
    font-size:19px;
}
.wspr-earth-side .solar-stats small,
.wspr-earth-side .solar-stats span{
    font-size:8px;
}

/* DX über volle Breite */
.wspr-dx-full{margin-bottom:10px}
.wspr-dx-full .wspr-panel{min-height:auto}
.wspr-dx-full .dx-grid>div{min-height:138px}

/* Untere Heatmap bleibt lesbar, ebenfalls etwas reduziert */
#wspr-heatmap .leaflet-heatmap-layer{
    opacity:.55!important;
}

@media(max-width:1220px){
    .wspr-earth-grid{
        grid-template-columns:1fr;
    }
    .wspr-earth-side{
        grid-template-columns:1fr 1fr;
        grid-template-rows:auto;
    }
    .wspr-globe-card{min-height:520px}
}
@media(max-width:760px){
    .wspr-earth-side{grid-template-columns:1fr}
    #wspr-map{height:560px}
    .wspr-globe-card{min-height:500px}
}

/* =========================================================
   DL7AG WSPR LIVE v2.1 – EARTH VISUAL STACK
   ========================================================= */

.wspr-earth-grid{
    grid-template-columns:minmax(0,1.62fr) minmax(410px,.98fr);
}

/* Local technical world image: no satellite tiles */
#wspr-map{
    background:#020810!important;
}
#wspr-map .wspr-local-earth{
    filter:brightness(1.16) contrast(1.08) saturate(1.08);
}
#wspr-map .leaflet-tile-pane{
    background:#020810;
}
.wspr-map-vignette{
    box-shadow:
      inset 0 0 56px rgba(0,0,0,.20),
      inset 0 -54px 82px rgba(0,0,0,.14);
}
/* heat approximately half as visually dominant as v1.x */
#wspr-map .leaflet-heatmap-layer{opacity:.36!important}
#wspr-heatmap .leaflet-heatmap-layer{opacity:.42!important}

/* 2D layer toolbar */
.map-layer-toolbar{
    position:absolute;
    z-index:525;
    left:50%;
    top:52px;
    transform:translateX(-50%);
    display:flex;
    gap:5px;
    padding:5px;
    border-radius:999px;
    border:1px solid rgba(64,162,215,.22);
    background:rgba(2,12,20,.79);
    backdrop-filter:blur(10px);
}
.map-layer{
    border:0;
    border-radius:999px;
    padding:6px 9px;
    color:#5f7688;
    background:transparent;
    font-size:8px;
    letter-spacing:.08em;
    cursor:pointer;
}
.map-layer.is-active{
    color:#e2f7ff;
    background:#12344a;
    box-shadow:0 0 12px rgba(60,190,237,.10);
}

/* Globe: more technical / less satellite */
.wspr-globe-card{
    min-height:578px;
}
.wspr-globe-wrap{
    min-height:522px;
    background:
      radial-gradient(circle at 48% 47%,rgba(35,145,197,.12),transparent 42%),
      radial-gradient(circle at 50% 50%,#061421,#01050a 74%);
}
#wspr-globe canvas{
    filter:contrast(1.04) saturate(1.08);
}

/* Layer switches */
.earth-layer-switches{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    padding:7px 9px;
    border-bottom:1px solid rgba(81,170,218,.10);
    background:rgba(3,14,24,.84);
}
.earth-layer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    border:1px solid rgba(68,133,170,.20);
    border-radius:7px;
    padding:7px 4px;
    background:#061622;
    color:#60798a;
    font-size:7.5px;
    letter-spacing:.04em;
    cursor:pointer;
}
.earth-layer i{
    width:6px;height:6px;border-radius:50%;
    background:#4c5d68;
}
.earth-layer.is-active{
    color:#ddf6ff;
    border-color:rgba(63,194,240,.42);
    background:#0b2637;
}
.earth-layer.is-active i{
    background:#5ee745;
    box-shadow:0 0 9px #5ee745;
}

/* Sun position indicator */
.globe-sun-indicator{
    position:absolute;
    z-index:7;
    top:12px;
    left:12px;
    display:flex;
    gap:7px;
    align-items:center;
    padding:7px 9px;
    border:1px solid rgba(255,181,67,.22);
    border-radius:9px;
    background:rgba(4,14,22,.78);
    backdrop-filter:blur(8px);
}
.globe-sun-indicator>span{
    font-size:20px;
    color:#ffbd45;
    text-shadow:0 0 12px rgba(255,174,46,.55);
}
.globe-sun-indicator small{
    display:block;
    font-size:7px;
    color:#8aa1b2;
}
.globe-sun-indicator b{
    display:block;
    margin-top:2px;
    font-size:8px;
    color:#ffd16e;
}

/* Higher arcs need room visually */
#wspr-globe{
    overflow:visible;
}
.globe-station-badge{
    top:45%;
}

/* solar card a little tighter because globe grew */
.wspr-earth-side .solar-panel{
    padding:10px 12px;
}
.wspr-earth-side .solar-summary{
    margin-top:7px;
}
.wspr-earth-side .sun-live{
    transform:scale(.68);
}

/* mission title */
.wspr-globe-head h2{
    color:#dff8ff;
}
.wspr-globe-head h2:before{
    content:"◉";
    color:#55d8ff;
    margin-right:6px;
    text-shadow:0 0 10px #55d8ff;
}

@media(max-width:1260px){
    .wspr-earth-grid{grid-template-columns:1fr}
    .wspr-earth-side{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .wspr-earth-side{grid-template-columns:1fr}
    .earth-layer-switches{grid-template-columns:repeat(2,1fr)}
    .map-layer-toolbar{display:none}
}

/* =========================================================
   DL7AG WSPR LIVE v2.2 – MISSION MAP + GLOBE CONTROLS
   ========================================================= */

/* Clearly technical map: light continents, black-blue ocean */
#wspr-map .wspr-local-earth{
    filter:brightness(1.23) contrast(1.10) saturate(.92)!important;
}
#wspr-map{
    background:#020a12!important;
}
#wspr-map .leaflet-image-layer{
    image-rendering:auto;
}

/* Heatmap must not hide countries */
#wspr-map .leaflet-heatmap-layer{
    opacity:.27!important;
}
#wspr-heatmap .leaflet-heatmap-layer{
    opacity:.38!important;
}

/* Globe gets the exact same technical Earth language */
#wspr-globe canvas{
    filter:brightness(1.10) contrast(1.08) saturate(.94);
}
.wspr-globe-wrap{
    background:
      radial-gradient(circle at 50% 46%,rgba(41,160,215,.15),transparent 42%),
      radial-gradient(circle at 50% 50%,#061521,#01060b 76%);
}

/* Controls: proper interactive toolbar */
.globe-controls{
    flex-wrap:wrap;
    max-width:calc(100% - 24px);
}
.globe-controls button{
    height:31px;
    padding:0 10px;
    font-size:8px;
    font-weight:700;
    letter-spacing:.035em;
}
#globe-zoom-in,#globe-zoom-out{
    width:31px;
    padding:0;
    font-size:18px;
    line-height:1;
}
#globe-rotate{
    min-width:126px;
}
#globe-rotate:not(.is-active){
    color:#8293a0;
    border-color:rgba(108,129,143,.25);
    background:rgba(5,17,25,.78);
}
#globe-rotate:not(.is-active) i{
    background:#75818a!important;
    box-shadow:none!important;
}

.globe-help{
    position:absolute;
    z-index:7;
    left:12px;
    bottom:50px;
    display:flex;
    gap:8px;
    pointer-events:none;
}
.globe-help span{
    padding:4px 6px;
    border-radius:5px;
    border:1px solid rgba(70,145,185,.16);
    background:rgba(2,12,20,.66);
    color:#607d90;
    font-size:6.5px;
    letter-spacing:.055em;
}

/* Let the user understand immediately that the globe is interactive */
#wspr-globe:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:inset 0 0 70px rgba(42,159,214,.035);
}

/* Make land and country structure the visual priority over heat */
.wspr-map-grid{
    opacity:.34!important;
}
.wspr-map-vignette{
    box-shadow:
      inset 0 0 44px rgba(0,0,0,.13),
      inset 0 -45px 68px rgba(0,0,0,.09)!important;
}

/* Visible current-release marker */
.wspr-globe-head small b{
    color:#61e5ff;
    font-weight:700;
}

@media(max-width:760px){
    .globe-help{display:none}
    #globe-rotate{min-width:110px}
}

/* =========================================================
   DL7AG WSPR LIVE v2.3 – RELIEF BALANCE
   ========================================================= */

/* Middle ground: more depth than v2.2, cleaner than v2.0 */
#wspr-map .wspr-local-earth{
    filter:
      brightness(1.17)
      contrast(1.10)
      saturate(.86)!important;
}
#wspr-globe canvas{
    filter:
      brightness(1.08)
      contrast(1.08)
      saturate(.88)!important;
}

/* Keep water dark, land readable */
#wspr-map{
    background:#031019!important;
}

/* Heatmap reduced so geography remains readable */
#wspr-map .leaflet-heatmap-layer{
    opacity:.30!important;
}
#wspr-heatmap .leaflet-heatmap-layer{
    opacity:.40!important;
}

/* Signal clarity */
.leaflet-overlay-pane svg path.wspr-signal-path{
    stroke-width:1.9!important;
    opacity:.84!important;
    filter:
      drop-shadow(0 0 2px currentColor)
      drop-shadow(0 0 6px currentColor)
      drop-shadow(0 0 11px color-mix(in srgb,currentColor 42%,transparent));
}
.leaflet-overlay-pane svg path.wspr-glow-line{
    stroke-width:7.5!important;
    opacity:.12!important;
}
.wspr-rx-premium span{
    transform:translate(-50%,-50%) scale(1.08);
}

/* Active band stronger but not flashy */
.wspr-band-card.current{
    box-shadow:
      0 0 18px color-mix(in srgb,currentColor 22%,transparent),
      inset 0 0 18px color-mix(in srgb,currentColor 8%,transparent)!important;
}

/* Panels: slightly deeper glass feel */
.wspr-panel,
.wspr-section{
    background:
      linear-gradient(180deg,rgba(8,20,32,.98),rgba(3,12,21,.99));
    box-shadow:
      0 16px 38px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.015);
}

/* Globe and 2D should feel like one product */
.wspr-globe-card,
.wspr-map-card{
    border-color:#204a63;
    background:linear-gradient(180deg,rgba(5,18,29,.99),rgba(2,9,16,.99));
}

/* Europe focus toolbar remains compact */
.map-layer-toolbar{
    background:rgba(3,14,22,.74);
}

/* Build marker */
.wspr-globe-head small b{
    color:#62e8ff;
}

/* =========================================================
   DL7AG WSPR LIVE v3.0 – FINAL MAP ENGINE
   ========================================================= */

/* Mercator tiles eliminate the old N/S stretch */
#wspr-map .wspr-v3-relief-tiles{
    filter:
      brightness(1.06)
      contrast(1.10)
      saturate(1.06);
}
#wspr-map{
    background:#02101a!important;
}
#wspr-map .leaflet-tile-pane{
    background:#02101a;
}

/* Heatmap exactly as an overlay, not as opaque fog */
#wspr-map .leaflet-heatmap-layer{
    opacity:.36!important;
    mix-blend-mode:screen;
}
#wspr-heatmap .leaflet-heatmap-layer{
    opacity:.44!important;
    mix-blend-mode:screen;
}

/* Reduce HUD obscuring geography */
.wspr-map-grid{opacity:.22!important}
.wspr-map-vignette{
    box-shadow:
      inset 0 0 36px rgba(0,0,0,.10),
      inset 0 -36px 60px rgba(0,0,0,.08)!important;
}

/* Strong cyan edge language around controls */
.wspr-map-card,.wspr-globe-card{
    border-color:#24566f!important;
}
.wspr-map-left,.wspr-map-right{
    background:rgba(2,12,20,.82)!important;
}

/* Globe: natural relief + clean clouds */
#wspr-globe canvas{
    filter:
      brightness(1.04)
      contrast(1.07)
      saturate(1.04)!important;
}
.wspr-globe-wrap{
    background:
      radial-gradient(circle at 50% 45%,rgba(28,137,200,.17),transparent 44%),
      radial-gradient(circle at 50% 50%,#04131f,#01050a 76%)!important;
}

/* Signal arcs/markers emphasis */
.leaflet-overlay-pane svg path.wspr-signal-path{
    stroke-width:2.0!important;
    opacity:.88!important;
}
.wspr-rx-premium span{
    transform:translate(-50%,-50%) scale(1.10)!important;
}

/* Globe controls remain clearly interactive */
#globe-rotate.is-active{
    border-color:#2ec8f0!important;
    box-shadow:0 0 14px rgba(46,200,240,.10);
}

/* V3 badge */
.wspr-globe-head small b{
    color:#64ecff!important;
    text-shadow:0 0 8px rgba(100,236,255,.28);
}

/* =========================================================
   DL7AG WSPR LIVE v3.1 – PREMIUM LIVE
   ========================================================= */

/* Slightly closer Europe without visual crowding */
#wspr-map{
    filter:saturate(1.02);
}

/* Softer heat, fewer hard color boundaries */
#wspr-map .leaflet-heatmap-layer{
    opacity:.34!important;
    filter:blur(.35px) saturate(.98);
}
#wspr-heatmap .leaflet-heatmap-layer{
    opacity:.42!important;
    filter:blur(.3px);
}

/* Premium atmosphere */
.wspr-globe-wrap{
    box-shadow:
      inset 0 0 85px rgba(47,174,232,.05),
      inset 0 0 18px rgba(79,209,255,.025);
}
#wspr-globe canvas{
    filter:
      brightness(1.035)
      contrast(1.075)
      saturate(1.045)
      drop-shadow(0 0 18px rgba(62,185,238,.16))!important;
}

/* DL7AG station badge breathes subtly */
.globe-station-badge{
    animation:stationBreath 3.4s ease-in-out infinite;
}
.globe-station-badge i{
    animation:stationDotBreath 2.6s ease-in-out infinite;
}
@keyframes stationBreath{
    50%{box-shadow:0 0 30px rgba(42,189,244,.20);transform:translate(-50%,-50%) scale(1.025)}
}
@keyframes stationDotBreath{
    50%{box-shadow:0 0 14px #4bd4ff,0 0 28px #4bd4ff;transform:scale(1.18)}
}

/* Richer glass panels but still restrained */
.wspr-panel,.wspr-section,.wspr-globe-card,.wspr-map-card{
    backdrop-filter:blur(7px);
    box-shadow:
      0 18px 44px rgba(0,0,0,.27),
      inset 0 1px 0 rgba(255,255,255,.022);
}

/* Live cloud status */
.cloud-live-status{
    position:absolute;
    z-index:8;
    top:12px;
    right:12px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:6px 8px;
    border-radius:7px;
    background:rgba(3,14,23,.76);
    border:1px solid rgba(89,153,192,.18);
    color:#8099aa;
    font-size:7px;
    pointer-events:none;
    backdrop-filter:blur(8px);
}
.cloud-live-status i{
    width:6px;height:6px;border-radius:50%;background:#7d8a94;
}
.cloud-live-status.available{
    color:#b7d9e9;
}
.cloud-live-status.available i{
    background:#65e744;
    box-shadow:0 0 9px #65e744;
}
.cloud-live-status.unavailable i{
    background:#ff765d;
}
.cloud-live-status.checking i{
    background:#ffd24b;
    animation:statusPulse 1.2s ease-in-out infinite;
}

/* Disabled cloud button makes data status unambiguous */
#cloud-layer-button:disabled{
    opacity:.42;
    cursor:not-allowed;
}
#cloud-layer-button:not(:disabled){
    opacity:1;
}

/* Calm signal packets */
.wspr-data-particle{
    opacity:.9;
}

/* Globe inertia / controls feel */
.globe-controls button{
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.globe-controls button:not(:disabled):active{
    transform:scale(.96);
}

/* Version badge */
.wspr-globe-head small b{
    color:#70efff!important;
}

/* =========================================================
   DL7AG WSPR LIVE v4.0 – MISSION EARTH ENGINE
   ========================================================= */

.wspr-globe-card{
    border-color:#28637e!important;
    box-shadow:
      0 24px 70px rgba(0,0,0,.42),
      0 0 42px rgba(58,189,243,.085),
      inset 0 1px 0 rgba(255,255,255,.026)!important;
}

.wspr-globe-wrap{
    background:
      radial-gradient(circle at 50% 46%,rgba(31,154,218,.18),transparent 38%),
      radial-gradient(circle at 50% 50%,#03131f 0%,#01060b 66%,#000207 100%)!important;
}

#wspr-globe canvas{
    filter:
      brightness(1.025)
      contrast(1.08)
      saturate(1.06)
      drop-shadow(0 0 24px rgba(56,191,244,.20))!important;
}

/* Arc area feels more like a tracking display */
.wspr-globe-card:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    background:
      radial-gradient(circle at 50% 47%,transparent 44%,rgba(0,0,0,.18) 79%,rgba(0,0,0,.35) 100%);
    z-index:1;
}
.wspr-globe-card>*{position:relative;z-index:2}
.wspr-globe-wrap{z-index:3!important}

/* Globe badge slightly sharper than V3 */
.globe-station-badge{
    border-color:rgba(79,211,255,.55)!important;
    background:rgba(0,10,18,.86)!important;
    box-shadow:
      0 0 20px rgba(54,207,255,.18),
      0 10px 25px rgba(0,0,0,.34)!important;
}

/* Layer switches have real telemetry feel */
.earth-layer-switches{
    background:linear-gradient(180deg,rgba(3,17,28,.96),rgba(2,12,20,.91))!important;
}
.earth-layer.is-active{
    border-color:rgba(65,207,252,.47)!important;
    background:linear-gradient(180deg,#0c2b3c,#071c29)!important;
}

/* Cloud state can't be mistaken for a decorative feature */
.cloud-live-status{
    border-color:rgba(91,171,211,.24)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.22);
}

/* Make 2D map unchanged except for gentle polish */
.wspr-map-card{
    box-shadow:
      0 22px 58px rgba(0,0,0,.32),
      0 0 28px rgba(35,158,212,.045)!important;
}

/* =========================================================
   DL7AG WSPR LIVE v5.0 – NATIVE THREE.JS MISSION EARTH
   ========================================================= */
#wspr-globe{
    position:absolute;
    inset:0;
    overflow:hidden;
}
#wspr-globe canvas{
    display:block;
    width:100%!important;
    height:100%!important;
    filter:none!important;
    cursor:grab;
}
#wspr-globe canvas:active{cursor:grabbing}

.wspr-globe-card{
    border-color:#2b6884!important;
    box-shadow:
      0 26px 78px rgba(0,0,0,.45),
      0 0 44px rgba(64,201,255,.10),
      inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.wspr-globe-wrap{
    background:
      radial-gradient(circle at 50% 47%,rgba(30,149,216,.18),transparent 41%),
      radial-gradient(circle at 50% 50%,#03131f 0%,#01050a 70%,#000106 100%)!important;
}
.globe-station-badge{
    top:46%;
    border-color:rgba(79,218,255,.56)!important;
    background:rgba(1,12,20,.84)!important;
}
.v5-globe-error{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#ff7867;
    font-size:12px;
}
.wspr-globe-head small b{
    color:#70efff!important;
    text-shadow:0 0 10px rgba(112,239,255,.30);
}

/* =========================================================
   DL7AG WSPR LIVE v5.1 – LIVE BAND CONDITIONS
   ========================================================= */

/* Real latest-transmission panel */
.wspr-tx-live{
    display:grid;
    grid-template-columns:1fr .78fr 1.05fr;
    align-items:stretch;
    border:1px solid #17364d;
    border-radius:14px;
    background:linear-gradient(180deg,#061622,#04111b);
    overflow:hidden;
    min-width:470px;
}
.wspr-tx-live>div{
    padding:11px 14px;
    border-right:1px solid rgba(255,255,255,.055);
}
.wspr-tx-live>div:last-child{border-right:0}
.wspr-tx-live small{
    display:block;
    color:#7f99aa;
    font-size:8px;
    letter-spacing:.055em;
    margin-bottom:5px;
}
.wspr-tx-live strong{
    display:block;
    color:#72e447;
    font-size:31px;
    line-height:1;
}
.wspr-tx-live b{
    display:block;
    color:#e8f5fb;
    font-size:17px;
    line-height:1.1;
}
.wspr-tx-live span{
    display:block;
    color:#8da5b5;
    font-size:9px;
    margin-top:6px;
}
.wspr-tx-live.is-fresh{
    border-color:rgba(95,226,68,.38);
    box-shadow:0 0 24px rgba(95,226,68,.06);
}
.wspr-tx-live.is-fresh #tx-live-status{
    color:#73e84c;
}

/* Top band-condition summary */
.band-condition-summary{
    padding:12px;
    margin-bottom:10px;
}
.band-condition-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.band-condition-title>div{
    display:flex;
    align-items:center;
    gap:8px;
}
.band-condition-title strong{
    font-size:11px;
    letter-spacing:.055em;
}
.band-condition-title small,
#conditions-updated{
    color:#7790a2;
    font-size:8px;
}
.live-dot{
    width:7px;height:7px;border-radius:50%;
    background:#65e644;
    box-shadow:0 0 10px #65e644;
}
.band-condition-highlights{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}
.condition-highlight{
    border:1px solid #19374d;
    border-radius:11px;
    background:linear-gradient(180deg,#071724,#05111b);
    padding:10px 12px;
    position:relative;
    overflow:hidden;
}
.condition-highlight:before{
    content:"";
    position:absolute;inset:0;
    background:radial-gradient(circle at 90% 0%,rgba(55,188,240,.08),transparent 50%);
    pointer-events:none;
}
.condition-highlight small{
    color:#7b94a5;
    font-size:7.5px;
    letter-spacing:.06em;
}
.condition-highlight strong{
    display:block;
    color:#eef9ff;
    font-size:18px;
    margin-top:5px;
}
.condition-highlight span{
    display:block;
    color:#8ea7b7;
    font-size:8.5px;
    margin-top:4px;
}
.best-overall strong{color:#75e84d}
.most-active strong{color:#58d7f3}
.best-dx strong{color:#ffd45a}

/* Per-band live score */
.band-condition-live{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.055);
}
.condition-status{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5px;
}
.condition-status span{
    font-size:7.5px;
    font-weight:800;
    letter-spacing:.045em;
}
.condition-status b{
    font-size:9px;
    color:#eaf6fb;
}
.condition-meter{
    height:4px;
    margin-top:5px;
    border-radius:999px;
    background:#0a1d2a;
    overflow:hidden;
}
.condition-meter i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:currentColor;
    box-shadow:0 0 8px currentColor;
}
.condition-metrics{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:3px;
    margin-top:6px;
    color:#7890a0;
    font-size:6.8px;
}
.condition-metrics b{
    display:block;
    color:#dceaf2;
    font-size:7.4px;
}
.wspr-band-card.cond-excellent{--cond:#68e542}
.wspr-band-card.cond-good{--cond:#47d7ef}
.wspr-band-card.cond-fair{--cond:#ffd049}
.wspr-band-card.cond-weak{--cond:#ff9252}
.wspr-band-card.cond-none{--cond:#657786}
.wspr-band-card .band-condition-live{color:var(--cond)}
.wspr-band-card.cond-excellent{
    border-color:color-mix(in srgb,#68e542 62%,#19354e)!important;
    box-shadow:0 0 18px rgba(104,229,66,.08);
}

/* 200 mW should be visually clear but not dominant */
.wspr-meta{
    letter-spacing:.015em;
}

@media(max-width:1100px){
    .wspr-tx-live{min-width:0;grid-template-columns:1fr}
    .wspr-tx-live>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}
    .wspr-tx-live>div:last-child{border-bottom:0}
    .band-condition-highlights{grid-template-columns:1fr}
}

/* =========================================================
   DL7AG WSPR LIVE v5.2 – OPERATOR DATA
   ========================================================= */
.operator-hero{
    grid-template-columns:1fr minmax(520px,1.18fr) 170px!important;
}
.operator-tx-card{
    display:grid;
    grid-template-columns:1.05fr .85fr 1fr;
    position:relative;
    overflow:hidden;
    border:1px solid #1b4058;
    border-radius:14px;
    background:linear-gradient(180deg,rgba(6,22,34,.98),rgba(3,14,23,.98));
    box-shadow:0 14px 34px rgba(0,0,0,.24);
}
.operator-tx-card>div{
    padding:12px 14px;
}
.operator-tx-card>div:not(.operator-tx-status)+div:not(.operator-tx-status){
    border-left:1px solid rgba(255,255,255,.055);
}
.operator-tx-card small{
    display:block;
    color:#7390a3;
    font-size:8px;
    letter-spacing:.07em;
    line-height:1.4;
}
.operator-tx-card strong{
    display:block;
    margin-top:7px;
    color:#eef8fc;
}
.operator-tx-band strong{
    color:#72e44b;
    font-size:31px;
    line-height:1;
}
.operator-tx-band span,
.operator-tx-time span,
.operator-tx-report span{
    display:block;
    margin-top:6px;
    color:#88a0b1;
    font-size:9px;
}
.operator-tx-time strong,
.operator-tx-report strong{
    font-size:20px;
}
.operator-tx-status{
    position:absolute;
    left:12px;
    right:12px;
    bottom:7px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0!important;
    color:#7892a4;
    font-size:7px;
    letter-spacing:.045em;
    pointer-events:none;
}
.operator-tx-status i{
    width:6px;height:6px;border-radius:50%;background:#758591;
}
.operator-tx-status i.is-fresh{
    background:#65e643;box-shadow:0 0 9px #65e643;
}
.operator-tx-status i.is-recent{
    background:#ffd44e;box-shadow:0 0 8px rgba(255,212,78,.5);
}
.operator-tx-status i.is-stale{
    background:#ff875a;
}

@media(max-width:1100px){
    .operator-hero{grid-template-columns:1fr!important}
    .operator-tx-card{grid-template-columns:1fr}
    .operator-tx-card>div{padding-bottom:20px}
    .operator-tx-card>div:not(.operator-tx-status)+div:not(.operator-tx-status){
        border-left:0;border-top:1px solid rgba(255,255,255,.055);
    }
}

/* =========================================================
   DL7AG WSPR LIVE v5.3 – REAL DATA ONLY
   ========================================================= */

.realdata-hero{
    grid-template-columns:1fr minmax(580px,1.22fr) 170px!important;
}
.realdata-topcards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid #1c4058;
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(180deg,#061622,#04111b);
}
.realdata-card{
    padding:13px 14px;
    min-width:0;
    border-right:1px solid rgba(255,255,255,.055);
}
.realdata-card:last-child{border-right:0}
.realdata-card small{
    display:block;
    color:#7590a2;
    font-size:8px;
    letter-spacing:.065em;
}
.realdata-card strong{
    display:block;
    margin-top:8px;
    color:#eef8fc;
    font-size:23px;
    line-height:1;
}
.realdata-card:first-child strong{color:#74e44c}
.realdata-card:nth-child(2) strong{color:#59d9ff}
.realdata-card:nth-child(3) strong{color:#ffd25b}
.realdata-card span{
    display:block;
    margin-top:6px;
    color:#88a0b0;
    font-size:8.5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Direct band metrics only */
.band-condition-live.real-metrics{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.055);
    color:inherit;
}
.real-band-metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
}
.real-band-metrics span{
    min-width:0;
    padding:6px;
    border:1px solid rgba(54,102,133,.15);
    border-radius:6px;
    background:rgba(4,14,22,.6);
}
.real-band-metrics small{
    display:block;
    color:#6f8798;
    font-size:6px;
    letter-spacing:.05em;
}
.real-band-metrics b{
    display:block;
    margin-top:2px;
    color:#e9f4f8;
    font-size:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* hide obsolete score artifacts from V5.1/V5.2 if still injected */
.band-condition-live.real-metrics .condition-status,
.band-condition-live.real-metrics .condition-meter,
.band-condition-live.real-metrics .condition-metrics{
    display:none!important;
}

@media(max-width:1100px){
    .realdata-hero{grid-template-columns:1fr!important}
    .realdata-topcards{grid-template-columns:1fr}
    .realdata-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}
    .realdata-card:last-child{border-bottom:0}
}

/* DL7AG v5.4 data-loading feedback */
html[data-operator-data="ready"] .realdata-topcards{
    border-color:#24516b;
}
html[data-operator-data="error"] .realdata-topcards{
    border-color:rgba(255,112,82,.55);
}

/* =========================================================
   DL7AG WSPR LIVE v6.0 – PREMIUM OPERATOR DASHBOARD
   Rule: important information is NEVER tiny.
   ========================================================= */

:root{
    --v6-label:12px;
    --v6-small:13px;
    --v6-body:15px;
    --v6-value:24px;
}

/* ---------- HERO ---------- */
.v6-hero{
    display:grid!important;
    grid-template-columns:minmax(310px,.84fr) minmax(760px,1.75fr) 190px!important;
    gap:18px!important;
    align-items:center!important;
    padding:20px 8px 18px!important;
}
.v6-brand .wspr-title{
    font-size:40px!important;
    line-height:1!important;
}
.v6-brand .wspr-subtitle{
    margin-top:10px!important;
    font-size:17px!important;
}
.v6-station-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}
.v6-station-pills span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border:1px solid #254861;
    border-radius:9px;
    background:#071622;
    color:#b8cbd7;
    font-size:14px;
}
.v6-station-pills b{
    color:#e9f7fc;
    font-size:14px;
}

/* ---------- 3 BIG KPI CARDS ---------- */
.v6-kpi-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.v6-kpi{
    position:relative;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:12px;
    min-height:174px;
    padding:17px;
    overflow:hidden;
    border:1px solid #23475f;
    border-radius:15px;
    background:
      radial-gradient(circle at 92% 0%,rgba(61,191,239,.08),transparent 45%),
      linear-gradient(180deg,#081a29,#05131f);
    box-shadow:0 14px 32px rgba(0,0,0,.24);
}
.v6-kpi-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;height:52px;
    border:2px solid currentColor;
    border-radius:50%;
    background:rgba(255,255,255,.025);
    font-size:25px;
    font-weight:800;
    box-shadow:0 0 22px color-mix(in srgb,currentColor 18%,transparent);
}
.v6-kpi-active{color:#52d8ff}
.v6-kpi-snr{color:#72e64b}
.v6-kpi-dx{color:#ffc72f}

.v6-kpi-copy small{
    display:block;
    color:#8aa3b4;
    font-size:12px!important;
    font-weight:800;
    letter-spacing:.055em;
}
.v6-kpi-copy>strong{
    display:block;
    margin-top:6px;
    color:#f4f9fc;
    font-size:43px!important;
    line-height:1;
    letter-spacing:-.035em;
}
.v6-kpi-copy>b{
    display:block;
    margin-top:8px;
    color:currentColor;
    font-size:25px!important;
    line-height:1.1;
}
.v6-kpi-subrow{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:13px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.07);
}
.v6-kpi-subrow span{
    color:#91a9b8;
    font-size:11px!important;
    font-weight:700;
}
.v6-kpi-subrow em{
    display:block;
    margin-top:3px;
    color:#e8f3f8;
    font-size:14px!important;
    font-style:normal;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* ---------- LIVE CLOCK ---------- */
.v6-livebox .live{
    font-size:22px!important;
}
.v6-livebox #wspr-utc{
    margin-top:9px;
    font-size:16px!important;
    font-weight:800;
}
.v6-livebox #wspr-date{
    margin-top:6px!important;
    font-size:13px!important;
}

/* ---------- QUICK STATS ---------- */
.v6-quickstats{
    grid-template-columns:repeat(4,1fr)!important;
    margin-bottom:13px!important;
}
.v6-quickstats>div{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:88px;
    padding:13px 18px!important;
}
.v6-quick-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;height:42px;
    flex:0 0 42px;
    border-radius:50%;
    background:#0a2434;
    color:#55d6f5;
    font-size:21px;
    box-shadow:inset 0 0 15px rgba(72,202,246,.07);
}
.v6-quickstats small{
    font-size:11px!important;
    font-weight:800;
    letter-spacing:.04em;
}
.v6-quickstats strong{
    margin-top:3px!important;
    font-size:25px!important;
    line-height:1!important;
}

/* ---------- BAND SECTION ---------- */
.v6-band-section{
    padding:15px!important;
}
.v6-band-headline{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
}
.v6-band-headline h2{
    margin:0;
    color:#f2f8fb;
    font-size:15px!important;
}
.v6-band-headline h2 span{
    color:#7d98aa;
}
.v6-band-headline p{
    margin:5px 0 0;
    color:#7e98a8;
    font-size:12px!important;
}
#v6-band-updated{
    color:#71e64a;
    font-size:11px!important;
    font-weight:800;
    white-space:nowrap;
}

.v6-band-grid{
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:9px;
}
.v6-band-card{
    position:relative;
    min-width:0;
    min-height:208px;
    padding:14px 12px;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--band) 62%,#28465d);
    border-radius:13px;
    background:
      linear-gradient(180deg,color-mix(in srgb,var(--band) 5%,#081824),#05131f 65%);
    box-shadow:
      inset 0 2px 0 color-mix(in srgb,var(--band) 82%,transparent),
      0 10px 24px rgba(0,0,0,.20);
    color:var(--band);
}
.v6-band-card:before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:3px;
    background:var(--band);
    box-shadow:0 0 12px var(--band);
}
.v6-band-card.is-off{
    opacity:.68;
}
.v6-band-title strong{
    display:block;
    color:var(--band);
    font-size:25px!important;
    line-height:1;
}
.v6-band-title span{
    display:block;
    margin-top:6px;
    color:#a8bac6;
    font-size:12px!important;
}
.v6-band-spots{
    margin-top:19px;
}
.v6-band-spots b{
    color:#f2f8fb;
    font-size:36px!important;
    line-height:.9;
}
.v6-band-spots span{
    margin-left:5px;
    color:#d5e2e9;
    font-size:13px!important;
    font-weight:700;
}
.v6-band-divider{
    height:1px;
    margin:14px 0 12px;
    background:linear-gradient(90deg,color-mix(in srgb,var(--band) 55%,transparent),rgba(255,255,255,.04));
}
.v6-band-bottom{
    display:grid;
    gap:9px;
}
.v6-band-bottom>div{
    min-width:0;
}
.v6-band-bottom small{
    display:block;
    color:#829aaa;
    font-size:10px!important;
    font-weight:800;
}
.v6-band-bottom b{
    display:block;
    margin-top:3px;
    color:#edf6fa;
    font-size:14px!important;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* ---------- GLOBAL INFOBOX READABILITY FLOOR ---------- */
/* Do not allow key dashboard labels to fall back to 6–9px legacy sizes. */
.wspr-panel-head h2,
.wspr-section-head h2,
.wspr-globe-head h2,
.wspr-map-status,
.world-row,
.timeline-row,
.dx-grid small,
.dx-grid b,
.solar-stats small,
.solar-stats span,
.wspr-footer-panel h3,
.wspr-footer-panel p{
    font-size:max(11px,1em)!important;
}
.world-row,
.timeline-row{
    font-size:11px!important;
    line-height:1.45!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1350px){
    .v6-hero{
        grid-template-columns:1fr!important;
    }
    .v6-kpi-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .v6-livebox{text-align:left!important}
    .v6-band-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
    .v6-kpi-grid{grid-template-columns:1fr}
    .v6-quickstats{grid-template-columns:repeat(2,1fr)!important}
    .v6-band-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
    .v6-brand .wspr-title{font-size:32px!important}
    .v6-quickstats{grid-template-columns:1fr!important}
    .v6-band-grid{grid-template-columns:1fr}
}

/* =========================================================
   DL7AG WSPR LIVE v6.1 – LIVE REFRESH
   ========================================================= */

.live-panel-meta{
    display:flex;
    align-items:center;
    gap:8px;
}
.live-panel-meta button{
    font-size:11px!important;
}
#world-updated,
.panel-live-time{
    color:#68df49;
    font-size:10px!important;
    font-weight:800;
    white-space:nowrap;
}

/* More stations without making the dashboard excessively tall */
.world-table,
.timeline{
    max-height:410px;
    overflow:auto;
    padding-right:5px;
    scrollbar-width:thin;
    scrollbar-color:#21445c transparent;
}
.world-table::-webkit-scrollbar,
.timeline::-webkit-scrollbar{width:6px}
.world-table::-webkit-scrollbar-thumb,
.timeline::-webkit-scrollbar-thumb{
    background:#21445c;
    border-radius:999px;
}

/* "Die Welt hört DL7AG": one real station per row */
.world-row.station-row{
    grid-template-columns:30px minmax(135px,1.5fr) 58px 92px 64px!important;
    gap:9px!important;
    align-items:center;
    min-height:47px;
    padding:7px 4px!important;
    font-size:11px!important;
}
.station-rank{
    color:#607b8e;
    font-weight:800;
    text-align:center;
}
.station-call{
    min-width:0;
}
.station-call b{
    display:block;
    color:#edf7fb;
    font-size:12px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.station-call small{
    display:block;
    margin-top:2px;
    color:#7f9aab;
    font-size:10px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.station-band{
    color:#64def6;
    font-size:11px!important;
    font-weight:800;
}
.station-distance,
.station-snr{
    color:#d8e8ef;
    font-size:11px!important;
    font-weight:700;
    text-align:right;
}

/* Timeline: 14 newest spots, newest entry visibly highlighted */
.timeline{
    padding-left:24px!important;
}
.timeline-row{
    grid-template-columns:66px minmax(130px,1.35fr) 54px 90px 62px!important;
    gap:8px!important;
    align-items:center;
    min-height:44px;
    padding:6px 0!important;
    font-size:11px!important;
}
.timeline-row.is-newest{
    background:linear-gradient(90deg,rgba(101,230,68,.055),transparent);
}
.timeline-time{
    color:#8aa3b4;
    font-variant-numeric:tabular-nums;
}
.timeline-call{
    min-width:0;
}
.timeline-call b{
    display:block;
    color:#edf7fb;
    font-size:12px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.timeline-call small{
    display:block;
    margin-top:2px;
    color:#7894a6;
    font-size:9.5px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.timeline-band{
    color:#63dff6;
    font-weight:800;
}
.timeline-distance,
.timeline-snr{
    color:#dbeaf0;
    text-align:right;
    font-weight:700;
}

/* Make the rolling window explicit */
.heat-live{
    font-size:10px!important;
    font-weight:800;
}
#heatmap-updated{
    color:#66e646;
}

@media(max-width:1100px){
    .world-table,.timeline{max-height:360px}
}

/* =========================================================
   DL7AG WSPR LIVE v6.2 – LIVE BAND CHART
   ========================================================= */
.v62-chart-card{
    margin-bottom:13px;
    padding:15px 18px 14px;
    min-height:330px;
}
.v62-chart-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:10px;
}
.v62-chart-head h2{
    margin:0;
    color:#f1f8fb;
    font-size:18px!important;
}
.v62-chart-head p{
    margin:5px 0 0;
    color:#8da5b5;
    font-size:13px!important;
}
.v62-chart-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
}
#v62-chart-window{
    color:#69e647;
    font-size:11px!important;
    font-weight:800;
}
#v62-chart-updated{
    color:#819aaa;
    font-size:11px!important;
}
.v62-chart-wrap{
    height:250px;
    border:1px solid rgba(48,92,121,.18);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(4,15,24,.72),rgba(3,12,19,.54));
    overflow:hidden;
}
#v62-band-chart{
    width:100%;
    height:100%;
    display:block;
}
.v62-chart-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px 15px;
    margin-top:10px;
}
.v62-chart-legend span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#a8bac6;
    font-size:11px!important;
}
.v62-chart-legend i{
    width:10px;height:10px;border-radius:3px;
    background:var(--legend);
    box-shadow:0 0 7px color-mix(in srgb,var(--legend) 55%,transparent);
}
.v62-chart-legend b{color:#e3eef4;font-size:11px!important}
.v62-chart-legend em{color:#7f98a8;font-size:10px!important;font-style:normal}

.v62-maxdx-block strong{
    display:block;
    margin-top:4px;
    color:var(--band);
    font-size:16px!important;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.v62-maxdx-block b{
    margin-top:4px!important;
    font-size:14px!important;
}
.v6-band-card{min-height:226px!important}

@media(max-width:900px){
    .v62-chart-head{display:block}
    .v62-chart-meta{align-items:flex-start;margin-top:8px}
    .v62-chart-wrap{height:220px}
}

/* =========================================================
   DL7AG WSPR LIVE v6.3 – SPOT TIMES
   ========================================================= */

.v6-kpi-subrow{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.v63-dx-time{
    display:block;
    margin-top:4px;
    color:#8fa7b7;
    font-size:11px!important;
    font-style:normal;
    font-weight:700;
}
#v63-active-time,
#v63-best-snr-time,
#v63-best-dx-time{
    color:#a9bcc8!important;
}

@media(max-width:900px){
    .v6-kpi-subrow{
        grid-template-columns:1fr!important;
    }
}

/* =========================================================
   DL7AG WSPR LIVE v6.6 – STATIC GLOBE
   ========================================================= */

#globe-auto,
button[id*="globe-auto"]{
    opacity:.58!important;
    cursor:default!important;
    pointer-events:none!important;
}

#wspr-globe canvas{
    filter:none!important;
    will-change:auto!important;
}

/* Heavy cards should not use animated effects while scrolling. */
.wspr-globe-card *,
.wspr-map-card *{
    animation:none!important;
    transition:none!important;
}

/* Important KPI values remain readable. */
#v63-active-time,
#v63-best-snr-time,
#v63-best-dx-time{
    font-size:16px!important;
    font-weight:900!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
}

/* =========================================================
   DL7AG WSPR LIVE v6.6.1 – MANUAL GLOBE CONTROLS
   ========================================================= */

#wspr-globe,
#wspr-globe canvas{
    pointer-events:auto!important;
    touch-action:none;
    cursor:grab;
}
#wspr-globe:active,
#wspr-globe canvas:active{
    cursor:grabbing;
}

/* Only automatic rotation remains disabled. */
#globe-auto,
button[id*="globe-auto"]{
    opacity:.58!important;
    cursor:default!important;
    pointer-events:none!important;
}

/* =========================================================
   DL7AG WSPR LIVE v6.6.2 – DIRECT GLOBE CONTROLS
   ========================================================= */
#wspr-globe,
#wspr-globe canvas{
    pointer-events:auto!important;
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
}
#wspr-globe canvas{
    cursor:grab!important;
}
#wspr-globe canvas:active{
    cursor:grabbing!important;
}

/* =========================================================
   DL7AG WSPR LIVE v6.7 – HERO REBUILD
   Completely isolated from legacy v6 KPI layout
   ========================================================= */

.v67-hero{
    margin:0 0 14px;
    padding:22px 18px 0;
    border:1px solid rgba(33,74,101,.32);
    border-radius:16px;
    background:
      radial-gradient(circle at 52% 0%,rgba(31,132,180,.07),transparent 42%),
      linear-gradient(180deg,#06131e,#04101a);
    overflow:hidden;
}

.v67-hero-top{
    display:grid;
    grid-template-columns:minmax(280px,.85fr) minmax(820px,2.2fr) 170px;
    gap:18px;
    align-items:center;
}

/* BRAND */
.v67-title{
    color:#f3f8fb;
    font-size:38px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.035em;
}
.v67-title span{
    color:#50c9f0;
}
.v67-subtitle{
    margin-top:10px;
    color:#b6c8d3;
    font-size:17px;
    font-weight:500;
}
.v67-station{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px;
}
.v67-station span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border:1px solid #294c64;
    border-radius:9px;
    background:#071722;
    color:#9eb5c3;
    font-size:13px;
    font-weight:700;
}
.v67-station b{
    color:#eef7fb;
    font-size:14px;
}

/* KPI WRAPPER */
.v67-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.v67-kpi{
    min-width:0;
    min-height:242px;
    padding:17px 18px 16px;
    border:1px solid #24485f;
    border-radius:15px;
    background:
      radial-gradient(circle at 92% 0%,rgba(54,179,226,.07),transparent 48%),
      linear-gradient(180deg,#081b29,#05131e);
}

.v67-kpi-active{--kpi:#54d7ff}
.v67-kpi-snr{--kpi:#74e64b}
.v67-kpi-dx{--kpi:#ffc52f}

.v67-kpi-head{
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    gap:14px;
    align-items:start;
}

.v67-kpi-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border:2px solid var(--kpi);
    border-radius:50%;
    color:var(--kpi);
    font-size:25px;
    font-weight:900;
}

.v67-kpi-head small{
    display:block;
    color:#91a7b5;
    font-size:12px;
    font-weight:900;
    letter-spacing:.05em;
    line-height:1.2;
}

.v67-kpi-head strong{
    display:block;
    margin-top:7px;
    color:#f3f8fb;
    font-size:45px;
    font-weight:900;
    line-height:.95;
    letter-spacing:-.035em;
    white-space:nowrap;
}

.v67-kpi-head b{
    display:block;
    margin-top:9px;
    color:var(--kpi);
    font-size:26px;
    font-weight:900;
    line-height:1.05;
    white-space:nowrap;
}

/* DETAIL AREA: values are allowed to wrap; never ellipsis */
.v67-kpi-details{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:17px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.09);
}

.v67-kpi-details>div{
    min-width:0;
}

.v67-kpi-details span{
    display:block;
    color:#849baa;
    font-size:10.5px;
    font-weight:900;
    letter-spacing:.045em;
    line-height:1.25;
}

.v67-kpi-details strong{
    display:block;
    margin-top:6px;
    color:#edf6fa;
    font-size:14.5px;
    font-weight:900;
    line-height:1.25;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    word-break:normal;
}

/* Callsigns stay on one line */
#v6-best-snr-call,
#v6-best-dx-call{
    white-space:nowrap;
    font-size:15px;
}

/* Times may wrap only between time and UTC */
#v63-active-time,
#v63-best-snr-time,
#v63-best-dx-time{
    white-space:normal;
    font-size:14px;
}

/* Distances stay intact */
#v6-active-dx,
#v6-best-snr-distance{
    white-space:nowrap;
}

/* LIVE CLOCK */
.v67-live{
    text-align:right;
    padding-right:4px;
}
.v67-live-state{
    color:#74e64b;
    font-size:22px;
    font-weight:900;
}
.v67-live-state i{
    display:inline-block;
    width:10px;
    height:10px;
    margin-right:6px;
    border-radius:50%;
    background:#74e64b;
}
.v67-live #wspr-utc{
    margin-top:10px;
    color:#f0f7fa;
    font-size:16px;
    font-weight:900;
}
.v67-live #wspr-date{
    display:block;
    margin-top:8px;
    color:#95aab8;
    font-size:13px;
}

/* QUICK STATS */
.v67-quickstats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin:20px -18px 0;
    border-top:1px solid rgba(255,255,255,.07);
}

.v67-quick{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:88px;
    padding:13px 18px;
    border-right:1px solid rgba(255,255,255,.07);
}
.v67-quick:last-child{border-right:0}

.v67-quick-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    background:#0a2637;
    color:#51d5f4;
    font-size:21px;
}

.v67-quick small{
    display:block;
    color:#8098a8;
    font-size:10px;
    font-weight:900;
    letter-spacing:.045em;
}
.v67-quick strong{
    display:block;
    margin-top:3px;
    color:#f1f7fa;
    font-size:24px;
    font-weight:900;
    line-height:1;
}

/* Desktop compression: keep cards readable, reduce headline size only */
@media(max-width:1500px){
    .v67-hero-top{
        grid-template-columns:minmax(250px,.8fr) minmax(720px,2.2fr) 150px;
        gap:14px;
    }
    .v67-kpi{
        padding:15px;
    }
    .v67-kpi-head{
        grid-template-columns:52px minmax(0,1fr);
        gap:11px;
    }
    .v67-kpi-icon{
        width:48px;
        height:48px;
        font-size:22px;
    }
    .v67-kpi-head strong{
        font-size:39px;
    }
    .v67-kpi-head b{
        font-size:23px;
    }
    .v67-kpi-details{
        gap:9px;
    }
    .v67-kpi-details strong{
        font-size:13.5px;
    }
}

/* If there is not enough room, stack the KPI cards instead of crushing them */
@media(max-width:1180px){
    .v67-hero-top{
        grid-template-columns:1fr;
    }
    .v67-kpis{
        grid-template-columns:1fr;
    }
    .v67-live{
        text-align:left;
    }
    .v67-kpi{
        min-height:auto;
    }
    .v67-kpi-details{
        grid-template-columns:repeat(3,minmax(130px,1fr));
    }
    .v67-quickstats{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:650px){
    .v67-kpi-details{
        grid-template-columns:1fr;
    }
    .v67-quickstats{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   DL7AG WSPR LIVE v6.8 – PROPAGATION ARCS
   ========================================================= */

.globe-path-note{
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    margin:5px 10px 10px;
    padding:7px 10px 0;
    border-top:1px solid rgba(255,255,255,.055);
    color:#819aaa;
    font-size:10px!important;
    line-height:1.35;
}
.globe-path-note span:first-child{
    color:#b9cbd5;
    font-weight:800;
}
.globe-path-note span:last-child{
    color:#e7b84a;
    font-weight:800;
}

/* =========================================================
   DL7AG WSPR LIVE v6.8.1 – CLARITY FIX
   ========================================================= */
.globe-path-note{
    font-size:9.5px!important;
    opacity:.86;
}

/* =========================================================
   DL7AG WSPR LIVE v6.8.3 – SAFE CLARITY FIX
   ========================================================= */
#wspr-globe canvas{
    filter:none!important;
    image-rendering:auto!important;
}
.globe-path-note{
    opacity:.74;
}

/* =========================================================
   DL7AG WSPR LIVE v6.9 – VISUAL CLEANUP
   ========================================================= */
.globe-path-note{
    opacity:.68;
}

/* =========================================================
   DL7AG WSPR LIVE v7.0 – MAPLIBRE GLOBE
   ========================================================= */

.v70-globe-card{
    overflow:hidden;
}
.v70-globe-status{
    display:flex;
    align-items:center;
    gap:7px;
    color:#9bb0bd;
    font-size:10px;
    font-weight:800;
}
.v70-live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#6ce849;
}
.v70-globe-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-top:1px solid rgba(255,255,255,.045);
    border-bottom:1px solid rgba(255,255,255,.045);
}
.v70-globe-toolbar button,
.v70-globe-toolbar span{
    min-height:30px;
    padding:6px 9px;
    border:1px solid #28495f;
    border-radius:7px;
    background:#071722;
    color:#a8bcc8;
    font-size:10px;
    font-weight:800;
}
.v70-globe-toolbar button{
    cursor:pointer;
}
.v70-globe-toolbar button:hover{
    color:#edf7fb;
    border-color:#39708f;
}
.v70-globe-wrap{
    position:relative;
    height:560px;
    background:#020811;
}
.v70-maplibre-globe{
    position:absolute;
    inset:0;
}
.v70-maplibre-globe .maplibregl-canvas{
    outline:none;
}
.v70-maplibre-globe .maplibregl-ctrl-attrib{
    background:rgba(2,8,17,.72);
    color:#91a7b5;
    font-size:9px;
}
.v70-maplibre-globe .maplibregl-ctrl-attrib a{
    color:#aac0cd;
}
.v70-globe-overlay{
    position:absolute;
    z-index:4;
    top:12px;
    padding:9px 11px;
    border:1px solid rgba(54,103,132,.38);
    border-radius:9px;
    background:rgba(2,12,20,.78);
    backdrop-filter:blur(5px);
    pointer-events:none;
}
.v70-globe-overlay-left{left:12px}
.v70-globe-overlay-right{right:12px;text-align:right}
.v70-globe-overlay small{
    display:block;
    color:#7893a5;
    font-size:9px;
    font-weight:800;
}
.v70-globe-overlay strong{
    display:block;
    margin-top:3px;
    color:#eef8fc;
    font-size:18px;
}
.v70-globe-overlay span{
    display:block;
    margin-top:2px;
    color:#5fd9f5;
    font-size:10px;
    font-weight:700;
}
.v70-path-note{
    justify-content:space-between;
}
@media(max-width:900px){
    .v70-globe-wrap{height:460px}
}

/* =========================================================
   DL7AG WSPR LIVE v7.0.1 – MAPLIBRE START FIX
   ========================================================= */
#v70-globe-status{
    color:#9fc0d0;
    font-weight:900;
}
.v70-maplibre-globe{
    min-height:560px;
}

/* =========================================================
   DL7AG WSPR LIVE v7.1 – GLOBE VISIBILITY
   ========================================================= */
.v70-maplibre-globe .maplibregl-popup-content{
    background:#07131d;
    color:#dceaf1;
    border:1px solid #315a72;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,.38);
    font-size:11px;
    line-height:1.45;
}
.v70-maplibre-globe .maplibregl-popup-tip{
    border-top-color:#07131d!important;
    border-bottom-color:#07131d!important;
}

/* =========================================================
   DL7AG WSPR LIVE v7.2 – ZOOM LABELS
   ========================================================= */
.v70-path-note::after{
    content:"Zoom 1–3: Punkte · Zoom 3–5: Rufzeichen · Zoom >5: Rufzeichen + SNR + Distanz";
    display:block;
    width:100%;
    margin-top:4px;
    color:#7e98a8;
    font-size:9px;
    font-weight:700;
}

/* =========================================================
   DL7AG WSPR LIVE v7.2.1 – HTML LABELS
   ========================================================= */
.v721-endpoint-label{
    pointer-events:none;
    transform:translateY(2px);
    padding:2px 4px;
    border-radius:4px;
    background:rgba(2,8,17,.76);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 1px 5px rgba(0,0,0,.28);
    white-space:nowrap;
    text-align:center;
}
.v721-endpoint-label strong{
    display:block;
    color:#f2f8fb;
    font-size:10px!important;
    font-weight:900;
    line-height:1.05;
    text-shadow:0 1px 2px #000;
}
.v721-endpoint-label span{
    display:block;
    margin-top:2px;
    color:#a9beca;
    font-size:8.5px!important;
    font-weight:700;
    line-height:1.05;
}

/* =========================================================
   DL7AG WSPR LIVE v8.0 – MAIN MAP REBUILD
   ========================================================= */

.v80-mainmap-card{
    overflow:hidden;
    background:#06111b!important;
}
.v80-mainmap-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:10px 12px;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.v80-mainmap-title{
    display:flex;
    align-items:center;
    gap:7px;
}
.v80-mainmap-title strong{
    color:#ecf7fb;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
}
.v80-mainmap-title small{
    color:#7d98a9;
    font-size:9px;
    font-weight:700;
}
.v80-live-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#70e84e;
}
.v80-mainmap-modes{
    display:flex;
    gap:5px;
}
.v80-mainmap-modes button{
    min-height:29px;
    padding:5px 9px;
    border:1px solid #294d64;
    border-radius:7px;
    background:#071722;
    color:#9db2bf;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.v80-mainmap-modes button.active{
    color:#f1fbff;
    border-color:#49a9c9;
    background:#0a2838;
}
.v80-mainmap-wrap{
    position:relative;
    height:610px;
    background:#020910;
}
.v80-mainmap{
    position:absolute;
    inset:0;
}
.v80-mainmap .maplibregl-canvas{
    outline:none;
}
.v80-mainmap .maplibregl-ctrl-attrib{
    background:rgba(2,8,17,.72);
    color:#7891a1;
    font-size:8px;
}
.v80-snr-legend{
    position:absolute;
    z-index:5;
    left:12px;
    bottom:14px;
    display:grid;
    gap:5px;
    padding:11px 12px;
    min-width:125px;
    border:1px solid rgba(54,98,123,.45);
    border-radius:9px;
    background:rgba(2,11,18,.82);
    backdrop-filter:blur(5px);
}
.v80-snr-legend strong{
    color:#eef8fb;
    font-size:10px;
    margin-bottom:3px;
}
.v80-snr-legend span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#b7c7cf;
    font-size:9px;
}
.v80-snr-legend i{
    width:8px;
    height:8px;
    border-radius:50%;
}
.v80-map-status{
    position:absolute;
    z-index:5;
    top:12px;
    padding:8px 10px;
    border:1px solid rgba(54,98,123,.42);
    border-radius:8px;
    background:rgba(2,11,18,.78);
    pointer-events:none;
}
.v80-map-status-left{left:54px}
.v80-map-status-right{right:12px;text-align:right}
.v80-map-status small{
    display:block;
    color:#7991a1;
    font-size:8px;
    font-weight:800;
}
.v80-map-status strong{
    display:block;
    margin-top:2px;
    color:#edf7fb;
    font-size:14px;
}
.v80-map-status span{
    display:block;
    margin-top:2px;
    color:#58d4f2;
    font-size:8.5px;
    font-weight:700;
}
.v80-mainmap-foot{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px 12px;
    padding:8px 11px;
    border-top:1px solid rgba(255,255,255,.055);
    color:#7d95a5;
    font-size:8.5px;
}
.v80-mainmap-foot span:last-child{
    color:#d8ae4c;
    font-weight:800;
}

.v80-mainmap .maplibregl-popup-content{
    background:#07131d;
    color:#dceaf1;
    border:1px solid #315a72;
    border-radius:8px;
    font-size:11px;
    line-height:1.45;
}

@media(max-width:900px){
    .v80-mainmap-wrap{height:480px}
    .v80-mainmap-head{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   DL7AG WSPR LIVE v8.1 – MAIN MAP LIVE INTELLIGENCE
   ========================================================= */

.v81-band-legend{
    position:absolute;
    z-index:5;
    left:12px;
    bottom:14px;
    display:grid;
    gap:5px;
    padding:11px 12px;
    min-width:105px;
    border:1px solid rgba(54,98,123,.45);
    border-radius:9px;
    background:rgba(2,11,18,.84);
    backdrop-filter:blur(5px);
}
.v81-band-legend strong{
    color:#eef8fb;
    font-size:10px;
    margin-bottom:3px;
}
.v81-band-legend span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#b7c7cf;
    font-size:9px;
}
.v81-band-legend i{
    width:8px;
    height:8px;
    border-radius:50%;
    flex:0 0 8px;
}

.v81-live-summary{
    position:absolute;
    z-index:5;
    top:12px;
    right:12px;
    width:156px;
    padding:10px 11px;
    border:1px solid rgba(54,98,123,.46);
    border-radius:9px;
    background:rgba(2,11,18,.86);
    text-align:right;
    pointer-events:none;
}
.v81-live-summary>small{
    color:#74e64b;
    font-size:9px;
    font-weight:900;
}
.v81-live-summary>strong{
    display:block;
    margin-top:3px;
    color:#f1f8fb;
    font-size:19px;
}
.v81-live-summary>span{
    display:block;
    margin-top:3px;
    color:#58d4f2;
    font-size:9px;
    font-weight:700;
}
.v81-countdown-label{
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#839baa;
    font-size:8px;
    font-weight:850;
}
.v81-countdown{
    margin-top:3px;
    color:#72e64b;
    font-size:24px;
    font-weight:900;
    letter-spacing:.02em;
}
.v81-last-update{
    margin-top:4px;
    color:#8199a9;
    font-size:8px;
}
.v81-last-update b{
    color:#bcd0da;
}

.v81-map-label{
    pointer-events:none;
    min-width:0;
    padding:2px 4px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:4px;
    background:rgba(2,8,17,.78);
    box-shadow:0 1px 4px rgba(0,0,0,.28);
    text-align:center;
    white-space:nowrap;
}
.v81-map-label strong{
    display:block;
    font-size:10px!important;
    font-weight:900;
    line-height:1.05;
    text-shadow:0 1px 2px #000;
}
.v81-map-label span{
    display:block;
    margin-top:2px;
    color:#b3c6d0;
    font-size:8px!important;
    font-weight:700;
    line-height:1.05;
}

/* Old SNR legend is no longer used in V8.1 */
.v80-snr-legend{
    display:none!important;
}

/* =========================================================
   DL7AG WSPR LIVE v8.2 – SHARED SPOT WINDOW
   ========================================================= */
.v80-mainmap-head{
    flex-wrap:wrap;
}
.v82-window-select{
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:auto;
}
.v82-window-select>span{
    margin-right:2px;
    color:#768f9f;
    font-size:8px;
    font-weight:900;
    letter-spacing:.05em;
}
.v82-window-select button{
    min-width:34px;
    min-height:27px;
    padding:4px 6px;
    border:1px solid #294d64;
    border-radius:6px;
    background:#071722;
    color:#8fa6b4;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.v82-window-select button.active{
    color:#f3fbff;
    border-color:#52bad8;
    background:#0b2b3c;
    box-shadow:inset 0 0 0 1px rgba(82,186,216,.12);
}

/* =========================================================
   DL7AG WSPR LIVE v8.3 – UNIFIED MAPS UI
   ========================================================= */

.v83-window-select{
    display:flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
}
.v83-window-select span{
    color:#7891a1;
    font-size:8px;
    font-weight:900;
    letter-spacing:.05em;
}
.v83-window-select select{
    min-height:29px;
    padding:5px 28px 5px 9px;
    border:1px solid #4f7b42;
    border-radius:7px;
    background:#0a2118;
    color:#e8f7eb;
    font-size:9px;
    font-weight:900;
    outline:none;
}

.v83-map-footer{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    align-items:center;
    gap:0;
    border-top:1px solid rgba(255,255,255,.06);
    background:#06111b;
}
.v83-map-footer>div{
    min-height:58px;
    padding:9px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.06);
}
.v83-map-footer>div:last-child{border-right:0}
.v83-map-footer small{
    color:#7e96a5;
    font-size:8px;
    font-weight:850;
}
.v83-map-footer strong{
    margin-top:3px;
    color:#dceaf0;
    font-size:14px;
}
.v83-live-state{
    color:#75e64b;
    font-size:10px;
    font-weight:900;
}
.v83-map-footer #v83-main-countdown,
.v83-map-footer #v83-globe-countdown{
    color:#74e64b;
    font-size:19px;
}

.v83-globe-footer{
    margin-top:0;
}

.v83-window-explainer{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin:12px 0 16px;
    padding:12px 14px;
    border:1px solid #24485f;
    border-radius:11px;
    background:#07131d;
}
.v83-info-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    flex:0 0 27px;
    border-radius:50%;
    border:1px solid #3d87a7;
    color:#59d7f4;
    font-size:15px;
    font-weight:900;
}
.v83-window-explainer strong{
    color:#eef8fb;
    font-size:11px;
}
.v83-window-explainer p{
    margin:4px 0 0;
    color:#9db2bf;
    font-size:10px;
    line-height:1.45;
}

@media(max-width:1100px){
    .v83-window-select{order:3;width:100%;justify-content:flex-end}
    .v83-map-footer{grid-template-columns:1fr}
    .v83-map-footer>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}
    .v83-map-footer>div:last-child{border-bottom:0}
}

/* =========================================================
   DL7AG WSPR LIVE v8.4 – MAP MODES FIX
   ========================================================= */
.v80-mainmap-modes button[data-v80-mode="heatmap"].active{
    color:#eaffea!important;
    border-color:#51c743!important;
    background:#123b18!important;
    box-shadow:0 0 12px rgba(81,199,67,.22);
}
.v80-mainmap-modes button[data-v80-mode="greyline"].active{
    color:#e8f7ff!important;
    border-color:#61bfe8!important;
    background:#0c2a3a!important;
    box-shadow:0 0 12px rgba(97,191,232,.18);
}
#v83-main-countdown,
#v83-globe-countdown{
    font-variant-numeric:tabular-nums;
}

/* =========================================================
   DL7AG WSPR LIVE v8.5 – STATION TABLE
   ========================================================= */

.v85-stations{
    margin:14px 0 18px;
    overflow:hidden;
}
.v85-stations-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    padding:16px 17px 13px;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.v85-stations-head h2{
    margin:0;
    color:#eef8fb;
    font-size:17px;
    font-weight:900;
}
.v85-stations-head h2 span{
    color:#829aa9;
    font-weight:600;
}
.v85-stations-head p{
    margin:5px 0 0;
    color:#869eac;
    font-size:10px;
}
.v85-stations-controls{
    display:grid;
    grid-template-columns:auto 128px auto 210px;
    align-items:center;
    gap:7px;
}
.v85-stations-controls label{
    color:#728a99;
    font-size:8px;
    font-weight:900;
    letter-spacing:.05em;
}
.v85-stations-controls select,
.v85-stations-controls input{
    height:31px;
    border:1px solid #294b61;
    border-radius:7px;
    background:#071722;
    color:#dcebf2;
    font-size:10px;
    font-weight:700;
    outline:none;
}
.v85-stations-controls select{
    padding:0 8px;
}
.v85-stations-controls input{
    padding:0 10px;
}
.v85-stations-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-bottom:1px solid rgba(255,255,255,.055);
}
.v85-stations-summary>div{
    padding:11px 16px;
    border-right:1px solid rgba(255,255,255,.055);
}
.v85-stations-summary>div:last-child{border-right:0}
.v85-stations-summary small{
    display:block;
    color:#728b9b;
    font-size:8px;
    font-weight:900;
}
.v85-stations-summary strong{
    display:block;
    margin-top:4px;
    color:#eef8fb;
    font-size:18px;
    font-weight:900;
}
.v85-stations-table-wrap{
    max-height:560px;
    overflow:auto;
}
.v85-stations-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}
.v85-stations-table thead{
    position:sticky;
    top:0;
    z-index:2;
    background:#081722;
}
.v85-stations-table th{
    padding:10px 12px;
    border-bottom:1px solid #234459;
    color:#8099a9;
    font-size:8px;
    font-weight:900;
    letter-spacing:.045em;
    text-align:left;
}
.v85-stations-table td{
    padding:9px 12px;
    border-bottom:1px solid rgba(255,255,255,.045);
    color:#c4d3db;
    font-size:10px;
    line-height:1.2;
}
.v85-stations-table tbody tr:hover{
    background:rgba(71,184,224,.055);
}
.v85-stations-table th:nth-child(1),
.v85-stations-table td:nth-child(1){width:42px}
.v85-stations-table th:nth-child(2),
.v85-stations-table td:nth-child(2){width:145px}
.v85-stations-table th:nth-child(3),
.v85-stations-table td:nth-child(3){width:190px}
.v85-stations-table th:nth-child(4),
.v85-stations-table td:nth-child(4){width:82px}
.v85-stations-table th:nth-child(5),
.v85-stations-table td:nth-child(5){width:82px}
.v85-stations-table th:nth-child(6),
.v85-stations-table td:nth-child(6){width:110px}
.v85-stations-table th:nth-child(7),
.v85-stations-table td:nth-child(7){width:90px}
.v85-stations-table th:nth-child(8),
.v85-stations-table td:nth-child(8){width:100px}

.v85-rank{
    color:#617988!important;
}
.v85-call{
    color:#f2f8fb!important;
    font-weight:900;
}
.v85-band-dot{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:7px;
    border-radius:50%;
    vertical-align:1px;
}
.v85-band{
    font-weight:900;
}
.v85-loading{
    padding:25px!important;
    color:#788f9e!important;
    text-align:center!important;
}
.v85-stations-foot{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:9px 14px;
    border-top:1px solid rgba(255,255,255,.05);
    color:#79909f;
    font-size:8.5px;
}
.v85-stations-foot span:last-child{
    color:#68d8f1;
    font-weight:900;
}

@media(max-width:900px){
    .v85-stations-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .v85-stations-controls{
        width:100%;
        grid-template-columns:auto 1fr;
    }
    .v85-stations-summary{
        grid-template-columns:repeat(2,1fr);
    }
}

/* =========================================================
   DL7AG WSPR LIVE v8.6 – PROPAGATION ACTIVITY MATRIX
   ========================================================= */

.v86-matrix-card{
    padding:0!important;
    overflow:hidden;
}
.v86-matrix-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:17px 18px 13px;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.v86-matrix-head h2{
    margin:0;
    color:#eef8fb;
    font-size:18px;
    font-weight:900;
}
.v86-matrix-head h2 span{
    color:#839aaa;
    font-weight:500;
}
.v86-matrix-head p{
    margin:5px 0 0;
    color:#7e96a5;
    font-size:9px;
}
.v86-matrix-live{
    display:flex;
    align-items:center;
    gap:7px;
    color:#74e64b;
    font-size:10px;
}
.v86-live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#74e64b;
    box-shadow:0 0 8px rgba(116,230,75,.55);
}
.v86-matrix-wrap{
    position:relative;
    padding:12px 16px 15px;
    background:#06111b;
}
.v86-matrix-axis{
    display:grid;
    grid-template-columns:105px 1fr;
    gap:8px;
    margin-bottom:6px;
}
.v86-axis-time{
    display:flex;
    justify-content:space-between;
    color:#687f8e;
    font-size:8px;
    padding:0 2px;
}
.v86-matrix-grid{
    display:grid;
    gap:5px;
}
.v86-matrix-row{
    display:grid;
    grid-template-columns:105px 1fr;
    gap:8px;
    align-items:center;
}
.v86-band-label{
    display:grid;
    grid-template-columns:10px 1fr;
    grid-template-areas:
      "dot band"
      ". spots";
    column-gap:6px;
    align-items:center;
}
.v86-band-dot{
    grid-area:dot;
    width:8px;
    height:8px;
    border-radius:50%;
}
.v86-band-label strong{
    grid-area:band;
    color:#eef8fb;
    font-size:10px;
}
.v86-band-label small{
    grid-area:spots;
    color:#6f8796;
    font-size:7.5px;
}
.v86-cells{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:4px;
}
.v86-matrix-cell{
    height:34px;
    padding:0;
    border:1px solid rgba(255,255,255,.055);
    border-radius:5px;
    cursor:pointer;
    outline:none;
    transition:transform .08s ease,border-color .08s ease;
}
.v86-matrix-cell:hover,
.v86-matrix-cell:focus{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.45);
}
.v86-matrix-tooltip{
    position:absolute;
    z-index:10;
    width:190px;
    padding:9px 10px;
    border:1px solid #315a72;
    border-radius:8px;
    background:rgba(3,13,21,.96);
    box-shadow:0 10px 28px rgba(0,0,0,.38);
    color:#d8e7ee;
    pointer-events:none;
}
.v86-matrix-tooltip strong,
.v86-matrix-tooltip b,
.v86-matrix-tooltip span{
    display:block;
}
.v86-matrix-tooltip strong{
    color:#fff;
    font-size:12px;
}
.v86-matrix-tooltip b{
    margin-top:5px;
    color:#62dfff;
    font-size:13px;
}
.v86-matrix-tooltip span{
    margin-top:3px;
    color:#9db1bd;
    font-size:8.5px;
}
.v86-matrix-loading{
    padding:60px 0;
    color:#748b99;
    text-align:center;
    font-size:10px;
}
.v86-matrix-foot{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:18px;
    align-items:center;
    padding:12px 16px 14px;
    border-top:1px solid rgba(255,255,255,.055);
}
.v86-gradient-legend{
    display:flex;
    align-items:center;
    gap:9px;
    color:#758d9c;
    font-size:8.5px;
}
.v86-gradient-legend i{
    flex:1;
    height:8px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        #375fdc 0%,
        #2dc3df 24%,
        #4bdb7d 48%,
        #dce64a 68%,
        #ffae37 84%,
        #ff4e37 100%
    );
}
.v86-matrix-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid rgba(255,255,255,.055);
    border-radius:8px;
    overflow:hidden;
}
.v86-matrix-summary>div{
    padding:9px 11px;
    border-right:1px solid rgba(255,255,255,.055);
}
.v86-matrix-summary>div:last-child{border-right:0}
.v86-matrix-summary small{
    display:block;
    color:#708897;
    font-size:7.5px;
    font-weight:850;
}
.v86-matrix-summary strong{
    display:block;
    margin-top:4px;
    color:#eaf6fa;
    font-size:11px;
}

@media(max-width:900px){
    .v86-matrix-head{flex-direction:column}
    .v86-matrix-axis,
    .v86-matrix-row{grid-template-columns:82px 1fr}
    .v86-cells{gap:2px}
    .v86-matrix-cell{height:28px}
    .v86-matrix-foot{grid-template-columns:1fr}
    .v86-matrix-summary{grid-template-columns:1fr}
    .v86-matrix-summary>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}
    .v86-matrix-summary>div:last-child{border-bottom:0}
}

/* =========================================================
   DL7AG WSPR LIVE v8.7 – KP 48H CHART
   ========================================================= */
.v87-kp-panel{margin-top:12px;overflow:hidden}
.v87-kp-head{display:flex;justify-content:space-between;gap:14px;padding:15px 16px 11px;border-bottom:1px solid rgba(255,255,255,.055)}
.v87-kp-head h2{margin:0;color:#eef8fb;font-size:17px;font-weight:900}
.v87-kp-head h2 span{color:#839aaa;font-weight:500}
.v87-kp-head p{margin:4px 0 0;color:#7d94a3;font-size:9px}
.v87-kp-live{display:flex;align-items:center;gap:6px;color:#74e64b;font-size:9px;font-weight:900}
.v87-kp-live i{width:7px;height:7px;border-radius:50%;background:#74e64b;box-shadow:0 0 8px rgba(116,230,75,.55)}
.v87-kp-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.055)}
.v87-kp-stats>div{padding:10px 13px;border-right:1px solid rgba(255,255,255,.055)}
.v87-kp-stats>div:last-child{border-right:0}
.v87-kp-stats small{display:block;color:#738b9a;font-size:7.5px;font-weight:900}
.v87-kp-stats strong{display:block;margin-top:4px;color:#eef8fb;font-size:16px;font-weight:900}
.v87-kp-chart-wrap{padding:10px 14px 8px;background:#06111b}
#v87-kp-chart{display:block;width:100%;height:310px}
.v87-kp-zones{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:5px;padding:0 3px;color:#8299a7;font-size:8px}
.v87-kp-zones span{display:flex;align-items:center;gap:5px}
.v87-kp-zones i{width:8px;height:8px;border-radius:50%}
.v87-kp-zones .z1{background:#72e64b}.v87-kp-zones .z2{background:#e5d84b}.v87-kp-zones .z3{background:#ff9d36}.v87-kp-zones .z4{background:#ff5757}
.v87-kp-foot{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid rgba(255,255,255,.055);color:#8098a7;font-size:8.5px}
.v87-kp-foot span:first-child{color:#b7c8d0}.v87-kp-foot span:last-child{color:#66d9f3;font-weight:900}
@media(max-width:900px){.v87-kp-stats{grid-template-columns:repeat(2,1fr)}#v87-kp-chart{height:260px}}

/* =========================================================
   DL7AG WSPR LIVE v8.8 – LIVE POLISH
   ========================================================= */

/* Table quick filters */
.v88-table-filters{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:10px 16px;
    border-bottom:1px solid rgba(255,255,255,.05);
}
.v88-table-filters button{
    min-height:28px;
    padding:4px 10px;
    border:1px solid #294b61;
    border-radius:999px;
    background:#071722;
    color:#8fa7b5;
    font-size:8.5px;
    font-weight:850;
    cursor:pointer;
}
.v88-table-filters button.active{
    color:#eff9fc;
    border-color:#48b6d8;
    background:#0a2b3b;
}
.v88-band-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    padding:3px 7px;
    border:1px solid color-mix(in srgb,var(--band) 60%,transparent);
    border-radius:999px;
    color:var(--band);
    background:color-mix(in srgb,var(--band) 10%,transparent);
    font-weight:900;
}
.v88-snr{
    display:inline-block;
    min-width:52px;
    font-weight:900;
}
.v88-snr.good{color:#75e64b}
.v88-snr.mid{color:#ffd84c}
.v88-snr.weak{color:#ff8e5d}
.v88-age{
    color:#8199a8;
    font-size:8.5px;
}
.v88-age.fresh{
    color:#76e64b;
    font-weight:900;
}
.v88-dx-row{
    background:linear-gradient(90deg,rgba(255,176,48,.045),transparent 34%);
}
.v88-fresh-row td:first-child{
    box-shadow:inset 2px 0 0 #75e64b;
}
.v88-sortable{
    cursor:pointer;
    user-select:none;
}
.v88-sortable:hover{
    color:#dceef5!important;
}

/* New spot pulse should stay subtle */
.v80-mainmap .maplibregl-marker .v81-map-label{
    transition:opacity .12s ease,transform .12s ease;
}

/* Station table full width */
.v85-stations{
    width:100%;
}
.v85-stations-table-wrap{
    max-height:none!important;
    overflow:auto;
}
.v85-stations-table{
    table-layout:auto!important;
}
.v85-stations-table th,
.v85-stations-table td{
    white-space:nowrap;
}
.v85-stations-table th:nth-child(n),
.v85-stations-table td:nth-child(n){
    width:auto!important;
}

.v89-reset-filter{
    opacity:.82;
}
.v89-reset-filter:hover{
    opacity:1;
}

.v89-direction{
    color:#b9ccd5;
    font-weight:800;
}
.v89-quality{
    width:118px;
    height:8px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:#071018;
}
.v89-quality span{
    display:block;
    height:100%;
    border-radius:999px;
}
.v89-quality span.good{background:#75e64b}
.v89-quality span.mid{background:#ffd84c}
.v89-quality span.weak{background:#ff9655}

.v89-table-foot{
    align-items:center;
}
.v89-pagination{
    display:flex;
    align-items:center;
    gap:5px;
}
.v89-pagination button{
    min-width:28px;
    height:28px;
    padding:0 8px;
    border:1px solid #294b61;
    border-radius:6px;
    background:#071722;
    color:#9cb1bd;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.v89-pagination button.active{
    color:#effaff;
    border-color:#49b6d8;
    background:#0a2b3c;
}
.v89-pagination button:disabled{
    opacity:.38;
    cursor:default;
}
.v89-pagination span{
    color:#6f8796;
    padding:0 3px;
}



/* =========================================================
   DL7AG WSPR LIVE v9.1 – RESTORED ORIGINAL LAYOUT
   Only functional polish; no page-block repositioning.
   ========================================================= */

/* Main map reporter points: always clearly visible in band colors */
.v80-mainmap .maplibregl-canvas{
    image-rendering:auto;
}

/* Table uses the available content width cleanly */
.v85-stations{
    width:100%;
}
.v85-stations-table-wrap{
    max-height:none!important;
    overflow:auto;
}
.v85-stations-table{
    width:100%;
    table-layout:auto!important;
}
.v85-stations-table th,
.v85-stations-table td{
    white-space:nowrap;
}

/* =========================================================
   DL7AG WSPR LIVE v9.3 – GLOBE LIVE DETAILS
   ========================================================= */
.v93-globe-details{
    margin-top:12px;
    border:1px solid #24485f;
    border-radius:12px;
    background:#06111b;
    overflow:hidden;
}
.v93-globe-details-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    padding:13px 14px 10px;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.v93-globe-details-head h3{
    margin:0;
    color:#eef8fb;
    font-size:14px;
    font-weight:900;
}
.v93-globe-details-head p{
    margin:3px 0 0;
    color:#7d96a5;
    font-size:8.5px;
}
.v93-globe-live{
    display:flex;
    align-items:center;
    gap:6px;
    color:#75e64b;
    font-size:9px;
    font-weight:900;
}
.v93-globe-live i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#75e64b;
    box-shadow:0 0 8px rgba(117,230,75,.55);
}
.v93-globe-content{
    min-height:230px;
    padding:8px 10px 10px;
}
.v93-globe-recent{
    display:grid;
    gap:5px;
}
.v93-recent-row{
    display:grid;
    grid-template-columns:10px 72px minmax(120px,1fr) 48px 58px 82px 68px;
    gap:7px;
    align-items:center;
    min-height:34px;
    padding:6px 8px;
    border:1px solid rgba(255,255,255,.045);
    border-radius:7px;
    background:#071722;
    color:#b9cbd4;
    font-size:8.5px;
    text-align:left;
    cursor:pointer;
}
.v93-recent-row:hover{
    border-color:#315a72;
    background:#09202e;
}
.v93-recent-row strong{
    color:#eef8fb;
    font-size:9.5px;
}
.v93-dot{
    width:7px;
    height:7px;
    border-radius:50%;
}
.v93-band{
    font-weight:900;
}
.v93-age{
    color:#75e64b;
    font-weight:800;
    text-align:right;
}
.v93-globe-empty{
    padding:70px 10px;
    color:#748b99;
    text-align:center;
    font-size:9px;
}

.v93-station-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    padding:6px 4px 10px;
}
.v93-station-top strong{
    display:block;
    color:#eef8fb;
    font-size:24px;
    line-height:1;
}
.v93-station-top span{
    display:block;
    margin-top:4px;
    color:#92a8b5;
    font-size:9.5px;
}
#v93-close-detail{
    width:28px;
    height:28px;
    border:1px solid #294b61;
    border-radius:7px;
    background:#071722;
    color:#9cb1bd;
    font-size:18px;
    cursor:pointer;
}
.v93-station-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid rgba(255,255,255,.055);
    border-radius:8px;
    overflow:hidden;
}
.v93-station-grid>div{
    padding:11px 12px;
    border-right:1px solid rgba(255,255,255,.055);
    border-bottom:1px solid rgba(255,255,255,.055);
}
.v93-station-grid>div:nth-child(3n){border-right:0}
.v93-station-grid>div:nth-last-child(-n+3){border-bottom:0}
.v93-station-grid small{
    display:block;
    color:#708897;
    font-size:7.5px;
    font-weight:900;
}
.v93-station-grid strong{
    display:block;
    margin-top:4px;
    color:#edf7fb;
    font-size:13px;
}

@media(max-width:900px){
    .v93-recent-row{
        grid-template-columns:10px 70px 1fr 45px;
    }
    .v93-recent-row span:nth-of-type(n+4){
        display:none;
    }
    .v93-station-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .v93-station-grid>div:nth-child(3n){border-right:1px solid rgba(255,255,255,.055)}
    .v93-station-grid>div:nth-child(2n){border-right:0}
    .v93-station-grid>div:nth-last-child(-n+3){border-bottom:1px solid rgba(255,255,255,.055)}
    .v93-station-grid>div:nth-last-child(-n+2){border-bottom:0}
}
