/* KLEN_LIVE_R41B */
:root{color-scheme:dark;--bg:#07111f;--panel:rgba(8,18,33,.93);--line:rgba(148,180,218,.17);--text:#eef6ff;--muted:#8ea4bb;--blue:#2f7df4;--cyan:#58d7ff;--red:#ff5b63;--orange:#ff9e45;--yellow:#ffd45c;--purple:#ae85ff;--green:#54e3a5;--gray:#7f90a4}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}button,input{font:inherit}button{color:inherit}.live-app{width:100%;height:100%;background:var(--bg)}
.live-header{position:fixed;inset:0 0 auto 0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:max(10px,env(safe-area-inset-top)) 18px 10px;background:linear-gradient(180deg,rgba(5,12,23,.98),rgba(5,12,23,.88));border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.live-brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.live-brand-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(88,215,255,.38);border-radius:11px;background:linear-gradient(145deg,#173553,#0a1729);font-weight:900}.live-brand-copy{display:grid;line-height:1.04}.live-brand-copy strong{font-size:14px;letter-spacing:.08em}.live-brand-copy small{margin-top:5px;color:var(--muted);font-size:10px}.live-status-strip{display:flex;align-items:center;gap:8px;font-size:11px;color:#b9c9d9}.live-badge,.engine-badge{padding:5px 8px;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.07em}.live-badge-demo{background:rgba(255,158,69,.13);border:1px solid rgba(255,158,69,.32);color:#ffc18a}.engine-badge{border:1px solid rgba(84,227,165,.24);color:#9ef1ca;background:rgba(84,227,165,.07)}.live-feed-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.025)}.live-feed-status i,.timeline-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px rgba(84,227,165,.72);animation:livePulse 1.8s infinite}.live-clock{min-width:64px;font-variant-numeric:tabular-nums;text-align:right;color:#e6f0fb}
.live-stage{position:fixed;inset:64px 0 0}.live-map{position:absolute;inset:0;background:#091321}.live-map:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 48%,rgba(3,8,16,.22) 100%)}.maplibregl-ctrl-bottom-right{bottom:58px!important;right:14px!important}.maplibregl-ctrl-group{background:rgba(8,18,33,.9)!important;border:1px solid var(--line);box-shadow:0 6px 24px rgba(0,0,0,.28)!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1);opacity:.84}.maplibregl-ctrl-attrib{background:rgba(5,12,23,.76)!important;color:#91a7bd!important}.maplibregl-ctrl-attrib a{color:#bdd0e4!important}
.live-summary{position:absolute;z-index:12;top:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;max-width:calc(100vw - 660px);overflow-x:auto;scrollbar-width:none;padding:2px}.live-summary::-webkit-scrollbar{display:none}.summary-chip{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(7,16,29,.84);backdrop-filter:blur(14px);cursor:pointer;transition:.18s ease}.summary-chip span{color:#9fb2c7;font-size:9px;font-weight:800;letter-spacing:.08em}.summary-chip strong{min-width:20px;color:#f4f9ff;font-size:12px}.summary-chip:hover,.summary-chip.is-active{border-color:rgba(88,215,255,.42);background:rgba(17,40,65,.94);transform:translateY(-1px)}
.live-panel{position:absolute;z-index:14;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(0,0,0,.30)}.live-panel-left{top:16px;left:16px;width:288px;border-radius:14px;padding:15px;max-height:calc(100vh - 155px);overflow:auto}.live-panel-detail{top:16px;right:16px;width:302px;border-radius:14px;padding:15px;transform:translateX(calc(100% + 30px));opacity:0;pointer-events:none;transition:.22s ease}.live-panel-detail.is-open{transform:translateX(0);opacity:1;pointer-events:auto}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-heading h1,.panel-heading h2{margin:4px 0 0;font-size:16px;line-height:1.2}.eyebrow{color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.14em}.panel-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);cursor:pointer}.panel-note{margin:12px 0 14px;padding:10px 11px;border-left:2px solid var(--orange);background:rgba(255,158,69,.06);color:#b8c7d6;font-size:10px;line-height:1.5}.filter-title{margin:13px 0 6px;color:#8298ae;font-size:9px;font-weight:900;letter-spacing:.10em;text-transform:uppercase}.filter-list{display:grid;gap:4px}.filter-list label{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:9px;color:#c8d5e3;font-size:10px;cursor:pointer}.filter-list label:hover{background:rgba(255,255,255,.035)}.filter-list label strong{color:#8097ae;font-size:9px}.filter-list input,.switch-row input{accent-color:var(--blue)}.filter-dot{width:9px;height:9px;border-radius:3px;box-shadow:0 0 12px currentColor}.type-shahed{background:var(--cyan);color:var(--cyan)}.type-cruise{background:var(--red);color:var(--red)}.type-ballistic{background:var(--yellow);color:var(--yellow)}.type-kab{background:var(--orange);color:var(--orange)}.type-aircraft{background:var(--purple);color:var(--purple)}.engine-controls{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.switch-row{display:flex;align-items:center;gap:8px;padding:6px 3px;color:#aebfd0;font-size:10px}.event-log-block{margin-top:10px;border-top:1px solid var(--line)}.event-log{display:grid;gap:5px;max-height:128px;overflow:auto}.event-row{display:grid;grid-template-columns:42px 1fr;gap:7px;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.025);font-size:9px;line-height:1.35}.event-row time{color:#698097;font-variant-numeric:tabular-nums}.event-row span{color:#aebed0}.event-row b{color:#dce9f6;font-weight:700}
.track-status-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:13px 0 6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.track-status-card>span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px currentColor}.track-status-card strong{font-size:10px;letter-spacing:.08em}.track-status-card small{color:#8095aa;font-size:9px}.detail-empty{margin-top:14px;color:#8ea4bb;font-size:11px;line-height:1.55}.detail-content{display:grid;gap:2px}.detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(148,180,218,.10);font-size:10px}.detail-row span{color:#8298ae}.detail-row strong{max-width:62%;text-align:right;color:#eaf3fc}.confidence-meter{height:4px;border-radius:4px;background:#1a2a3c;overflow:hidden;margin:2px 0 5px}.confidence-meter span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--yellow),var(--green));transition:width .2s}.detail-warning{margin-top:10px;padding:9px 10px;border:1px solid rgba(255,158,69,.24);border-radius:9px;color:#f1bd8e;background:rgba(255,158,69,.05);font-size:9px;line-height:1.45}
.live-target{--target:#58d7ff;position:relative;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45));border:0;background:transparent;padding:0}.live-target-core{position:relative;z-index:2;width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--target);border-radius:10px;background:rgba(5,13,24,.94);color:var(--target);box-shadow:0 0 20px rgba(88,215,255,.18);transition:opacity .2s,filter .2s}.live-target svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.5;transition:transform .08s linear}.live-target-ring{position:absolute;z-index:1;width:42px;height:42px;border:1px solid var(--target);border-radius:50%;animation:targetRing 2.2s infinite ease-out}.live-target-label{position:absolute;left:50%;top:39px;transform:translateX(-50%);padding:3px 6px;border:1px solid rgba(148,180,218,.16);border-radius:6px;background:rgba(5,12,23,.86);color:#dce8f4;font-size:8px;font-weight:800;letter-spacing:.04em;white-space:nowrap;pointer-events:none}.live-target.status-stale .live-target-core{opacity:.68;filter:saturate(.5)}.live-target.status-stale .live-target-ring{animation-duration:3.8s;opacity:.45}.live-target.status-lost .live-target-core{opacity:.38;filter:grayscale(.8)}.live-target.status-lost .live-target-ring{display:none}.target-shahed{--target:var(--cyan)}.target-cruise{--target:var(--red)}.target-ballistic{--target:var(--yellow)}.target-kab{--target:var(--orange)}.target-aircraft{--target:var(--purple)}
.live-timeline{position:absolute;z-index:13;left:50%;bottom:14px;transform:translateX(-50%);width:min(590px,calc(100vw - 660px));height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:rgba(6,14,25,.90);backdrop-filter:blur(16px);box-shadow:0 12px 38px rgba(0,0,0,.3)}.timeline-copy{display:grid;min-width:92px}.timeline-label{color:#c0d1e2;font-size:9px;font-weight:900}.timeline-copy small{margin-top:2px;color:#6f8499;font-size:7px}.timeline-track{position:relative;flex:1;height:3px;border-radius:8px;background:#203248;overflow:hidden}.timeline-track span{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan));animation:timelineSweep 4s linear infinite}.timeline-live{display:flex;align-items:center;gap:6px;color:#cceedd;font-size:9px;font-weight:900;letter-spacing:.06em}.live-mobile-actions{display:none}.mobile-only{display:none}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes targetRing{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.45);opacity:0}}@keyframes timelineSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:1020px){.live-summary{left:316px;right:12px;transform:none;max-width:none}.live-timeline{width:min(560px,calc(100vw - 40px))}}
@media(max-width:720px){.live-header{height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0}.live-stage{inset:calc(58px + env(safe-area-inset-top)) 0 0}.live-brand-copy small,.live-clock,.engine-badge{display:none}.live-status-strip{gap:5px}.live-feed-status{font-size:8px}.live-summary{top:8px;left:8px;right:8px;padding:0}.summary-chip{padding:7px 9px}.summary-chip span{font-size:8px}.live-panel-left,.live-panel-detail{position:fixed;z-index:40;top:auto;left:8px;right:8px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-height:70vh;overflow:auto;border-radius:18px;transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:.22s ease}.live-panel-left.is-open,.live-panel-detail.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-only{display:grid}.live-mobile-actions{position:absolute;z-index:16;right:10px;bottom:calc(63px + env(safe-area-inset-bottom));display:flex;gap:7px}.live-mobile-actions button{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(7,16,29,.92);box-shadow:0 8px 28px rgba(0,0,0,.28);font-size:10px;font-weight:800}.live-timeline{bottom:calc(9px + env(safe-area-inset-bottom));width:calc(100vw - 16px);height:44px}.timeline-copy{min-width:72px}.timeline-copy small{display:none}.maplibregl-ctrl-bottom-right{bottom:calc(108px + env(safe-area-inset-bottom))!important;right:8px!important}.maplibregl-ctrl-attrib{max-width:170px;font-size:8px!important}.live-target-label{display:none}}




/* =========================================================
   KLEN LIVE R41B.4 — MAPLIBRE-NATIVE RENDERER
   No HTML/DOM target markers are used.
   ========================================================= */
.live-map .maplibregl-canvas{
    outline:none;
    filter:saturate(.84) contrast(1.035);
}
.live-map .maplibregl-canvas-container{
    cursor:grab;
}
.live-map .maplibregl-canvas-container.maplibregl-interactive:active{
    cursor:grabbing;
}
.native-renderer-badge{
    padding:5px 8px;
    border:1px solid rgba(88,215,255,.24);
    border-radius:7px;
    color:#aee9ff;
    background:rgba(88,215,255,.06);
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}


/* R41D unified production additions */
.source-filter-list{display:grid;gap:6px;margin-top:8px}
.source-filter-list label{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(128,160,196,.16);border-radius:10px;background:rgba(13,28,47,.55);font-size:12px}
.source-filter-list input{accent-color:#58d7ff}
.live-badge-real{color:#9ef0c5;border-color:rgba(84,227,165,.42);background:rgba(84,227,165,.09)}
.live-feed-status.is-error i{background:#ff5b63;box-shadow:0 0 10px rgba(255,91,99,.5)}
.live-feed-status.is-stale i{background:#ffd45c;box-shadow:0 0 10px rgba(255,212,92,.5)}
.detail-warning.r41d{border-color:rgba(88,215,255,.18);background:rgba(88,215,255,.055)}
.unified-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.unified-meta span{font-size:10px;padding:4px 6px;border-radius:999px;border:1px solid rgba(142,174,208,.2);color:#9eb2c8}
.event-only-list{display:grid;gap:6px;max-height:180px;overflow:auto}
.event-only-item{border:1px solid rgba(130,163,197,.15);border-radius:9px;padding:8px;background:rgba(8,20,34,.5);font-size:11px;line-height:1.4}
.event-only-item strong{display:block;font-size:11px;margin-bottom:2px}

/* R41D.1 */
.event-only-item{cursor:default}.live-badge-real:after{content:" · R41D.1";opacity:.7;font-size:9px}

/* =========================================================
   R41D.4 — Tactical / Neptun-inspired visual language
   ========================================================= */
:root{
  --live-bg:#050b11;
  --live-panel:rgba(5,13,22,.92);
  --live-border:rgba(94,151,198,.24);
  --live-cyan:#74dcff;
}
.live-header{
  background:linear-gradient(180deg,rgba(4,11,18,.98),rgba(5,14,23,.94));
  border-bottom-color:rgba(93,163,210,.28);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
.live-brand-mark{
  border-color:rgba(83,190,255,.45)!important;
  background:linear-gradient(145deg,#112840,#07121d)!important;
  box-shadow:0 0 22px rgba(68,176,255,.13);
}
.live-panel{
  background:linear-gradient(180deg,rgba(4,12,20,.96),rgba(5,15,25,.92))!important;
  border-color:rgba(87,156,204,.22)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(16px);
}
.summary-chip{
  background:rgba(6,17,28,.92)!important;
  border-color:rgba(89,149,197,.23)!important;
  box-shadow:0 6px 22px rgba(0,0,0,.26);
}
.summary-chip.is-active{
  border-color:rgba(81,194,255,.58)!important;
  box-shadow:0 0 22px rgba(54,171,240,.15);
}
.live-timeline{
  background:linear-gradient(90deg,rgba(6,15,25,.96),rgba(7,19,31,.94))!important;
  border-color:rgba(83,153,204,.25)!important;
}
.filter-list label,.source-filter-list label,.event-only-item,.detail-row{
  border-color:rgba(102,155,196,.14)!important;
  background:rgba(9,22,35,.52)!important;
}
.panel-note{
  color:#9caec0!important;
}
.native-renderer-badge{
  border-color:rgba(85,201,255,.33)!important;
  color:#a9e8ff!important;
}
.klen-map-vignette{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(circle at 50% 46%,transparent 45%,rgba(0,0,0,.18) 78%,rgba(0,0,0,.42) 100%),
    linear-gradient(180deg,rgba(0,12,20,.05),rgba(2,8,13,.16));
  box-shadow:inset 0 0 120px rgba(0,0,0,.35);
}
.live-map{background:#050b11!important}
.maplibregl-ctrl-group{
  background:rgba(5,15,25,.92)!important;
  border:1px solid rgba(101,162,207,.22);
  box-shadow:0 8px 25px rgba(0,0,0,.32)!important;
}
.maplibregl-ctrl-group button{filter:invert(1) opacity(.75)}
.maplibregl-ctrl-attrib{background:rgba(4,10,16,.72)!important;color:#8ea0b2!important}
.maplibregl-ctrl-attrib a{color:#9ec8e5!important}
.live-summary,.live-panel,.live-timeline,.live-mobile-actions,.live-header{z-index:5!important}
@media(max-width:720px){
  .live-panel{backdrop-filter:blur(12px)}
  .native-renderer-badge{display:none}
}

/* R41D.5 */
.live-badge-real:after{content:" · R41D.5";opacity:.72;font-size:9px}
.provenance-note{font-size:10px;color:#81dfff}
.event-only-item strong{letter-spacing:.02em}

/* R41D.6 */
.live-badge-real:after{content:" · R41D.6";opacity:.72;font-size:9px}

/* R41D.6.1 */
.neptun-attribution{
  position:absolute;right:12px;bottom:48px;z-index:8;
  padding:5px 8px;border-radius:7px;
  background:rgba(4,12,20,.78);
  border:1px solid rgba(99,177,225,.22);
  color:#9edfff;text-decoration:none;font:600 10px/1.2 system-ui,sans-serif;
  backdrop-filter:blur(8px);
}
.neptun-attribution:hover{color:#d9f5ff;border-color:rgba(99,177,225,.45)}
