/* 警务遥感 · 公安指挥中心风格皮肤（覆盖在基础样式之后） */
:root{
  --accent:#d4af37;
  --accent2:#c8102e;
  --police-gold:#d4af37;
  --police-red:#c8102e;
  --police-navy:#06111f;
  --police-cream:#f6ead0;
}

#topbar{
  background:linear-gradient(180deg,#08182b 0%,#06111f 100%);
  border-bottom:1px solid rgba(212,175,55,.55);
  box-shadow:0 2px 0 rgba(200,16,46,.30),0 10px 28px rgba(0,0,0,.25);
}
#topbar:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,#c8102e 18%,#d4af37 50%,#c8102e 82%,transparent);
  opacity:.85;pointer-events:none;
}
.brand-mark{
  width:46px;height:46px;background:none;border:0;box-shadow:none;border-radius:0;
  display:grid;place-items:center;flex:0 0 auto;
}
.brand-mark img{width:42px;height:49px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(212,175,55,.28))}
.brand-text h1{
  color:var(--police-cream);font-size:17px;letter-spacing:1.4px;
  text-shadow:0 0 18px rgba(212,175,55,.15);
}
.brand-text p{color:#b8a77e;letter-spacing:.2px}
.brand-text .dot{color:var(--police-red)}
.police-clock{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  color:#f1d98b;letter-spacing:1px;font-variant-numeric:tabular-nums;
  padding:7px 10px;border:1px solid rgba(212,175,55,.25);border-radius:8px;
  background:rgba(6,15,27,.7);white-space:nowrap;
}
.police-clock:before{content:"";width:5px;height:5px;border-radius:50%;background:#d4af37;box-shadow:0 0 8px #d4af37}
.status-strip{
  border-color:rgba(212,175,55,.28);background:rgba(6,15,27,.75);
  color:#b8a77e;gap:6px;padding:5px 8px;
}
.status-strip .sep{color:rgba(212,175,55,.35)}
.police-chip{
  display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;
  border:1px solid rgba(200,16,46,.35);background:rgba(200,16,46,.12);
  color:#e7c7ab;font-size:9px;white-space:nowrap;
}
.police-chip b{color:#ffd780;font-weight:800}
.refresh-btn{
  background:linear-gradient(135deg,#b8860b,#d4af37 50%,#c8102e);
  color:#1a0b03;box-shadow:0 6px 22px rgba(200,16,46,.22);
}
.refresh-btn:hover{box-shadow:0 8px 26px rgba(212,175,55,.30)}
.scenario-btn{
  border-color:rgba(212,175,55,.52);color:#f1d98b;
  background:linear-gradient(135deg,rgba(200,16,46,.16),rgba(212,175,55,.10));
  box-shadow:0 0 18px rgba(200,16,46,.10);
}
.scenario-btn:hover{border-color:#f1d98b;box-shadow:0 0 26px rgba(212,175,55,.22);color:#fff5d6}
.scenario-btn-icon{color:#f1d98b}

.panel{
  border-color:rgba(212,175,55,.16);
  background:linear-gradient(180deg,rgba(10,23,38,.92),rgba(6,14,24,.92));
}
.panel-head h2{color:#e8d7b0}
.panel-head h2:before{
  content:"";display:inline-block;width:3px;height:11px;border-radius:2px;
  background:linear-gradient(180deg,#c8102e,#d4af37);margin-right:7px;vertical-align:-1px;
}
.panel-tag{
  color:#e8c96f;background:rgba(212,175,55,.08);border-color:rgba(212,175,55,.30);
}
.kpi:before{background:var(--police-gold)}
.kpi.danger:before{background:var(--police-red)}
.kpi strong{color:#fff5dc}
.level-row b{color:#8f846c}
.hs-item:hover{border-color:rgba(212,175,55,.48);background:rgba(212,175,55,.06)}
.catalog-chip:hover{border-color:var(--police-gold)}
.map-legend,.map-corner{
  border-color:rgba(212,175,55,.30);background:rgba(6,14,24,.86);
}
.map-legend .legend-title{color:#f1d98b}

.police-focus{
  display:flex;align-items:flex-start;gap:8px;margin-top:9px;padding:8px 9px;cursor:pointer;
  border:1px solid rgba(200,16,46,.38);border-radius:9px;
  background:linear-gradient(100deg,rgba(200,16,46,.15),rgba(212,175,55,.055));
  transition:.15s;
}
.police-focus:hover{border-color:rgba(212,175,55,.55);background:linear-gradient(100deg,rgba(200,16,46,.22),rgba(212,175,55,.08))}
.focus-dot{
  width:7px;height:7px;border-radius:50%;background:var(--police-red);margin-top:4px;flex:0 0 auto;
  box-shadow:0 0 10px var(--police-red);animation:pulse 1.3s infinite;
}
.police-focus b{display:block;font-size:9px;letter-spacing:.6px;color:#ffb9b9;margin-bottom:2px}
.police-focus p{font-size:9px;line-height:1.45;color:#e2cfaa}
#footer{border-top-color:rgba(212,175,55,.22)}
#footer .warn{color:#c8a44a}

/* 推演抽屉的警务配色 */
.scenario-drawer{
  background:linear-gradient(180deg,rgba(8,20,35,.99),rgba(4,11,20,.995));
  border-left-color:rgba(212,175,55,.35);
  box-shadow:-24px 0 70px rgba(0,0,0,.60),0 0 60px rgba(200,16,46,.08);
}
.scenario-head{
  background:linear-gradient(180deg,rgba(58,18,28,.32),rgba(6,17,31,.55));
  border-bottom-color:rgba(212,175,55,.22);
}
.scenario-kicker{color:#e8c96f}
.scenario-head h2{color:#fff2cf}
.scenario-head p{color:#a99a7d}
.scenario-close{border-color:rgba(212,175,55,.28);color:#e8c96f}
.scenario-close:hover{background:rgba(212,175,55,.14);color:#fff}
.scenario-section{
  border-color:rgba(212,175,55,.15);
  background:linear-gradient(180deg,rgba(10,24,40,.82),rgba(5,13,23,.82));
}
.section-head > span:first-child{color:#e8c96f}
.scenario-location{border-color:rgba(212,175,55,.22);background:rgba(5,13,23,.65)}
.scenario-location b{color:#f1d98b}
.field input,.field select{background:rgba(4,10,18,.85);border-color:#25364a}
.field input:focus,.field select:focus{border-color:rgba(212,175,55,.7);box-shadow:0 0 0 2px rgba(212,175,55,.10)}
.slider-row b{color:#e8c96f}
.slider-row input[type=range]{background:linear-gradient(90deg,#c8102e,#d4af37)}
.slider-row input[type=range]::-webkit-slider-thumb{background:#fff2cf;border-color:#d4af37;box-shadow:0 0 10px rgba(212,175,55,.65)}
.primary-btn{background:linear-gradient(135deg,#b8860b,#d4af37);color:#1a0b03;box-shadow:0 6px 20px rgba(212,175,55,.18)}
.accent-btn{background:linear-gradient(135deg,#8f0d1c,#c8102e 55%,#d4af37);color:#fff3dd;box-shadow:0 6px 22px rgba(200,16,46,.26)}
.result-section{background:linear-gradient(180deg,rgba(50,17,28,.55),rgba(5,13,23,.85));border-color:rgba(212,175,55,.24)}
.sc-badge{border-color:rgba(212,175,55,.30);color:#e8c96f;background:rgba(212,175,55,.07)}
.scenario-factor .bar i{background:linear-gradient(90deg,#c8102e,#d4af37)}
.timeline-wrap{border-color:rgba(212,175,55,.18)}
#sc-slider{background:#2a1d17}
#sc-slider::-webkit-slider-thumb{background:#d4af37;box-shadow:0 0 10px rgba(212,175,55,.7)}
.play-btn{border-color:rgba(212,175,55,.35);background:linear-gradient(135deg,rgba(200,16,46,.20),rgba(212,175,55,.10));color:#f1d98b}
.play-btn:hover{box-shadow:0 0 18px rgba(212,175,55,.25);color:#fff}
.anim-date{color:#f1d98b}
.scenario-map-badge{border-color:rgba(212,175,55,.38);background:rgba(6,14,24,.90)}
.scenario-map-badge b{color:#fff2cf}
.model-note summary{color:#e8c96f}
.scenario-badge{width:34px;height:40px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(212,175,55,.25))}
.scenario-head-main{display:flex;gap:12px;align-items:flex-start}

/* 启动页徽章 */
#boot-screen{background:radial-gradient(800px 420px at 50% 30%,#12263d,#040a12 70%)}
.boot-logo{
  width:90px;height:90px;background:none;box-shadow:none;border-radius:0;display:grid;place-items:center;
}
.boot-logo img{width:84px;height:98px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(212,175,55,.30))}
.boot-title{color:#fff2cf}
.boot-sub{color:#a99a7d}
.boot-bar{background:#211a12}
.boot-bar i{background:linear-gradient(90deg,#c8102e,#d4af37)}

@media (max-width:1280px){
  .police-clock{display:none}
}
@media (max-width:1120px){
  .brand-mark img{width:36px;height:42px}
  .boot-logo img{width:72px;height:84px}
}

/* 核查优先级与当前自然风险分离显示 */
.priority-note{
  margin:7px 0 0;font-size:10px;line-height:1.45;color:#b9a77f;
  border-left:2px solid rgba(212,175,55,.45);padding-left:7px;
}
.natural-risk-strip{
  margin-top:8px;padding:8px 9px;border-radius:8px;
  border:1px solid rgba(56,189,248,.22);
  background:linear-gradient(120deg,rgba(14,116,144,.16),rgba(8,20,35,.45));
}
.nr-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nr-head span{font-size:10px;letter-spacing:.4px;color:#9cc9dc}
.nr-head b{font-size:12px;color:#e6f6ff}
.natural-risk-strip p{margin:4px 0 0;font-size:9px;line-height:1.45;color:#93a9b8}
.level-row{font-size:10px;min-height:22px}
.level-row b{font-size:9px}
.police-focus b{font-size:10px}
.police-focus p{font-size:10px;line-height:1.5}
.hs-meta{font-size:9.5px;line-height:1.5}
.hs-score span{font-size:9px}
#map-legend{font-size:10px;gap:5px}
#map-legend .legend-title{font-size:10px}
.detail-sub{line-height:1.55}
.section-label{font-size:10px}
.reason-list li{font-size:10px;line-height:1.55}

.priority-callout{
  margin:8px 0;padding:7px 9px;border:1px solid rgba(212,175,55,.20);border-radius:7px;
  background:rgba(212,175,55,.055);font-size:10px;line-height:1.5;color:#d8c59a;
}
.natural-risk-box{
  margin:6px 0 8px;padding:8px 9px;border:1px solid rgba(56,189,248,.20);border-radius:8px;
  background:linear-gradient(120deg,rgba(14,116,144,.13),rgba(8,20,35,.38));
}
.nr-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#a9c9d8}
.nr-line b{font-size:14px}
.natural-risk-box p{margin:4px 0 0;font-size:9.5px;line-height:1.5;color:#8fa7b7}
.model-note{font-size:9.5px;line-height:1.5;color:#a99a7d;margin:3px 0 6px}

/* ---- 中国地图 2D/3D 切换 ---- */
.map-mode{
  position:absolute;left:44px;top:12px;z-index:620;display:flex;align-items:center;gap:3px;
  padding:4px;border:1px solid rgba(125,211,252,.22);border-radius:9px;
  background:rgba(6,16,26,.86);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.map-mode button{
  border:0;background:transparent;color:#9fb4c7;font-size:10px;padding:5px 8px;border-radius:6px;
  cursor:pointer;white-space:nowrap;
}
.map-mode button:hover{background:rgba(56,189,248,.10);color:#dff3ff}
.map-mode button.active{background:linear-gradient(120deg,rgba(212,175,55,.30),rgba(56,189,248,.16));color:#fff3c4;font-weight:700}
.map-mode-sep{width:1px;height:16px;background:rgba(125,211,252,.18);margin:0 2px}
.china3d{position:absolute;inset:0;z-index:610;background:radial-gradient(ellipse at 50% 42%,#10283c 0%,#06111c 62%,#03080d 100%);overflow:hidden}
.china3d.hidden{display:none}
#china3d-chart{position:absolute;inset:0;width:100%;height:100%}
.china3d-head{
  position:absolute;left:16px;top:14px;z-index:2;display:flex;flex-direction:column;gap:2px;
  pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.china3d-kicker{font-size:8px;letter-spacing:2px;color:#d4af37;font-weight:700}
.china3d-head b{font-size:16px;color:#eaf7ff;letter-spacing:1px}
.china3d-head em{font-style:normal;font-size:9px;color:#8fa9bc;line-height:1.5}
.china3d-legend{
  position:absolute;left:16px;bottom:14px;z-index:2;display:flex;align-items:center;gap:6px;
  padding:6px 9px;border:1px solid rgba(125,211,252,.18);border-radius:999px;
  background:rgba(6,16,26,.72);font-size:9px;color:#a9c9d8;backdrop-filter:blur(8px);
}
.china3d-legend i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#0a84ff,#ffd60a,#ff3b30)}
.china3d-sep{width:1px;height:11px;background:rgba(125,211,252,.2);margin:0 2px}
.china3d-error{
  position:absolute;inset:0;display:grid;place-items:center;z-index:3;
  color:#ffb4a8;font-size:12px;background:rgba(6,16,26,.85);
}
.china3d-error.hidden{display:none}
@media (max-width:560px){
  .map-mode{left:34px;top:6px;padding:3px}
  .map-mode button{font-size:9px;padding:4px 5px}
  .china3d-head em{display:none}
}

.gmt-china-base{filter:brightness(.72) saturate(.78) contrast(1.06);}

/* MapLibre interactive 3D terrain (adminlte refresh) */
#terrain3d-map{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#07131f}
#china3d-chart{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#china3d-chart.hidden{display:none}
.china3d-head,.china3d-legend{z-index:4}
.china3d .maplibregl-ctrl{font-size:11px}
