.max-mass-shell {
  --side-panel-width: 520px;
}

.max-mass-toolbar .search-form button:disabled,
.max-mass-shell button:disabled {
  cursor: default;
  opacity: 0.62;
}

.max-mass-stage-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 0;
}

.max-mass-stage {
  position: relative;
  min-height: 0;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(90deg, rgba(127, 53, 80, 0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(127, 53, 80, 0.06) 1px, transparent 1px),
    radial-gradient(circle at 50% 36%, rgba(236, 169, 192, 0.22), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(252, 247, 249, 0.92));
  background-size:
    42px 42px,
    42px 42px,
    auto,
    auto;
  overflow: hidden;
}

.max-mass-stage::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(127, 53, 80, 0.1);
  border-radius: 24px;
  pointer-events: none;
}

.site-outline {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(68%, 720px);
  aspect-ratio: 1.62;
  border: 3px solid rgba(143, 33, 72, 0.72);
  border-radius: 18px 24px 16px 28px;
  transform: translate(-50%, -48%) rotate(-7deg) skewX(-4deg);
  background: rgba(255, 255, 255, 0.54);
  box-shadow: 0 24px 60px rgba(99, 33, 56, 0.08);
}

.setback-line {
  position: absolute;
  display: block;
  border: 2px dashed rgba(193, 63, 104, 0.42);
  border-radius: 14px;
  pointer-events: none;
}

.setback-line-north,
.setback-line-south {
  left: 9%;
  right: 9%;
  height: 0;
}

.setback-line-north {
  top: 16%;
}

.setback-line-south {
  bottom: 16%;
}

.setback-line-east,
.setback-line-west {
  top: 14%;
  bottom: 14%;
  width: 0;
}

.setback-line-east {
  right: 12%;
}

.setback-line-west {
  left: 12%;
}

.envelope-mass {
  position: absolute;
  left: 29%;
  top: 26%;
  width: 34%;
  height: 42%;
  transform: skewX(9deg) rotate(2deg);
}

.mass-roof,
.mass-face {
  position: absolute;
  display: block;
}

.mass-roof {
  inset: 0 0 28% 0;
  border: 2px solid rgba(143, 33, 72, 0.78);
  background: rgba(193, 63, 104, 0.24);
  transform: translate(22px, -18px) skewX(-22deg);
}

.mass-face-front {
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  border: 2px solid rgba(143, 33, 72, 0.68);
  background: rgba(193, 63, 104, 0.16);
}

.mass-face-side {
  top: 0;
  right: -24px;
  width: 24px;
  height: 72%;
  border: 2px solid rgba(143, 33, 72, 0.48);
  background: rgba(143, 33, 72, 0.12);
  transform: skewY(-38deg);
  transform-origin: left top;
}

.max-mass-stage-panel .map-legend {
  position: relative;
  right: auto;
  bottom: auto;
  margin: 10px 0 0;
}

@media (max-width: 1040px) {
  .max-mass-shell {
    --side-panel-width: 440px;
  }
}

@media (max-width: 880px) {
  .max-mass-stage {
    min-height: 360px;
  }
}
