/* LEECHES's page: the shared skin and stage are ../module.css (site/public/module.css); this is only what's its own.
   The page is gold like every module's; only the panel's own lights keep their colour: the bodies' white. */

/* 20 HP at the line's scale */
.stage { --panel-ratio: 101.3 / 128.5; --panel-max: 560px; --panel-max-narrow: 520px; overflow-x: clip; }
.stage:focus { outline: none; }

/* the rig: the panel at its usual scale, and the next row of the rack under it; the cables and the heads over both */
.rig {
  position: relative; margin: 0 auto; aspect-ratio: 101.3 / 176.5; background: #09090a; user-select: none; -webkit-user-select: none;
  width: min(100%, calc(80vh * var(--panel-ratio)), var(--panel-max), calc(100cqw * 128.5 / 101.3 * var(--panel-ratio)));
}
.rig .panel2d { width: 100%; }
@media (max-width: 900px) {
  .rig { width: min(100%, calc(80vh * var(--panel-ratio)), var(--panel-max-narrow)); }
}
.strip { position: absolute; left: 0; width: 100%; overflow: hidden; }
.strip img { display: block; width: 100%; height: 100%; }
.sl { position: absolute; opacity: 0; pointer-events: none; border-radius: 50%;
  background: radial-gradient(closest-side, #fffdf6 0 28%, rgba(255, 248, 228, 0.7) 40%, rgba(255, 244, 214, 0.14) 66%, transparent 100%); }
.sl-screen { border-radius: 1px; background: linear-gradient(#f6f3e8, #d9d6cc); box-shadow: 0 0 0.9em rgba(245, 240, 225, 0.35); }

/* the windows: each window's light (a piece of assets/lights.png, light as alpha) masks the colour the engine gives it,
   over the face's bare FR4, at the engine's level by opacity; the left half's are their mirror images, flipped */
.panel2d { isolation: isolate; }
.p2-win { position: absolute; pointer-events: none; opacity: 0; z-index: 1; }
.p2-win { -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.p2 { z-index: 2; }

/* the heads: drawn on a canvas, taken hold of here */
.p2-heads { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 4; }
.p2-head {
  position: absolute; z-index: 5; width: max(13%, 44px); aspect-ratio: 1; transform: translate(-50%, -50%);
  border-radius: 50%; cursor: grab; touch-action: none; -webkit-tap-highlight-color: transparent;
}
.p2-head.held { cursor: grabbing; }
.p2-head:focus-visible { outline: 2px solid var(--gold); outline-offset: -4px; }

/* beside the panel: what each mouth tastes */
#scope { display: block; width: 100%; height: 196px; }
.status { min-height: 2.8em; }
.readout { min-height: 2.8em; font: 400 0.74rem/1.4 "Space Mono", ui-monospace, monospace; color: var(--ink); }
#patch-note { min-height: 7.2em; }
