/* Puzzle Atrium Mystery Rooms build 2.14 - Basement pipe grid and crate path upgrade */
.pipe-board-v214{
  width:min(720px,92vw);
  min-height:470px;
  padding:32px 36px 58px;
  overflow:visible;
  background:radial-gradient(circle at 15% 52%,rgba(251,191,36,.14),transparent 18%),radial-gradient(circle at 85% 65%,rgba(34,197,94,.13),transparent 20%),linear-gradient(180deg,#101827,#020617);
}
.pipe-board-v214:before{display:none!important;content:none!important}
.pipe-board-v214 .pipe-result{bottom:10px}
.pipe-pump-v214,.pipe-gauge-v214{
  top:50%;
  z-index:8;
  background:linear-gradient(180deg,#1f2937,#0f172a);
  border-color:rgba(251,191,36,.36);
  box-shadow:0 0 16px rgba(251,191,36,.18);
}
.pipe-pump-v214{left:8px}.pipe-gauge-v214{right:8px}
.pipe-grid-v214{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:repeat(5,1fr);
  gap:8px;
  width:min(560px,74vw);
  height:350px;
  margin:26px auto 0;
  padding:10px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(15,23,42,.95),rgba(2,6,23,.86));
  border:1px solid rgba(148,163,184,.18);
  box-shadow:inset 0 0 28px rgba(2,6,23,.8);
}
.pipe-cell,.pipe-tile{
  min-width:0;
  min-height:0;
  border-radius:13px;
  border:1px solid rgba(71,85,105,.8);
}
.pipe-cell.wall{
  display:block;
  background:repeating-linear-gradient(135deg,rgba(30,41,59,.64) 0 8px,rgba(15,23,42,.96) 8px 16px);
  box-shadow:inset 0 0 18px rgba(0,0,0,.32);
  opacity:.78;
}
.pipe-cell.cracked{
  background:linear-gradient(135deg,rgba(30,41,59,.58),rgba(15,23,42,.98));
  position:relative;
}
.pipe-cell.cracked:after{
  content:"leak";
  position:absolute;
  inset:auto 6px 6px auto;
  font-size:.55rem;
  font-weight:1000;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pipe-tile{
  position:relative;
  z-index:6;
  width:auto;height:auto;margin:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:radial-gradient(circle at 50% 50%,#111827 0 45%,#334155 46% 100%);
  border:2px solid rgba(148,163,184,.45);
  box-shadow:inset 0 0 22px rgba(0,0,0,.38),0 0 0 rgba(251,191,36,0);
  transition:transform .12s ease,border-color .16s ease,box-shadow .16s ease;
}
.pipe-tile:hover{transform:translateY(-1px);border-color:rgba(251,191,36,.68);box-shadow:0 0 18px rgba(251,191,36,.14),inset 0 0 22px rgba(0,0,0,.38)}
.pipe-tile svg{width:84%;height:84%;transition:transform .18s ease;overflow:visible}
.pipe-tile svg path{
  fill:none;
  stroke:#fbbf24;
  stroke-width:20;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 4px rgba(251,191,36,.45));
}
.pipe-tile.r0 svg{transform:rotate(0deg)}
.pipe-tile.r1 svg{transform:rotate(90deg)}
.pipe-tile.r2 svg{transform:rotate(180deg)}
.pipe-tile.r3 svg{transform:rotate(270deg)}
.pipe-board-v214.ready .pipe-tile,.pipe-board-v214.solved .pipe-tile{
  border-color:#fbbf24;
  box-shadow:0 0 18px rgba(251,191,36,.25),inset 0 0 18px rgba(251,191,36,.08);
}
.pipe-board-v214.ready .pipe-tile svg path,.pipe-board-v214.solved .pipe-tile svg path{
  stroke:#fde68a;
  filter:drop-shadow(0 0 9px rgba(253,230,138,.75));
}
.pipe-board-v214.leaking{
  animation:pipeLeakShake .24s ease 2;
}
@keyframes pipeLeakShake{50%{transform:translateX(4px)}}
.pipe-flow-note{
  position:absolute;
  left:50%;bottom:42px;
  transform:translateX(-50%);
  z-index:10;
  color:#fef3c7;
  background:rgba(15,23,42,.84);
  border:1px solid rgba(251,191,36,.24);
  border-radius:999px;
  padding:7px 13px;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}

.crate-lab-v214{
  width:min(560px,90vw);
  min-height:560px;
  grid-template-columns:repeat(4,1fr)!important;
  grid-template-rows:repeat(4,1fr)!important;
  gap:18px;
  padding:50px;
  overflow:hidden;
  background:linear-gradient(135deg,#292524,#111827 58%,#020617);
}
.crate-lab-v214 .crate-secret{z-index:12}
.crate-scratch-map{
  position:absolute;
  inset:48px;
  z-index:1;
  pointer-events:none;
  opacity:.46;
}
.crate-scratch-map polyline{
  fill:none;
  stroke:#f59e0b;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:5 8;
  filter:drop-shadow(0 0 7px rgba(245,158,11,.4));
}
.crate-bolt-v214{
  position:relative;
  z-index:3;
  width:auto;height:auto;
  min-height:96px;
  display:grid;
  place-items:center;
  border-radius:20px;
  border:2px solid rgba(148,163,184,.25);
  background:radial-gradient(circle,#e7e5e4 0 12px,#78716c 13px 25px,#292524 26px 100%);
  color:#fde68a;
  font-size:.72rem;
  font-weight:1000;
  cursor:pointer;
  box-shadow:inset 0 0 24px rgba(0,0,0,.32);
}
.crate-bolt-v214.start{
  border-color:rgba(251,191,36,.72);
  box-shadow:0 0 18px rgba(251,191,36,.2),inset 0 0 24px rgba(0,0,0,.32);
}
.crate-bolt-v214:hover{border-color:#fbbf24;filter:brightness(1.08)}
.crate-bolt-v214.loosened{
  background:radial-gradient(circle,#bbf7d0 0 12px,#16a34a 13px 28px,#052e16 29px 100%);
  box-shadow:0 0 20px rgba(34,197,94,.38);
  border-color:rgba(134,239,172,.75);
}
.crate-bolt-v214.wrong{
  background:radial-gradient(circle,#fecaca 0 12px,#ef4444 13px 28px,#450a0a 29px 100%)!important;
  border-color:#fca5a5!important;
  box-shadow:0 0 24px rgba(239,68,68,.55)!important;
  animation:wrongBoltPulse .25s ease 2;
}
@keyframes wrongBoltPulse{50%{transform:scale(1.08)}}
@media(max-width:720px){
  .pipe-board-v214{padding:22px 20px 56px;min-height:410px}.pipe-grid-v214{height:300px;width:100%;gap:5px}.pipe-flow-note{white-space:normal;text-align:center;width:88%;font-size:.68rem}
  .crate-lab-v214{min-height:430px;padding:28px;gap:10px}.crate-bolt-v214{min-height:70px}.crate-scratch-map{inset:28px}
}
