/* Step 32B — Heatmap logic repair: density area, node importance, cluster heat */
#densityButton.atlas-density-toggle{
  min-width:44px;
  gap:6px;
  position:relative;
}

#densityButton.atlas-density-toggle b{
  font-size:16px;
  line-height:1;
}

#densityButton.atlas-density-toggle span{
  font-size:11px;
  font-weight:700;
  letter-spacing:-.01em;
}

#densityButton.atlas-density-toggle.active,
body.atlas-density-on #densityButton.atlas-density-toggle{
  background:rgba(37,99,235,.14)!important;
  border-color:rgba(37,99,235,.28)!important;
  box-shadow:0 12px 30px rgba(37,99,235,.16)!important;
}

.atlas-density-menu{
  position:fixed;
  top:88px;
  right:178px;
  z-index:160;
  width:210px;
  padding:10px;
  border:1px solid rgba(148,163,184,.25);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
  box-shadow:0 22px 55px rgba(15,23,42,.14);
  display:grid;
  gap:6px;
}

.atlas-density-menu[hidden]{
  display:none!important;
}

.atlas-density-menu strong{
  display:block;
  font-size:12px;
  color:#475569;
  padding:2px 6px 5px;
}

.atlas-density-menu button{
  width:100%;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:13px;
  padding:9px 10px;
  background:rgba(248,250,252,.70);
  color:#0f172a;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
  text-align:left;
}

.atlas-density-menu button small{
  display:block;
  color:#64748b;
  font-size:10px;
  font-weight:600;
  margin-top:2px;
}

.atlas-density-menu button.active{
  background:rgba(37,99,235,.12);
  border-color:rgba(37,99,235,.30);
  color:#1d4ed8;
}

.atlas-density-layer{
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
  mix-blend-mode:multiply;
}

body.atlas-density-on .atlas-density-layer{
  opacity:1;
}

body.atlas-dark .atlas-density-layer,
body.dark .atlas-density-layer{
  mix-blend-mode:screen;
}

.atlas-density-blob,
.atlas-density-vein,
.atlas-importance-ring,
.atlas-cluster-blob{
  pointer-events:none;
  transform-box:fill-box;
  transform-origin:center;
  animation:atlasHeatIn .20s ease-out both;
}

.atlas-density-vein{
  stroke-linecap:round;
}

.atlas-importance-ring{
  fill:none;
  stroke-width:2.4;
  vector-effect:non-scaling-stroke;
}

body.atlas-density-mode-density .atlas-edge:not(.is-strong){
  opacity:.36;
}

body.atlas-density-mode-importance .atlas-node:not(.selected) circle:nth-of-type(2){
  opacity:.78;
}

body.atlas-density-mode-cluster .atlas-edge:not(.is-strong){
  opacity:.32;
}

@keyframes atlasHeatIn{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}

@media (max-width:760px){
  #densityButton.atlas-density-toggle span{
    display:none;
  }

  #densityButton.atlas-density-toggle{
    min-width:38px;
  }

  .atlas-density-menu{
    top:auto;
    right:14px;
    bottom:92px;
    width:min(230px, calc(100vw - 28px));
    border-radius:20px;
  }

  .atlas-density-layer{
    opacity:.86;
  }
}

@media (prefers-reduced-motion:reduce){
  .atlas-density-layer,
  .atlas-density-blob,
  .atlas-density-vein,
  .atlas-importance-ring,
  .atlas-cluster-blob{
    transition:none!important;
    animation:none!important;
  }
}
