/* KLEN LIVE R42C.0 — VISUAL OVERHAUL */
:root{
  color-scheme:dark;
  --bg:#050708;
  --glass:rgba(7,10,13,.78);
  --glass-strong:rgba(7,10,13,.92);
  --line:rgba(255,255,255,.14);
  --text:#f4f6f8;
  --muted:#99a3ad;
  --cyan:#6be3ff;
  --green:#62e6a8;
  --red:#ff3d42;
  --yellow:#f8d66d;
  --orange:#ff9a4a;
}
*{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,.live-stage,.live-map{position:absolute;inset:0}
.live-map{background:#060708}
.live-map:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(circle at 48% 46%,transparent 45%,rgba(0,0,0,.12) 75%,rgba(0,0,0,.35) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.20));
}
.live-map .maplibregl-canvas{outline:none}
.maplibregl-ctrl-bottom-right{right:10px!important;bottom:10px!important}
.maplibregl-ctrl-group{
  background:rgba(8,10,12,.82)!important;border:1px solid var(--line)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.28)!important;backdrop-filter:blur(10px)
}
.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1);opacity:.8}
.maplibregl-ctrl-attrib{background:rgba(4,5,6,.65)!important;color:#aeb5bb!important;font-size:9px!important}
.maplibregl-ctrl-attrib a{color:#d0d6db!important}

.floating-brand{
  position:absolute;z-index:12;top:max(12px,env(safe-area-inset-top));left:12px;
  display:flex;align-items:center;gap:9px;padding:7px 10px 7px 7px;
  border:1px solid var(--line);border-radius:12px;background:var(--glass);
  color:var(--text);text-decoration:none;backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.25)
}
.floating-brand-mark{
  width:28px;height:28px;display:grid;place-items:center;border-radius:8px;
  border:1px solid rgba(107,227,255,.38);background:rgba(9,27,38,.86);
  color:#e9fbff;font-weight:900;font-size:13px
}
.floating-brand strong{font-size:11px;letter-spacing:.10em;white-space:nowrap}

.live-summary{
  position:absolute;z-index:12;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);
  display:flex;gap:6px;align-items:center;max-width:calc(100vw - 360px);overflow-x:auto;scrollbar-width:none
}
.live-summary::-webkit-scrollbar{display:none}
.summary-chip,.alert-chip{
  height:36px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  padding:0 10px;border:1px solid var(--line);border-radius:11px;
  background:var(--glass);backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(0,0,0,.20)
}
.summary-chip{cursor:pointer}
.summary-chip span,.alert-chip span{font-size:9px;font-weight:800;letter-spacing:.07em;color:#aeb8c2}
.summary-chip strong,.alert-chip b{font-size:12px;color:#fff}
.summary-chip.is-active{border-color:rgba(107,227,255,.46);background:rgba(11,31,41,.86)}
.alert-chip{border-color:rgba(255,61,66,.26)}
.alert-chip i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 12px rgba(255,61,66,.72)}
.alert-chip.is-clear i{background:#7a8792;box-shadow:none}

.map-actions{
  position:absolute;z-index:12;top:max(12px,env(safe-area-inset-top));right:12px;display:flex;gap:6px
}
.map-actions button{
  height:36px;padding:0 11px;border:1px solid var(--line);border-radius:11px;
  background:var(--glass);backdrop-filter:blur(14px);cursor:pointer;
  font-size:10px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.20)
}
.map-actions button:hover{border-color:rgba(107,227,255,.42)}

.layers-popover{
  position:absolute;z-index:14;top:56px;right:12px;width:208px;padding:11px;
  border:1px solid var(--line);border-radius:13px;background:var(--glass-strong);
  backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.34)
}
.layers-title{font-size:9px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:#a9b4be;margin:1px 2px 8px}
.layers-popover label{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:8px;color:#d8dde2;font-size:10px;cursor:pointer}
.layers-popover label:hover{background:rgba(255,255,255,.04)}
.layers-popover input{accent-color:#46cfee}

.target-card{
  position:absolute;z-index:15;right:14px;top:64px;width:300px;padding:14px;
  border:1px solid rgba(255,255,255,.15);border-radius:16px;
  background:linear-gradient(180deg,rgba(8,11,14,.94),rgba(7,9,12,.90));
  backdrop-filter:blur(20px);box-shadow:0 22px 70px rgba(0,0,0,.42);
  transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none;transition:.20s ease
}
.target-card.is-open{transform:translateX(0);opacity:1;pointer-events:auto}
.target-card-close{
  position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:8px;
  border:1px solid var(--line);background:rgba(255,255,255,.035);cursor:pointer
}
.target-card-head{display:flex;align-items:center;gap:11px;padding-right:32px}
.target-type-icon{
  width:46px;height:46px;display:grid;place-items:center;border-radius:13px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:var(--orange);font-size:20px;font-weight:900
}
.target-kicker{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--green)}
.target-card h2{margin:3px 0 2px;font-size:16px;line-height:1.15}
.target-card-head small{color:#9da7b0;font-size:9px}
.target-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.target-card-grid>div{
  padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.025)
}
.target-card-grid span{display:block;color:#909ba5;font-size:8px;margin-bottom:4px}
.target-card-grid strong{font-size:11px;color:#f5f7f8}
.target-card-foot{
  display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;
  border-top:1px solid rgba(255,255,255,.08);color:#9ca6af;font-size:8px
}
.target-card-foot span:last-child{color:#cbd2d7}

.dimap-attribution{
  position:absolute;z-index:12;right:10px;bottom:44px;padding:5px 8px;
  border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(6,8,10,.72);
  color:#c9d0d5;text-decoration:none;font-size:9px;font-weight:700;backdrop-filter:blur(10px)
}
.dimap-attribution:hover{color:#fff}

@media(max-width:760px){
  .floating-brand strong{display:none}
  .floating-brand{padding-right:7px}
  .live-summary{left:54px;right:112px;transform:none;max-width:none}
  .summary-chip{padding:0 8px}
  .summary-chip span{display:none}
  .alert-chip span{display:none}
  .map-actions button{padding:0 9px}
  .map-actions button:last-child{display:none}
  .target-card{
    position:fixed;left:8px;right:8px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;transform:translateY(calc(100% + 24px));border-radius:18px
  }
  .target-card.is-open{transform:translateY(0)}
  .layers-popover{top:54px;right:8px}
  .dimap-attribution{bottom:calc(12px + env(safe-area-inset-bottom));right:8px}
  .maplibregl-ctrl-bottom-right{bottom:calc(44px + env(safe-area-inset-bottom))!important}
}

/* R42C.1 UI-only rollback */

/* R42C.2 — 24H track archive */
.archive-chip{
  border-color:rgba(156,163,175,.22);
}
.archive-chip.is-enabled{
  border-color:rgba(248,214,109,.56);
  background:rgba(58,47,16,.82);
}
.archive-chip.is-enabled span,
.archive-chip.is-enabled strong{
  color:#f8d66d;
}
.archive-chip:not(.is-enabled) strong{color:#c7ced4}

/* R42C.3 — context layers + clean tabs */
.floating-brand{display:none!important}
.live-summary{left:50%;transform:translateX(-50%);max-width:calc(100vw - 360px)}
.layers-divider{height:1px;margin:6px 4px;background:rgba(255,255,255,.09)}
.archive-chip.is-enabled,.archive-chip.is-active{
  border-color:rgba(248,214,109,.56);
  background:rgba(58,47,16,.82)
}
.radar-modal{
  position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:16px;
  background:rgba(0,0,0,.46);backdrop-filter:blur(5px)
}
.radar-modal[hidden]{display:none}
.radar-modal-card{
  position:relative;width:min(460px,100%);padding:18px;
  border:1px solid rgba(255,255,255,.15);border-radius:18px;
  background:linear-gradient(180deg,rgba(8,11,14,.97),rgba(7,9,12,.95));
  box-shadow:0 30px 90px rgba(0,0,0,.52)
}
.radar-modal-close{
  position:absolute;top:10px;right:10px;width:30px;height:30px;
  border:1px solid rgba(255,255,255,.12);border-radius:9px;
  background:rgba(255,255,255,.035);color:#fff;cursor:pointer
}
.radar-modal-kicker{color:#6be3ff;font-size:9px;font-weight:900;letter-spacing:.14em}
.radar-modal h2{margin:5px 0 8px;font-size:20px}
.radar-modal p{margin:8px 0 12px;color:#aab4bd;font-size:11px;line-height:1.55}
.radar-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.radar-info-grid div{
  padding:9px 10px;border:1px solid rgba(255,255,255,.09);
  border-radius:10px;background:rgba(255,255,255,.025)
}
.radar-info-grid span{display:block;margin-bottom:3px;color:#8f9aa4;font-size:8px}
.radar-info-grid strong{color:#eef2f5;font-size:10px}
.radar-modal-note{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.radar-modal-links{display:flex;gap:8px}
.radar-modal-links a{
  padding:7px 10px;border:1px solid rgba(107,227,255,.20);
  border-radius:9px;color:#bdeffc;text-decoration:none;font-size:9px;font-weight:800
}
@media(max-width:760px){
  .live-summary{left:8px;right:112px;transform:none;max-width:none}
  .summary-chip span{display:inline}
  .map-actions button:first-child{display:none}
  .radar-info-grid{grid-template-columns:1fr}
}

/* R42C.3.1 front layer hotfix */

/* R42C.3.2 — Front layer removed */

/* R42C.4 — KAB regional risk zones */
.kab-legend-dot{
  width:8px;height:8px;border-radius:2px;background:#ff9c45;
  box-shadow:0 0 10px rgba(255,156,69,.34)
}
/* old on-map source badge removed intentionally */
.dimap-attribution{display:none!important}

/* R42C.4.2 synthetic KAB test mode */
.kab-test-banner{
  position:absolute;z-index:24;left:10px;bottom:10px;padding:7px 9px;
  border:1px solid rgba(216,180,254,.55);border-radius:9px;background:rgba(51,21,70,.88);
  color:#f3e8ff;font-size:9px;font-weight:900;letter-spacing:.08em;backdrop-filter:blur(12px);
  box-shadow:0 12px 30px rgba(0,0,0,.25);pointer-events:none
}

/* R43A Telegram mesh */
