/* TESTER · Rig 001 — equipment stacked into the Mountain W, wired together */
.rig{position:relative;min-height:100vh;min-height:100svh;background:radial-gradient(ellipse at 50% 38%,#f4f4f1 0%,#e4e4df 60%,#d9d9d3 100%);color:var(--ink);overflow:hidden;
  padding:calc(var(--hh,53px) + 52px) 0 64px;display:flex;flex-direction:column;align-items:center}
.rig-head{position:absolute;left:16px;right:16px;top:calc(var(--hh,53px) + 14px);display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;z-index:3}
.rig-head b{font-weight:400;display:block}.rig-head span{display:block;margin-left:30px;opacity:.6}
.rig-stage{flex:1;width:100%;display:flex;justify-content:center;align-items:center}
.rig-svg{display:block;height:min(calc(100svh - var(--hh,53px) - 120px),1300px);width:auto;max-width:96vw;overflow:visible;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.rig-cap{margin:10px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;text-align:center;padding:0 16px}

/* devices */
.rig .dev{cursor:pointer}
.rig .dev .led{fill:#5a5a5a;transition:fill .2s}
.rig .dev.on .led{fill:#2fd18a;filter:url(#rgGlow)}
.rig .scr-on{opacity:0;transition:opacity .25s}
.rig .dev.on .scr-on{opacity:1;animation:rgFlick .5s steps(1) 1}
@keyframes rgFlick{0%{opacity:.2}10%{opacity:1}20%{opacity:.35}30%{opacity:1}55%{opacity:.7}70%{opacity:1}}
.rig .spin{transform-box:fill-box;transform-origin:50% 50%}
.rig .dev.on .spin{animation:rgSpin 1.8s linear infinite}
.rig .dev.on .spin.fast{animation-duration:.9s}
@keyframes rgSpin{to{transform:rotate(360deg)}}
.rig .vu rect{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.15)}
.rig .dev.on .vu rect{animation:rgVu .6s ease-in-out infinite alternate}
@keyframes rgVu{0%{transform:scaleY(.2)}100%{transform:scaleY(1)}}
.rig .cone{transform-box:fill-box;transform-origin:50% 50%}
.rig .dev.on .cone{animation:rgPump .48s ease-in-out infinite}
@keyframes rgPump{0%,100%{transform:scale(1)}40%{transform:scale(1.06)}}
.rig .cur{animation:rgBlink 1s steps(1) infinite}
@keyframes rgBlink{50%{opacity:0}}

/* cables */
.rig .wire-base{fill:none;stroke:#2c2c2e;stroke-linecap:round;opacity:.9}
.rig .wire-power{fill:none;stroke-linecap:round;transition:stroke-dashoffset .5s linear}
.rig .wire-flow{fill:none;stroke-linecap:round;stroke-dasharray:12 26;opacity:0;transition:opacity .3s}
.rig .wire.live .wire-flow{opacity:.95;animation:rgFlow .9s linear infinite}
@keyframes rgFlow{to{stroke-dashoffset:-38}}

/* the power switch */
.rig .pw-btn{cursor:pointer}
.rig .pw-knob{transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.rig.powered .pw-knob{transform:translateX(26px)}
.rig .pw-hint{opacity:0;transition:opacity .4s}
.rig.hint .pw-hint{opacity:1;animation:rgHint 1.4s ease-in-out infinite}
@keyframes rgHint{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.14);opacity:.25}}
.rig .pw-hint{transform-box:fill-box;transform-origin:50% 50%}
@media (prefers-reduced-motion:reduce){.rig .dev.on .spin,.rig .dev.on .vu rect,.rig .dev.on .cone,.rig .wire.live .wire-flow,.rig .dev.on .scr-on{animation:none}}
@media (max-width:640px){.rig-svg{height:auto;width:96vw}.rig-head{font-size:10px}}

/* lights down: the room goes dark while anything is on, so screens, LEDs and cables glow */
.rig{transition:background-color .8s}
.rig-dim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#16161c 0%,#0a0a0d 70%,#050507 100%);opacity:0;transition:opacity 1s ease;pointer-events:none}
.rig.dark .rig-dim{opacity:1}
.rig>.rig-stage,.rig>.rig-cap{position:relative;z-index:2}
.rig-room{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.rig-dim{z-index:1}
.rig-head,.rig-cap{transition:color .8s,border-color .8s}
.rig.dark .rig-head,.rig.dark .rig-cap{color:#efefe8;border-color:rgba(239,239,232,.5)}
.rig .dev{transition:filter .8s}
.rig.dark .dev{filter:brightness(.42) saturate(.8)}
.rig.dark .dev.on{filter:brightness(.78)}
.rig .scr-on,.rig .led,.rig .pw-btn{transition:filter .6s}
.rig.dark .dev.on .scr-on{filter:brightness(1.35) drop-shadow(0 0 6px rgba(80,110,255,.85)) drop-shadow(0 0 18px rgba(80,110,255,.45))}
.rig.dark .dev.on[data-type="minimon"] .scr-on{filter:brightness(1.25) drop-shadow(0 0 8px rgba(255,190,140,.8)) drop-shadow(0 0 20px rgba(254,65,2,.4))}
.rig.dark .dev.on[data-type="walkie"] .scr-on{filter:brightness(1.3) drop-shadow(0 0 8px rgba(150,230,130,.8))}
.rig.dark .dev.on[data-type="rack"] .scr-on{filter:brightness(1.4) drop-shadow(0 0 6px rgba(254,65,2,.7))}
.rig.dark .dev.on .led{filter:drop-shadow(0 0 4px #2fd18a) drop-shadow(0 0 10px #2fd18a)}
.rig.dark .dev[data-id="power"].on{filter:brightness(1) drop-shadow(0 0 14px rgba(254,65,2,.7))}
.rig.dark .wire-base{stroke:#1a1a1d}
.rig.dark .wire.live .wire-power{filter:drop-shadow(0 0 4px currentColor)}
.rig.dark .wire.live .wire-flow{opacity:1;filter:drop-shadow(0 0 3px #fff)}
.rig.dark .rig-svg>g[opacity]{opacity:.04}
.rig-svg>g[opacity]{opacity:.05}
.rig.dark .rig-dim{opacity:.93}

/* the three sections of the mark */
.rk{position:relative;background:var(--paper);color:var(--ink);padding:clamp(56px,8vw,110px) 0 clamp(64px,9vw,120px)}
.rig-key{width:min(1100px,calc(100% - 32px));margin:0 auto}
.rk-head{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:10px;margin-bottom:clamp(28px,4vw,48px);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.rk-head b{font-weight:400}
.rk-lead{margin:0 0 clamp(24px,3.5vw,40px);font-family:var(--cond);font-variation-settings:"wdth" 80;font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(28px,4.6vw,56px);line-height:.95;opacity:1;}
.rk-x{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.rig-key ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px)}
.rig-key li{display:flex;gap:14px;align-items:flex-start}
.rk-n{font-family:var(--cond);font-variation-settings:"wdth" 75;font-weight:700;font-size:clamp(44px,6vw,72px);line-height:.8;color:var(--red)}
.rig-key b{display:block;font-family:var(--grot);font-weight:700;font-size:clamp(15px,1.5vw,19px);letter-spacing:.01em}
.rk-part{display:block;margin-top:3px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.rig-key li p{margin:12px 0 0;font-size:clamp(13px,1.2vw,15px);line-height:1.6}
.rig-key li{border-top:1px solid rgba(17,17,17,.2);padding-top:18px}
.rk-sign{margin:26px 0 0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.6;text-align:center}
@media (max-width:720px){.rig-key ol{grid-template-columns:1fr;gap:22px}.rk-n{font-size:36px}}
