/* Guide map: enterprise relationships float above the black world canvas. */
.map-layer-controls{
  position:absolute;
  z-index:520;
  top:214px;
  left:30px;
  display:flex;
  align-items:center;
  gap:6px;
  pointer-events:auto;
}
.map-layer-controls button{
  min-width:62px;
  height:34px;
  padding:0 14px;
  border:1px solid rgba(244,241,232,.2);
  border-radius:999px;
  background:rgba(0,0,0,.38);
  color:var(--muted);
  font:600 13px/1 "Microsoft YaHei",sans-serif;
  backdrop-filter:blur(12px);
  cursor:pointer;
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease;
}
.map-layer-controls button:hover,
.map-layer-controls button:focus-visible{
  color:var(--text);
  border-color:var(--accent);
  transform:translateY(-1px);
  outline:none;
}
.map-layer-controls button.active{
  color:#090a0b;
  border-color:var(--accent);
  background:var(--accent);
}
.map-layer-controls span{
  margin-left:8px;
  color:var(--muted);
  font:500 12px/1 Consolas,monospace;
}
.map-decision-controls{
  position:absolute;
  z-index:520;
  top:258px;
  left:30px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(0,0,0,.46);
  backdrop-filter:blur(14px);
  pointer-events:auto;
}
.map-decision-controls>span{padding:0 9px;color:var(--muted);font:700 10px/1 Consolas,monospace;letter-spacing:.14em}
.map-decision-controls button{
  min-height:30px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font:600 12px/1 "Microsoft YaHei",sans-serif;
  cursor:pointer;
}
.map-decision-controls button:hover,.map-decision-controls button:focus-visible{color:var(--text);outline:1px solid var(--accent)}
.map-decision-controls button.active{background:rgba(210,188,135,.18);color:var(--accent)}
.map-decision-summary{
  position:absolute;
  z-index:519;
  left:30px;
  bottom:calc(33.333% + 80px);
  max-width:min(720px,calc(75vw - 60px));
  color:var(--text);
  font-size:13px;
  line-height:1.4;
  text-shadow:0 1px 8px #000;
  pointer-events:none;
}
.map-decision-summary[data-band="高"]{color:var(--risk)}
.map-detail{
  position:absolute;
  z-index:520;
  top:306px;
  left:30px;
  width:min(390px,calc(75vw - 60px));
  padding:17px 18px 16px;
  border:1px solid rgba(244,241,232,.16);
  border-radius:14px;
  background:rgba(0,0,0,.7);
  color:var(--text);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(18px) saturate(.78);
  pointer-events:auto;
}
.map-detail[hidden]{display:none}
.map-detail>small{
  color:var(--accent);
  font:700 10px/1 Consolas,monospace;
  letter-spacing:.16em;
}
.map-detail h3{margin:7px 0 8px;font:600 20px/1.25 "Microsoft YaHei",sans-serif}
.map-detail>p{margin:0 0 12px;color:var(--text);font-size:14px;line-height:1.55}
.map-detail dl{display:grid;gap:7px;margin:0}
.map-detail dl div{display:grid;grid-template-columns:72px 1fr;gap:10px}
.map-detail dt{color:var(--muted);font-size:11px}
.map-detail dd{margin:0;color:var(--text);font-size:12px;line-height:1.45}
.map-action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:13px}
.map-detail button{
  margin-top:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent);
  font-weight:700;
  cursor:pointer;
}
.map-detail button:hover,.map-detail button:focus-visible{color:var(--text);outline:none;text-decoration:underline;text-underline-offset:4px}
.leaflet-interactive.is-traced{filter:drop-shadow(0 0 5px rgba(244,241,232,.6))}
.leaflet-interactive.is-impacted{filter:drop-shadow(0 0 8px rgba(201,111,120,.9))}
.leaflet-interactive.guide-risk-pulse{animation:guide-risk-pulse 1.8s ease-in-out infinite}
@keyframes guide-risk-pulse{50%{stroke-width:6;filter:drop-shadow(0 0 13px rgba(201,111,120,1))}}
.map-detail[data-kind="supply"]>small{color:var(--risk)}
.map-detail[data-kind="market"]>small{color:var(--secondary)}
.map-guide-disclosure{
  position:absolute;
  z-index:520;
  left:30px;
  bottom:calc(33.333% + 50px);
  width:min(660px,calc(75vw - 60px));
  margin:0;
  color:rgba(244,241,232,.62);
  font-size:11px;
  line-height:1.45;
  pointer-events:none;
  text-shadow:0 1px 8px #000;
}
.guide-map-popup{max-width:260px;color:#17191a;font-family:"Microsoft YaHei",sans-serif}
.guide-map-popup small{display:block;color:#696d70;font-size:10px;letter-spacing:.12em}
.guide-map-popup b{display:block;margin:4px 0 6px;font-size:15px}
.guide-map-popup p{margin:0 0 7px;line-height:1.45}
.guide-map-popup em{display:block;color:#696d70;font-size:11px;font-style:normal}
.map-card footer span:first-child{color:var(--risk)!important}
.map-card footer span:nth-child(2){color:var(--secondary)!important}
.map-card footer span:nth-child(3){color:var(--accent)!important}
@media(max-width:1000px){
  .map-layer-controls{top:120px;left:20px;right:20px;flex-wrap:wrap}
  .map-layer-controls span{width:100%;margin:4px 0 0}
  .map-decision-controls{top:198px;left:20px}
  .map-detail{top:244px;left:20px;width:min(390px,calc(100% - 40px))}
  .map-decision-summary{left:20px;bottom:86px;max-width:calc(100% - 40px)}
  .map-guide-disclosure{left:20px;bottom:56px;width:calc(100% - 40px)}
}
@media(max-height:800px) and (min-width:1001px){
  .map-layer-controls{top:188px}
  .map-decision-controls{top:230px}
  .map-detail{top:274px;padding:13px 15px}
  .map-detail h3{font-size:17px}
  .map-detail>p,.map-detail dd{font-size:11px}
  .map-guide-disclosure{display:none}
}
@media(prefers-reduced-motion:reduce){.leaflet-interactive.guide-risk-pulse{animation:none}}
