/* Puzzle Atrium Mystery Rooms build 2.13 - Basement Terminal interaction upgrade */
.mechanism-panel-v212 .basement-evidence{
  display:grid;
  gap:8px;
  margin:10px 0 14px;
}
.basement-chip{
  display:block;
  padding:9px 10px;
  border-radius:11px;
  background:rgba(15,23,42,.72);
  border:1px solid rgba(148,163,184,.2);
  color:#cbd5e1;
  font-weight:900;
  line-height:1.25;
}
.basement-chip.done{
  background:rgba(34,197,94,.16);
  border-color:rgba(34,197,94,.38);
  color:#bbf7d0;
}
.pressure-code-ready{
  border-color:rgba(34,197,94,.38)!important;
  background:rgba(20,83,45,.22)!important;
  color:#bbf7d0!important;
}
.theme-basement .room-object.solved{
  filter:brightness(1.18) drop-shadow(0 0 18px rgba(34,197,94,.45));
}
.basement-modal .pv-modal-card{
  width:min(720px,96vw);
}
.basement-modal-card h3{
  margin-top:0;
}
.pipe-lab,.monitor-lab,.crate-lab{
  position:relative;
  margin:14px auto;
  width:min(620px,88vw);
  min-height:260px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22);
  background:radial-gradient(circle at 50% 30%,rgba(16,185,129,.18),transparent 36%),linear-gradient(180deg,#101827,#020617);
  box-shadow:inset 0 0 34px rgba(2,6,23,.55),0 18px 45px rgba(0,0,0,.28);
}
.pipe-lab:before{
  content:"";
  position:absolute;
  left:11%;right:11%;top:50%;height:18px;
  transform:translateY(-50%);
  border-radius:999px;
  background:#334155;
  box-shadow:inset 0 0 0 4px rgba(15,23,42,.7);
}
.pipe-lab.ready:before,.pipe-lab.solved:before{
  background:linear-gradient(90deg,#fbbf24,#fde68a,#fbbf24);
  box-shadow:0 0 24px rgba(251,191,36,.4),inset 0 0 0 3px rgba(15,23,42,.44);
}
.pipe-pump,.pipe-gauge{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  padding:9px 10px;
  border-radius:12px;
  background:#0f172a;
  border:1px solid rgba(148,163,184,.24);
  color:#e2e8f0;
  font-size:.72rem;
  font-weight:1000;
}
.pipe-pump{left:4%}.pipe-gauge{right:4%}
.pipe-coupler{
  position:absolute;
  z-index:4;
  top:50%;
  width:78px;height:78px;
  margin-top:-39px;
  border-radius:50%;
  border:4px solid #64748b;
  background:radial-gradient(circle,#111827 0 45%,#334155 46% 100%);
  cursor:pointer;
  transition:.18s ease;
}
.pipe-coupler:nth-of-type(1){left:25%}.pipe-coupler:nth-of-type(2){left:44%}.pipe-coupler:nth-of-type(3){left:63%}
.pipe-coupler span{
  position:absolute;
  inset:17px;
  border-radius:12px;
  background:linear-gradient(90deg,transparent 0 28%,#fbbf24 29% 71%,transparent 72%),linear-gradient(0deg,transparent 0 28%,#fbbf24 29% 71%,transparent 72%);
  box-shadow:0 0 14px rgba(251,191,36,.22);
  transition:.18s ease;
}
.pipe-coupler.r0 span{transform:rotate(0deg)}
.pipe-coupler.r1 span{transform:rotate(90deg)}
.pipe-coupler.r2 span{transform:rotate(180deg)}
.pipe-coupler.r3 span{transform:rotate(270deg)}
.pipe-lab.ready .pipe-coupler,.pipe-lab.solved .pipe-coupler{border-color:#fbbf24;box-shadow:0 0 24px rgba(251,191,36,.35)}
.pipe-result{
  position:absolute;
  left:50%;bottom:18px;
  transform:translateX(-50%) scale(.8);
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  background:#fde68a;color:#111827;
  font-weight:1000;font-size:2rem;
  opacity:0;
  box-shadow:0 0 28px rgba(253,230,138,.55);
  transition:.22s ease;
}
.pipe-lab.solved .pipe-result{opacity:1;transform:translateX(-50%) scale(1)}
.pipe-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:10px 0}
.pipe-actions .btn{min-width:170px}
.monitor-lab{
  min-height:280px;
  background:radial-gradient(circle at var(--monitor-speed,40%) var(--monitor-gain,40%),rgba(34,197,94,.24),transparent 22%),linear-gradient(180deg,#03120c,#020617);
}
.monitor-lab:before{
  content:"SYNC STATUS";
  position:absolute;left:22px;top:18px;
  color:#86efac;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:.78rem;font-weight:1000;letter-spacing:.08em;
}
.monitor-scanline{
  position:absolute;left:7%;right:7%;top:50%;height:2px;background:rgba(134,239,172,.25);box-shadow:0 0 18px rgba(34,197,94,.35);
}
.monitor-lab .bar{
  position:absolute;bottom:58px;width:34px;border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,#bbf7d0,#22c55e);
  box-shadow:0 0 16px rgba(34,197,94,.38);
  transform-origin:bottom center;
  animation:barPulse 1.8s infinite ease-in-out;
}
.monitor-lab .b1{left:26%;height:70px;animation-delay:.05s}.monitor-lab .b2{left:36%;height:112px;animation-delay:.15s}.monitor-lab .b3{left:46%;height:92px;animation-delay:.25s}.monitor-lab .b4{left:56%;height:126px;animation-delay:.35s}.monitor-lab .b5{left:66%;height:82px;animation-delay:.45s}
@keyframes barPulse{50%{transform:scaleY(.62);filter:brightness(.8)}}
.monitor-lab.solved .bar{animation:none;height:105px;bottom:78px}
.monitor-secret{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.75);
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  font-size:2.4rem;font-weight:1000;color:#052e16;background:#86efac;
  opacity:0;box-shadow:0 0 34px rgba(134,239,172,.62);transition:.2s ease;
}
.monitor-lab.solved .monitor-secret{opacity:1;transform:translate(-50%,-50%) scale(1)}
.basement-slider{
  display:grid;
  grid-template-columns:120px 1fr 54px;
  align-items:center;
  gap:10px;
  margin:10px 0;
  color:#cbd5e1;
  font-weight:900;
}
.crate-lab{
  width:min(500px,88vw);
  min-height:500px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:42px;
  background:linear-gradient(135deg,#292524,#111827 65%,#020617);
}
.crate-bolt{
  min-height:105px;
  border-radius:18px;
  border:2px solid rgba(148,163,184,.24);
  background:radial-gradient(circle,#d6d3d1 0 13px,#78716c 14px 26px,#292524 27px 100%);
  color:#fde68a;
  font-size:.72rem;
  font-weight:1000;
  cursor:pointer;
  box-shadow:inset 0 0 24px rgba(0,0,0,.32);
}
.crate-bolt:hover:not(:disabled){border-color:#fbbf24;filter:brightness(1.1)}
.crate-bolt.loosened{background:radial-gradient(circle,#86efac 0 13px,#16a34a 14px 26px,#0f172a 27px 100%);box-shadow:0 0 18px rgba(34,197,94,.28)}
.crate-bolt.blocked{background:rgba(15,23,42,.5);cursor:not-allowed;color:#64748b;box-shadow:none}
.crate-secret{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);
  width:74px;height:74px;border-radius:50%;background:#fde68a;color:#111827;
  display:grid;place-items:center;font-size:2.7rem;font-weight:1000;opacity:0;
  box-shadow:0 0 34px rgba(253,230,138,.58);transition:.2s ease;
}
.crate-lab.solved .crate-secret{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (max-width:720px){
  .pipe-coupler{width:58px;height:58px;margin-top:-29px}.pipe-coupler span{inset:12px}.pipe-pump,.pipe-gauge{font-size:.62rem;padding:7px 8px}
  .basement-slider{grid-template-columns:1fr;gap:5px}.crate-lab{min-height:380px;padding:22px;gap:9px}.crate-bolt{min-height:76px}.monitor-lab{min-height:230px}
}
