:root{--lamp-color:#edc77e;--lamp-power:1;--display-power:1;--lens-power:1}.lit-monitor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:4}.monitor-power{opacity:var(--display-power);filter:drop-shadow(0 0 12px var(--lamp-color));transition:opacity .7s}.monitor-power image{filter:brightness(1.22) saturate(1.15)}.rig-monitor{z-index:8}.rig-optical-glow{position:absolute;left:27.7%;top:29.3%;width:3.1%;height:13%;border-radius:50%;background:radial-gradient(ellipse,#fff9df88,var(--lamp-color) 15%,transparent 68%);opacity:var(--lens-power);filter:blur(3px);transition:opacity .7s;z-index:9}.optical-glass:after{content:'';position:absolute;inset:18%;border-radius:50%;background:radial-gradient(ellipse,#fff6d533,var(--lamp-color) 15%,transparent 68%);mix-blend-mode:screen;opacity:calc(var(--lens-power)*.8);transition:opacity .7s}.glass-core{box-shadow:0 0 24px color-mix(in srgb,var(--lamp-color) 45%,transparent),inset 0 0 15px #000!important}.live-lamps{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:var(--lamp-power);transition:opacity .7s}.live-lamps i{position:absolute;top:0;width:24%;height:95%;background:linear-gradient(180deg,color-mix(in srgb,var(--lamp-color) 22%,transparent),transparent 90%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(14px);transform-origin:top}.live-lamps i:nth-child(1){left:23%;transform:rotate(-15deg)}.live-lamps i:nth-child(2){left:51%;transform:rotate(12deg)}.live-lamps i:nth-child(3){left:72%;transform:rotate(25deg)}.live-lamps b{position:absolute;top:7%;left:60%;width:12px;height:7px;border-radius:50%;background:#ffefd2;box-shadow:0 0 24px 7px var(--lamp-color)}
.light-console{position:absolute;top:155px;right:4vw;width:178px;z-index:30;color:#e7e2d7;background:#101110e8;border:1px solid #c6a56a44;backdrop-filter:blur(15px);padding:13px;border-radius:5px;font-family:Studio,sans-serif;box-shadow:0 12px 35px #0004}.light-console summary{cursor:pointer;font-size:10px;letter-spacing:.14em;list-style:none;display:flex;justify-content:space-between;align-items:center}.light-console summary:after{content:'−';font-size:16px}.light-console:not([open]) summary:after{content:'+'}.light-console p{font-size:9px;color:#a49d90;margin:12px 0 8px;line-height:1.5}.light-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.light-swatch{width:28px;height:28px;min-width:28px;padding:0;border-radius:50%;border:3px solid #171918;background:var(--swatch);outline:1px solid #ffffff22;cursor:pointer}.light-swatch[aria-pressed=true]{outline:2px solid #f5e5c3;outline-offset:2px}.light-console .light-toggle,.light-console .lens-reveal{display:flex;justify-content:space-between;width:100%;padding:10px 0;background:none;border:0;border-top:1px solid #ffffff16;color:#ded8ca;font-size:10px;text-align:left;cursor:pointer}.light-toggle span{font-size:8px;color:#d8bb7b}.light-console output{display:block;font-size:8px;letter-spacing:.13em;color:#bfa97f;margin:12px 0}.light-console input{width:100%;accent-color:#c6a56a}.lens-reveal{color:#eacb8d!important}.lens-open .profile-optics{opacity:var(--lens-power);transform:scale(1)}.profile-optics{position:absolute;left:39%;top:42%;width:10%;height:35%;border-radius:50%;background:radial-gradient(ellipse,#fff3c933,var(--lamp-color) 5%,transparent 65%);filter:blur(7px);mix-blend-mode:screen;opacity:0;transform:scale(.05);transition:transform 1.2s,opacity 1.2s;pointer-events:none}.lens-door{position:absolute;left:39%;top:36%;width:10%;height:42%;border-radius:50%;background:repeating-linear-gradient(130deg,#111 0px,#252521 2px,#131512 4px);border:1px solid #c2a56c77;box-shadow:inset 0 0 0 6px #121411,0 15px 30px #0008;transform-origin:top;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .8s;z-index:3;display:grid;place-items:center;color:#cdb780;font-size:clamp(6px,1vw,15px);letter-spacing:.12em;pointer-events:none}.lens-open .lens-door{transform:translateY(-80%) rotate(-25deg);opacity:0}.performance-screen{aspect-ratio:16/9!important}.performance-bg{position:absolute;inset:0;filter:brightness(.7)}#performance-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#111;z-index:1}#performance-canvas{z-index:2;pointer-events:none}.performance-brand{z-index:3;background:#080907cc;inset:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center}.performance-brand img{width:45%}.performance-brand span{margin-top:15px}.stage-caption{z-index:4;pointer-events:none;text-shadow:0 2px 7px #000}.speed-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#cdb98e}.speed-label select{background:#151714;border:1px solid #c2a56c55;padding:10px;color:#eee0c4;border-radius:3px}.performance .light-console{top:16px;right:16px;width:160px}.performance .light-console p{display:none}.performance .light-console{background:#101110d9}.piano-panel{margin-top:35px;padding-top:25px;border-top:1px solid #c2a56c33}.piano-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.piano-intro p{font-size:11px;color:#bdb3a1;line-height:1.7}.piano-keys{display:flex;position:relative;width:100%;max-width:620px;height:135px;isolation:isolate}.piano-key{position:relative;flex:1;background:linear-gradient(#f4eee1,#d8cfbb);color:#4b4333;border:1px solid #25251d;border-radius:0 0 6px 6px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:12px;cursor:pointer;box-shadow:inset 0 -5px 0 #b0a68e;font-size:10px;touch-action:manipulation}.piano-key small{opacity:.6;margin-top:6px}.piano-key.black{position:absolute;top:0;width:8%;height:62%;background:linear-gradient(90deg,#151713,#393a30,#10130e);color:#e6d7b0;z-index:2;box-shadow:inset 0 -5px 0 #080a07}.piano-key.active{background:var(--lamp-color);box-shadow:0 0 25px color-mix(in srgb,var(--lamp-color) 50%,transparent);transform:translateY(2px)}.piano-demo{background:none;border:1px solid #c2a56c55;padding:10px 14px;color:#dfc795;cursor:pointer;font-size:10px}.piano-status{font-size:9px!important;margin:12px 0!important;min-height:16px}.sound-content{max-width:680px}.sound-lab{min-height:880px}.piano-flash .live-lamps{filter:brightness(1.8)}
@media(max-width:760px){.light-console{top:125px;right:12px;width:156px;padding:10px}.light-console summary{font-size:8px}.light-swatch{width:25px;height:25px;min-width:25px}.light-console .light-toggle{padding:8px 0;font-size:9px}.light-console p{font-size:8px}.light-console output{font-size:7px}.performance .light-console{top:8px;right:8px;width:145px}.performance .light-console[open]{max-height:80%;overflow:auto}.performance-brand img{width:60%}.performance-screen{margin-left:0!important;margin-right:0!important}.stage-caption{bottom:12px!important;left:12px!important;right:12px!important;font-size:6px!important}.stage-caption span:last-child{display:none}.piano-keys{height:115px}.piano-intro{align-items:flex-start}.sound-lab{min-height:1050px}.lens-door,.profile-optics{left:34%;width:14%}.light-console:not([open]){width:145px}}
@media(prefers-reduced-motion:reduce){.monitor-power,.live-lamps,.profile-optics,.lens-door{transition:none}}
.live-lamps{z-index:5}.live-lamps b{top:8%;left:35%;box-shadow:0 0 24px 7px var(--lamp-color),300px 0 18px 4px var(--lamp-color)}.rig-lens-door{position:absolute;left:25%;top:26%;width:7%;height:19%;z-index:10;background:linear-gradient(120deg,#111,#27271e,#080908);border:1px solid #a98d55;border-radius:35%;display:grid;place-items:center;transform-origin:top;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .8s;box-shadow:0 10px 15px #0008}.rig-lens-door img{width:90%;transform:rotate(-90deg)}.lens-open .rig-lens-door{transform:translateY(-100%) rotate(-25deg);opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.rig-lens-door{transition:none}}
@media(min-width:761px){.profile-optics{left:28.5%;top:29%;width:10%;height:45%}.lens-door{left:28.5%;top:27%;width:10%;height:47%}}.live-lamps i{opacity:.48;filter:blur(24px)}
/* Assembly is the single source of truth for every illuminated overlay. */
.cinema-stage,.equipment-stage{--ready-gate:0;--screen-gate:0;--cue-0:0;--cue-1:0;--cue-2:0;--cue-3:0}.cinema-stage .monitor-power,.equipment-stage .monitor-power{opacity:calc(var(--display-power)*var(--screen-gate));transition:none}.cinema-stage .optical-glass:after{opacity:calc(var(--lens-power)*var(--screen-gate)*.65)}.cinema-stage .glass-core{box-shadow:inset 0 0 15px #000!important}.equipment-stage .rig-optical-glow{opacity:calc(var(--lens-power)*var(--screen-gate)*.65);transition:none}.profile-optics,.lens-door,.rig-lens-door{display:none!important}.equipment-stage .rig-monitor{transition:none}.assembly-light-status{display:block!important;font-size:8px!important;line-height:1.7!important;color:#ceba88!important;letter-spacing:.08em;margin-top:12px!important}.live-lamps{opacity:calc(var(--lamp-power)*var(--ready-gate));inset:0;z-index:5;transition:none}.moving-light{position:absolute;top:110px;left:calc(27% + var(--lamp-index)*16%);width:40px;height:40px;transform-origin:50% 12px;transform:rotate(-12deg);animation:spot-sweep 9s ease-in-out infinite alternate;animation-delay:calc(var(--lamp-index)*-2.2s);animation-play-state:paused}.ready-lights .moving-light{animation-play-state:running}.lamp-head{position:absolute;inset:0;background:linear-gradient(90deg,#0c0e0e,#54574e 48%,#151714);border:1px solid #af956355;border-radius:9px 9px 15px 15px;box-shadow:0 -9px 0 -5px #777565}.lamp-head:after{content:'';position:absolute;left:5px;right:5px;height:8px;bottom:3px;border-radius:50%;background:var(--lamp-color);box-shadow:0 0 18px var(--lamp-color);opacity:var(--cue)}.lamp-beam{position:absolute;top:32px;left:-115px;width:270px;height:65vh;opacity:calc(var(--cue)*.24);background:linear-gradient(var(--lamp-color),transparent);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);filter:blur(8px)}.lamp-pool{position:absolute;top:63vh;left:-100px;width:240px;height:35px;border-radius:50%;background:var(--lamp-color);filter:blur(25px);opacity:calc(var(--cue)*.16)}@keyframes spot-sweep{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
.equipment-sculpture{width:min(56vw,900px)!important;left:60%!important;top:55%!important}.equipment-stage .light-console{right:3vw;top:165px;width:165px}.equipment-copy{max-width:28%}.equipment-stage .live-lamps{z-index:5}.performance-screen{max-width:1080px;margin-left:auto!important;margin-right:auto!important}.performance-controls{max-width:1080px;margin-left:auto;margin-right:auto}.performance #show-seek{display:block;max-width:1080px;margin-left:auto;margin-right:auto}.motion-off .moving-light,.animation-hidden .moving-light{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.moving-light{animation:none!important}}@media(max-width:760px){.equipment-sculpture{width:86vw!important;left:48%!important;top:39%!important}.equipment-stage .light-console{right:12px;top:110px;width:145px}.equipment-copy{max-width:90%}.moving-light{top:95px;left:calc(9% + var(--lamp-index)*24%);transform:scale(.7)}.lamp-beam{height:49vh}.lamp-pool{top:48vh}.light-console .assembly-light-status{font-size:7px!important}}

/* Readable lighting controls; the control hit area stays larger than each colour chip. */
.light-console{box-sizing:border-box;width:234px;padding:12px 14px;max-width:calc(100vw - 24px)}
.light-console:not([open]){width:190px;padding-top:4px;padding-bottom:4px}
.light-console summary{min-height:44px;font-size:12px;letter-spacing:.09em;gap:14px}
.light-console summary:after{font-size:22px}
.light-console p{font-size:11px;line-height:1.65;color:#bcb4a4}
.light-swatches{grid-template-columns:repeat(4,44px);justify-content:space-between;gap:8px;margin:12px 0}
.light-console .light-swatch{box-sizing:border-box;width:44px;height:44px;min-width:44px;padding:7px;border:1px solid #ffffff24;background:var(--swatch);background-clip:content-box;outline:none;touch-action:manipulation}
.light-console .light-swatch[aria-pressed=true]{border-color:#f5e5c3;box-shadow:0 0 0 1px #f5e5c3}
.light-console .light-toggle,.light-console .lens-reveal{min-height:44px;align-items:center;gap:12px;font-size:12px;line-height:1.4;padding:10px 0;touch-action:manipulation}
.light-console .light-toggle span,.light-console output{font-size:11px;letter-spacing:.06em}
.light-console .assembly-light-status{font-size:11px!important;letter-spacing:.03em}
.light-console input[type=range]{display:block;box-sizing:border-box;min-height:44px;margin:4px 0 0;padding:0;cursor:ew-resize;touch-action:pan-y}
.light-console .director-controls label{font-size:12px;line-height:1.45}
.light-console .director-controls select{min-height:44px;font-size:12px}
.light-console :is(button,summary,input,select):focus-visible{outline:2px solid #f1d59a;outline-offset:3px}
.cinema-stage .light-console[open],.equipment-stage .light-console[open]{max-height:calc(100svh - 220px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b69a65 #191a18}
.equipment-stage .light-console{width:234px}
.equipment-stage .light-console:not([open]){width:190px}
.performance .light-console{width:234px}
.performance .light-console:not([open]){width:190px}
.performance .light-console[open]{max-height:calc(100% - 32px);overflow-y:auto;overscroll-behavior:contain}
.cinema-stage .spotlight{animation:none;opacity:calc(var(--cue-3)*var(--light-stage-opacity,1))}
.cinema-stage .live-lamps,.equipment-stage .live-lamps{opacity:calc(var(--lamp-power)*var(--ready-gate)*var(--light-stage-opacity,1))}
.lamps-off .moving-light{animation-play-state:paused!important}
.piano-demo{min-height:44px;font-size:12px}.piano-status{font-size:11px!important;line-height:1.6}
.speed-label{font-size:12px}.speed-label select{min-height:44px;font-size:12px}
@media(max-width:760px){
 .cinema-stage .light-console,.equipment-stage .light-console{top:108px;right:12px;width:234px;padding:10px 14px}
 .cinema-stage .light-console:not([open]),.equipment-stage .light-console:not([open]){width:190px;padding-top:2px;padding-bottom:2px}
 .cinema-stage .light-console[open],.equipment-stage .light-console[open]{max-height:calc(100svh - 180px)}
 .light-console summary{font-size:12px}.light-console p{font-size:11px}.light-console output{font-size:11px}
 .performance .light-console{top:8px;right:8px;width:234px}.performance .light-console:not([open]){width:174px;padding-top:0;padding-bottom:0}
 .performance .light-console[open]{max-height:calc(100% - 16px)}
 .stage-caption{font-size:10px!important;line-height:1.5}
 .piano-intro{flex-wrap:wrap}.piano-key{font-size:11px}
}
