body.stage-lighting-active{isolation:isolate}@media screen{html:has(>body:is(.stage-lighting-active,.stage-lighting-layout)){height:100%;overflow:hidden;background:#111412}body:is(.stage-lighting-active,.stage-lighting-layout){--stage-top-gap:40px;height:calc(100vh - var(--stage-top-gap));height:calc(100dvh - var(--stage-top-gap));min-height:0;margin:var(--stage-top-gap) 0 0;overflow:auto;overscroll-behavior-y:none}body:is(.stage-lighting-active,.stage-lighting-layout)>*{flex-shrink:0}}.stage-lighting{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.85}@media(max-width:700px){.stage-lighting{opacity:.32}}@media print{.stage-lighting{display:none}}:is(.stage-lighting-active,.stage-lighting-layout){--stage-content-width:1240px;--stage-content-padding:48px}@media screen and (min-width:1101px){:is(.stage-lighting-active,.stage-lighting-layout){--stage-content-width:min(1240px, calc(100% - 340px) )}}@media screen and (min-width:651px)and (max-width:1100px){:is(.stage-lighting-active,.stage-lighting-layout){--stage-content-width:min(760px, calc(100% - 96px) )}}@media(max-width:900px){:is(.stage-lighting-active,.stage-lighting-layout){--stage-content-padding:28px}}@media(max-width:650px){:is(.stage-lighting-active,.stage-lighting-layout){--stage-content-padding:22px}}@media screen{:is(.stage-lighting-active,.stage-lighting-layout)>.wrap{max-width:var(--stage-content-width)}:is(.stage-lighting-active,.stage-lighting-layout)>:is(.pt-header,main#tool-content,.pt-footer,.site-footer){box-sizing:border-box;width:100%;max-width:var(--stage-content-width);margin-inline:auto;padding-inline:var(--stage-content-padding)}:is(.stage-lighting-active,.stage-lighting-layout).participant-mode>main#tool-content{padding-inline:calc(var(--stage-content-padding) * 2 + 16px)}:is(.stage-lighting-active,.stage-lighting-layout).participant-mode #participant{max-width:760px}}@media(max-width:1540px){:is(.stage-lighting-active,.stage-lighting-layout) :is(.site-header,.pt-header){flex-wrap:wrap}}.lighting-rack{overflow:visible}.rack-display{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:7px 12px;height:100%;color:#d8f3a2;font:22px/1.2 var(--mono)}.rack-display [data-lighting-display]{grid-column:1;grid-row:1}.rack-display [data-lighting-display][data-ready-off=true]{visibility:hidden}.rack-display output{grid-column:2;grid-row:1;align-self:start;font-size:16px}.rack-display small{grid-column:1/-1;grid-row:2;font-size:10px;color:#abc285}.rack-effects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:4px;height:100%}.rack-effect{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;border:1px solid #617056;border-radius:4px;background:#212822;color:#bdc6b5;font:10px/1 var(--mono);cursor:pointer}.lighting-rack .rack-effect svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rack-effect[aria-pressed=true]{background:#c1dda02b;border-color:var(--green);color:var(--green);box-shadow:inset 0 0 8px #c1dda010}.rack-pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:4px;height:100%}.rack-pad{min-width:0;padding:2px;border:1px solid rgba(var(--pad-rgb),.5);border-radius:5px;background:linear-gradient(rgba(var(--pad-rgb),.5),rgba(var(--pad-rgb),.5)) center bottom 6px / 14px 2px no-repeat,rgba(var(--pad-rgb),.12);color:#dbe2d5;box-shadow:inset 0 1px 1px #ffffff08;font:14px/1 var(--mono);cursor:pointer}.rack-pad[aria-pressed=true]{background:linear-gradient(#10181099,#10181099) center bottom 6px / 14px 2px no-repeat,rgba(var(--pad-rgb),.88);color:#101810;border-color:rgb(var(--pad-rgb));box-shadow:0 0 10px rgba(var(--pad-rgb),.25),inset 0 1px 2px #fff5}.rack-pad:hover:not(:disabled),.rack-effect:hover:not(:disabled){border-color:#f0eee5}.rack-pad:focus-visible,.rack-effect:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.rack-pad:disabled,.rack-effect:disabled{cursor:default;opacity:.45}.rack-flashes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:4px;height:100%}.rack-flash{padding:2px;border:1px solid #c3c6bb;border-radius:5px;background:linear-gradient(#f4f2e8,#cccfc3);box-shadow:0 3px #090c0a;color:#283027;font:12px/1 var(--mono);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.rack-flash[aria-pressed=true]{background:#fff;box-shadow:0 0 15px #fff9,inset 0 2px 3px #535c4e}.rack-flash:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.rack-flash:disabled{cursor:default;opacity:.45}.rack-dimmer{display:flex;flex-direction:column;align-items:center;gap:9px;height:100%;padding:4px;color:#c5d2bb;font:11px/1 var(--mono)}.rack-dimmer input{appearance:none;-webkit-appearance:none;writing-mode:vertical-lr;direction:rtl;width:48px;min-height:0;flex:1;margin:3px 0;border:0;padding:0;background:repeating-linear-gradient(to top,#74816c 0 1px,transparent 1px 10%) left center / 8px calc(100% - 22px) no-repeat,repeating-linear-gradient(to top,#74816c 0 1px,transparent 1px 10%) right center / 8px calc(100% - 22px) no-repeat;cursor:ns-resize;touch-action:none}.rack-dimmer input::-webkit-slider-runnable-track{width:8px;height:100%;border:1px solid #0a0e0b;border-radius:3px;background:#0c110d;box-shadow:inset 2px 0 3px #000b,1px 0 #64705b}.rack-dimmer input::-moz-range-track{width:8px;height:100%;border:1px solid #0a0e0b;border-radius:3px;background:#0c110d;box-shadow:inset 2px 0 3px #000b,1px 0 #64705b}.rack-dimmer input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:34px;height:22px;margin-left:-14px;border:1px solid #101610;border-radius:3px;background:linear-gradient(to bottom,#899183,#515b4d 18%,#30392e 43%,#d9edc0 44% 54%,#30392e 55%,#434e3e 80%,#20291f);box-shadow:0 3px 4px #0009,inset 0 1px #c7cfbc66;cursor:ns-resize}.rack-dimmer input::-moz-range-thumb{width:34px;height:22px;border:1px solid #101610;border-radius:3px;background:linear-gradient(to bottom,#899183,#515b4d 18%,#30392e 43%,#d9edc0 44% 54%,#30392e 55%,#434e3e 80%,#20291f);box-shadow:0 3px 4px #0009,inset 0 1px #c7cfbc66;cursor:ns-resize}.rack-dimmer input:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}.rack-dimmer input:disabled{cursor:default;opacity:.45}.lighting-toggle,.lighting-drawer{--green:#c1dda0;--amber:#edb57b;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:dark}.lighting-toggle{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:101;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:10px;border:1px solid #62715c;border-radius:8px;background:#1c241e;color:#c1dda0;box-shadow:0 3px 14px #0005;cursor:pointer}.lighting-toggle[hidden]{display:none}.lighting-toggle svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.lighting-toggle:hover,.lighting-toggle[aria-expanded=true]{background:#34422d;border-color:#c1dda0}.lighting-toggle:focus-visible{outline:3px solid #edb57b;outline-offset:3px}.lighting-drawer{position:fixed;z-index:100;top:64px;right:0;width:min(560px,100vw);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);margin:0;padding:0;overflow:auto;overscroll-behavior:contain;visibility:hidden;transform:translate(105%);transition:transform .32s ease,visibility 0s .32s;pointer-events:none}.lighting-drawer.is-open{visibility:visible;transform:translate(0);transition-delay:0s;pointer-events:auto}.lighting-drawer .lighting-rack{display:block;width:100%;height:auto}.lighting-drawer .rack-decoration{display:none}.lighting-drawer *{box-sizing:border-box}@media(prefers-reduced-motion:reduce){.lighting-drawer{transition:none}}@media print{.lighting-toggle,.lighting-drawer{display:none}}.performance-rig{display:flex;flex-wrap:wrap;align-items:center;gap:0;min-width:0;width:100%;container-type:inline-size;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--amber:#edb57b;--green:#c1dda0;color-scheme:dark}.performance-rig .lighting-rack{display:block;flex:1 1 300px;width:calc(100% - 170px);min-width:0;height:auto}.performance-rig,.lighting-drawer .stage-deck>.lighting-rack{transform:rotate(-4deg);transform-origin:center}.lighting-drawer .performance-rig{width:calc(100% - 28px);margin:22px 14px}@media(max-width:550px){.performance-rig,.lighting-drawer .stage-deck>.lighting-rack{transform:rotate(-2deg)}}.lighting-drawer:has(.performance-rig){width:min(750px,100vw)}.hero:has(.performance-rig){grid-template-columns:minmax(270px,.85fr) minmax(460px,1.25fr)}.dj-controller{position:relative;isolation:isolate;flex:0 0 146px;display:grid;grid-template-columns:1fr;gap:13px;margin:24px 15px 44px 9px;padding:19px 13px 14px;border:1px solid #667068;border-radius:10px;background-color:#191e1b;background-image:repeating-linear-gradient(0deg,#fff0 0 2px,#ffffff02 2px 3px),linear-gradient(115deg,#343936,#141816 42%,#222825);box-shadow:inset 0 1px 1px #ffffff24;color:#e6e9df;font:10px/1.3 var(--mono);text-align:left}.dj-controller:before,.dj-controller:after{content:"";position:absolute;left:6px;right:6px;height:5px;background:radial-gradient(circle at 2.5px 2.5px,#171c18 0 1px,#7a8379 1px 2.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 2.5px) 2.5px,#171c18 0 1px,#7a8379 1px 2.5px,transparent 2.5px);pointer-events:none}.dj-controller:before{top:6px}.dj-controller:after{bottom:6px}.dj-brand{font-size:8px;letter-spacing:.3px;white-space:nowrap;color:#c5d2bb}.dj-screen{min-width:0;padding:9px 7px 7px;border:1px solid #455144;border-radius:4px;background:#080e0b;box-shadow:inset 0 2px 5px #0008}.dj-screen-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:3px;margin-bottom:9px;color:#c1dda0;font-size:8px;letter-spacing:.5px}.dj-screen-top [data-dj-bar]{grid-column:1;white-space:nowrap}.dj-screen-top [data-dj-state]{grid-column:2;text-align:center;letter-spacing:0}.dj-screen-top [data-dj-time]{grid-column:3;text-align:right;letter-spacing:0;white-space:nowrap}.dj-controller .dj-track{display:flex;align-items:center;gap:5px;color:#e8edde;font:600 11px/1.2 var(--mono);letter-spacing:-.4px;text-decoration:none}.dj-track .dj-cover{display:block;flex:none;width:24px;height:24px;object-fit:cover;border-radius:2px}.dj-track-info{display:block;min-width:0}.dj-track-info strong{display:block;font:inherit}.dj-track-info strong,.dj-track .dj-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dj-track .dj-artist{display:block;margin-top:4px;color:#a5b398;font-size:8px;font-weight:400;letter-spacing:0}.dj-screen progress{display:block;appearance:none;width:100%;height:3px;margin-top:10px;border:0;border-radius:0;background:#27362b;accent-color:#c1dda0}.dj-screen progress::-webkit-progress-bar{background:#27362b}.dj-screen progress::-webkit-progress-value{background:#c1dda0}.dj-screen progress::-moz-progress-bar{background:#c1dda0}.dj-channel{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:0 7px}.dj-scale{display:flex;justify-content:space-between;align-items:center;font:8px/1.2 var(--mono);letter-spacing:1px;color:#a6b1a5}.dj-controller .dj-fader{height:72px;padding:0}.dj-controller .dj-fader input{width:56px;max-width:none;box-shadow:none}.dj-scale{font-size:7px;color:#849280}.dj-hot-cues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.dj-hot-cues button{--cue-rgb:90,230,255;display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;margin:0;padding:0;border:1px solid transparent;border-radius:4px;background:radial-gradient(ellipse at 50% 45%,rgba(var(--cue-rgb),.42) 0% 40%,rgba(var(--cue-rgb),.28) 160%),#15201b;color:#f2fff8;box-shadow:none;font:700 11px/1 var(--mono);cursor:pointer;touch-action:manipulation}.dj-hot-cues button:nth-child(2){--cue-rgb:238,115,255}.dj-hot-cues button:nth-child(3){--cue-rgb:255,184,72}.dj-hot-cues button:nth-child(4){--cue-rgb:133,243,108}.dj-hot-cues button:nth-child(5){--cue-rgb:255,104,142}.dj-hot-cues button:nth-child(6){--cue-rgb:100,151,255}.dj-hot-cues button:nth-child(7){--cue-rgb:255,231,99}.dj-hot-cues button:nth-child(8){--cue-rgb:86,241,186}.dj-hot-cues button:active:not(:disabled){background:radial-gradient(ellipse at 50% 45%,rgba(var(--cue-rgb),.74) 0% 40%,rgba(var(--cue-rgb),.48) 160%),#15201b}.dj-transport{display:flex;align-items:center;justify-content:space-between;gap:10px}.dj-controller .dj-play,.dj-controller .dj-cue{display:grid;place-items:center;flex:none;margin:0;padding:0;min-height:0;border-radius:50%;cursor:pointer;font:700 9px/1 var(--mono);touch-action:manipulation}.dj-controller .dj-play{width:48px;height:48px;border:2px solid #add58b;color:#d5efb6;background:radial-gradient(circle at 40% 25%,#343e32,#111b12 75%);box-shadow:0 3px #070b08,inset 0 1px 2px #ffffff30,0 0 9px #c1dda01a}.dj-controller .dj-play svg{display:block;width:23px;height:23px;fill:currentColor;stroke:none}.dj-pause-icon,.is-playing .dj-play-icon{display:none}.is-playing .dj-pause-icon{display:block}.dj-controller.is-playing .dj-play{color:#f3ffe6;border-color:#ccf59f;background:radial-gradient(circle at 40% 25%,#4b6240,#1d3417 75%);box-shadow:0 3px #070b08,0 0 14px #b8f46c55,inset 0 1px 2px #ffffff40}.dj-controller.is-ready .dj-play{animation:dj-play-ready 1.2s steps(1,end) infinite}.dj-controller:not(.is-ready):not(.is-playing) .dj-play{border-color:#526447;color:#6f8063;box-shadow:0 3px #070b08,inset 0 1px 2px #ffffff20}@keyframes dj-play-ready{0%,to{border-color:#ccf59f;color:#f3ffe6;box-shadow:0 3px #070b08,0 0 14px #b8f46c55,inset 0 1px 2px #ffffff40}50%{border-color:#526447;color:#6f8063;box-shadow:0 3px #070b08,inset 0 1px 2px #ffffff20}}@media(prefers-reduced-motion:reduce){.dj-controller.is-ready .dj-play{animation:none}}.dj-controller .dj-cue{width:42px;height:42px;border:2px solid #b68652;background:radial-gradient(circle at 40% 25%,#4a3b2c,#231b14 75%);color:#edbd85;box-shadow:0 3px #070b08,inset 0 1px 2px #ffffff20}.dj-controller button:hover:not(:disabled){filter:brightness(1.2)}.dj-controller button:active:not(:disabled){translate:0 1px}.dj-controller button:disabled{opacity:.45;cursor:default}.dj-controller :is(button,a):focus-visible{outline:3px solid #edb57b;outline-offset:3px}.dj-controller .dj-credit{display:block;margin-top:9px;color:#b2b9ab;text-decoration:none;font:7px/1.5 var(--mono);letter-spacing:.3px;text-align:left}.dj-controller .dj-credit:hover,.dj-controller .dj-track:hover{color:#edb57b}.dj-controller .dj-hint[hidden]{display:none}.dj-controller .dj-hint{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1;margin:0;padding:7px;border:1px solid #475640;border-radius:4px;background:#141c16;color:#b2b9ab;font:8px/1.4 var(--mono);text-align:center;overflow-wrap:anywhere}.dj-embed{flex:1 0 100%;padding:12px;margin-bottom:20px;border:1px solid #475640;border-radius:8px;background:#141c16;color:#c1dda0;font:12px/1.5 var(--mono)}.dj-embed[hidden]{display:none}.dj-embed summary{cursor:pointer}.dj-embed iframe{display:block;width:100%;height:166px;margin-top:12px;border:0}@media(max-width:1250px){.hero:has(.performance-rig){grid-template-columns:1fr}.hero:has(.performance-rig) .hero-art{max-width:740px;width:100%;margin:12px auto 0}.hero:has(.performance-rig) .hero-copy>p:not(.eyebrow):not(.hero-note){max-width:600px}}@container (max-width:500px){.performance-rig .lighting-rack{flex-basis:100%;width:100%}.dj-controller{margin:0 auto 44px}}@media print{.dj-controller,.dj-embed{display:none}}.stage-session{min-width:0;--stage-deck-width:860px;--stage-toolbar-height: calc(36px + env(safe-area-inset-bottom)) }.stage-toolbar{display:none}.stage-device{display:contents}.stage-device-select{display:none}.stage-entry{text-align:right;padding:0 14px 12px}.stage-caption{margin:0 0 4px;color:#a3ae99;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:2px}.controller-hint{display:block;width:100%;height:auto;margin:-24px 0 16px;color:#abb0a3;transform:rotate(-4deg);transform-origin:center}.stage-mode .controller-hint{display:none}@media(max-width:550px){.stage-session .controller-hint{display:none}}.stage-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.stage-link:hover{color:#c1dda0}.stage-link:focus-visible{outline:3px solid #edb57b;outline-offset:3px}.stage-link[hidden]{display:none}.stage-session:focus{outline:none}.stage-back:focus-visible{outline:none;color:#edb57b;text-decoration:underline;text-underline-offset:4px}@media screen{body.stage-mode{--stage-top-gap:0px;--stage-room-aspect:1.3;overflow:hidden}body.stage-mode:after{content:"";position:fixed;inset:0;z-index:199;background:#111412}.stage-mode>.stage-lighting{inset:0 0 auto;height:min(100%,calc(100vw / var(--stage-room-aspect)));z-index:200;opacity:1}.stage-mode .hero-art{transform:none}.stage-mode .lighting-drawer{transform:none;transition:none;overflow:visible}.stage-mode .stage-session{position:fixed;inset:0;z-index:201;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding:0 max(12px,env(safe-area-inset-right)) var(--stage-toolbar-height) max(12px,env(safe-area-inset-left));pointer-events:none}.stage-mode .stage-deck{flex:0 1 auto;width:min(var(--stage-deck-width),100%);max-height:calc(100vh - var(--stage-toolbar-height));max-height:calc(100dvh - var(--stage-toolbar-height));overflow:auto;overscroll-behavior:contain;pointer-events:auto;scrollbar-width:thin}.stage-mode .stage-deck .performance-rig{width:100%;margin:0;transform:none;align-items:flex-start}.stage-mode .stage-deck .lighting-rack{transform:none}.stage-mode .stage-deck .dj-controller{margin-top:0;margin-bottom:0}.stage-mode .rack-decoration{display:none}.stage-mode .stage-toolbar{position:absolute;inset:auto 0 0;z-index:3;display:flex;align-items:center;box-sizing:border-box;height:var(--stage-toolbar-height);padding:0 max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left));background:#111412;border-top:1px solid #343c32;pointer-events:auto}.stage-mode .stage-back{min-height:36px;margin:0;padding:4px 0;line-height:1.4;pointer-events:auto}.stage-mode .stage-entry{display:none}.stage-mode .lighting-drawer{z-index:201}.stage-mode .lighting-toggle{visibility:hidden}}@media screen and (max-width:550px){.stage-session .stage-deck:has(.performance-rig){max-height:none;overflow:hidden}.stage-session .stage-deck .performance-rig{display:flex;width:100%;margin:0;transform:none;flex-wrap:nowrap;align-items:flex-start;gap:12px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;container-type:normal}.stage-session .performance-rig::-webkit-scrollbar{display:none}.stage-session .stage-device{position:relative;display:block;flex:0 0 calc(100% - 48px);min-width:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.stage-session .stage-device .lighting-rack{width:100%;height:auto}.stage-session .stage-device-select:not([hidden]){position:absolute;inset:0;z-index:5;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:8px;background:#11141233;color:#c1dda0;cursor:pointer}.stage-device-select:focus-visible{outline:3px solid #edb57b;outline-offset:-3px}.stage-session .stage-deck .dj-controller{width:100%;margin:0;grid-template-columns:minmax(0,1fr) 112px;gap:10px 18px;padding:16px 12px}.stage-session .dj-brand{grid-column:1/-1}.stage-session .dj-screen{grid-column:1;grid-row:2}.stage-session .dj-hot-cues{grid-column:1;grid-row:3}.stage-session .dj-channel{grid-column:2;grid-row:2}.stage-session .dj-transport{grid-column:2;grid-row:3;justify-content:flex-start;gap:8px;margin-left:8px}}@media screen and (max-width:370px){.stage-session .dj-screen{grid-column:1}.stage-session .dj-hot-cues{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-session .dj-channel{grid-column:2;grid-row:2}.stage-session .dj-transport{align-self:center}}@media print{.stage-back,.stage-entry{display:none}}.stage-background,.stage-restore{display:none;touch-action:none}@media screen{.stage-mode .stage-session{overflow:hidden}.stage-mode .stage-background{display:block;position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:auto}.stage-mode .stage-deck{position:relative;left:calc(0px - var(--stage-pan-offset,0px));z-index:1;box-sizing:border-box;padding-block:48px 12px;scroll-padding-block:48px 12px;transition:translate .35s ease}.stage-mode .stage-deck:has(.performance-rig){max-height:calc(100vh - var(--stage-toolbar-height));max-height:calc(100dvh - var(--stage-toolbar-height));overflow-x:hidden;overflow-y:auto}.stage-mode .stage-session.is-tucked .stage-deck{translate:0 var(--stage-tuck-offset,0px);pointer-events:none}.stage-mode .stage-restore:not([hidden]){display:block;position:absolute;right:calc(max(12px,env(safe-area-inset-right)) + var(--stage-pan-offset,0px));bottom:var(--stage-toolbar-height);z-index:2;width:min(var(--stage-deck-width),calc(100% - 24px));height:var(--stage-restore-height,48px);margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;pointer-events:auto}.stage-mode .stage-back{z-index:3}.stage-background:focus-visible,.stage-restore:focus-visible{outline:2px solid #edb57b;outline-offset:-4px}}@media screen and (orientation:landscape)and (max-height:600px){.stage-mode .stage-session{padding-bottom:var(--stage-toolbar-height)}.stage-mode .stage-deck,.stage-mode .stage-deck:has(.performance-rig){max-height:calc(100vh - var(--stage-toolbar-height));max-height:calc(100dvh - var(--stage-toolbar-height));padding-top:calc(100vh - var(--stage-toolbar-height) - 12px);padding-top:calc(100dvh - var(--stage-toolbar-height) - 12px);padding-bottom:0}.stage-mode .stage-deck .performance-rig,.stage-mode .stage-deck>.lighting-rack{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.stage-mode .stage-deck{transition:none}}@media screen and (max-width:900px),screen and (pointer:coarse){.stage-mode .stage-deck{scrollbar-width:none}.stage-mode .stage-deck::-webkit-scrollbar{display:none}}.stage-mode .stage-toolbar{gap:24px}.stage-fixtures{margin-left:auto;font:13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.stage-fixtures>summary{cursor:pointer;padding:8px 0;color:#c1dda0}.stage-fixture-panel{position:absolute;left:12px;bottom:calc(100% + 12px);box-sizing:border-box;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 76px);overflow:auto;padding:20px;border:1px solid #475640;border-radius:8px;background:#141c16;color:#dbe2d5;box-shadow:0 8px 28px #0007}.stage-fixture-panel p{font:13px/1.6 ui-sans-serif,system-ui,sans-serif;letter-spacing:0;margin:0 0 12px}.stage-fixture-panel h3{font:600 15px/1.3 ui-sans-serif,system-ui,sans-serif;letter-spacing:0;margin:20px 0 8px}.stage-fixture-panel a{color:#c1dda0;font-size:12px;text-decoration:none}.stage-fixture-panel [hidden]{display:none}.stage-fixture-filters{display:flex;flex-wrap:wrap;gap:6px}.stage-fixture-filters button{margin:0;padding:8px;border:1px solid #475640;border-radius:4px;background:#1c241e;color:#c5d2bb;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:pointer}.stage-fixture-filters button[aria-pressed=true]{border-color:#c1dda0;background:#34422d;color:#f0eee5}@media screen and (min-width:551px){.stage-mode .stage-deck .performance-rig{align-items:stretch}.stage-mode .stage-deck .dj-controller{align-self:stretch}}@media(max-width:420px){.stage-mode .stage-toolbar{gap:16px}.stage-fixtures{font-size:11px}}.rack-stage-groups{display:none}.stage-mode .rack-stage-groups{display:block}.rack-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;gap:var(--rack-display-gap,4px);color:#d8f3a2}.rack-group{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:28px minmax(0,1fr) 22px repeat(3,30px) 22px;gap:var(--rack-display-gap,4px);min-width:0;padding:0}.rack-group .rack-dimmer{box-sizing:border-box;flex:1;height:auto;min-height:0;gap:3px;padding:0;font-size:10px}.rack-group label>span{height:28px;line-height:1.3;font-size:11px;text-align:center;color:#c5d2bb}.rack-group b{color:#d8f3a2}.rack-group input{width:100%;max-width:56px;margin:2px 0;min-height:46px}.rack-group output{font:11px/1.2 var(--mono);color:#d8f3a2}.lighting-drawer:has(.performance-rig):not(:has(.dj-controller)){width:min(560px,100vw)}@media screen and (min-width:551px){.stage-mode .stage-deck .performance-rig{flex-wrap:nowrap}}@media screen and (max-width:550px){body:not(.stage-mode) .performance-rig:not(:has(.dj-controller)) [data-stage-device=light]{flex-basis:100%}}@media screen and (min-width:551px)and (max-width:800px){.stage-mode .stage-deck .performance-rig{flex-wrap:nowrap;align-items:stretch;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;container-type:normal}.stage-mode .performance-rig::-webkit-scrollbar{display:none}.stage-mode .stage-device{position:relative;display:flex;flex:0 0 min(420px,calc(100% - 48px));min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.stage-mode .stage-device .lighting-rack{width:100%;flex-basis:100%}.stage-mode .stage-device .dj-controller{margin:0 auto}.stage-mode .stage-device-select:not([hidden]){position:absolute;inset:0;z-index:5;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:8px;background:#11141233;cursor:pointer}}.rack-group button,.rack-atmosphere-legend{box-sizing:border-box;display:block;flex:0 0 36px;width:100%;margin:0;padding:10px 1px;border:1px solid #526347;border-radius:3px;background:#1c2619;color:#abb7a2;text-align:center;font:11px/1.2 var(--mono);cursor:pointer}.rack-group button[aria-pressed=true]{background:#89ba6340;border-color:#c1dda0;color:#d8f3a2}.rack-group button:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.rack-atmosphere-legend{padding-top:12px;border-color:transparent;background:none;font-size:8px;cursor:default}.stage-mode .rack-master-panel,.stage-mode .rack-display [data-dimmer-output]{display:none}.stage-mode .rack-flashes{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}.stage-mode .rack-flash{font-size:9px}.rack-fx-navigation{display:none}.stage-mode .rack-fx-navigation{display:block}.rack-fx-modes{display:flex;flex-direction:column;gap:12px;height:100%;padding:4px}.rack-fx-modes button{flex:1;min-height:44px;margin:0;padding:8px 2px;border:1px solid #65715a;border-radius:5px;background:#263123;color:#c5d2bb;font:12px/1.6 var(--mono);cursor:pointer}.rack-fx-modes button:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.stage-mode .lighting-rack:not([data-fx-page=beam]) .rack-beam-panel,.stage-mode .lighting-rack:not([data-fx-page=color]) .rack-color-panel,.stage-mode .lighting-rack:not([data-fx-page=groups]) .rack-stage-groups{display:none}.stage-mode .rack-effects{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:9px}.stage-mode .rack-effect{font-size:13px;gap:7px}.stage-mode .lighting-rack .rack-effect svg{width:26px;height:26px}.rack-color-fx{--fx-idle-background:#12576b;--fx-idle-lit-background:#2393ad;--fx-background:#08b8ee;--fx-lit-background:#41e4ff;--fx-text:#b7e7f2}.rack-beam-fx{--fx-idle-background:#672052;--fx-idle-lit-background:#b23891;--fx-background:#ec14b7;--fx-lit-background:#ff58da;--fx-text:#f2bde5}.rack-move-fx{--fx-idle-background:#2b541b;--fx-idle-lit-background:#579e32;--fx-background:#51e71d;--fx-lit-background:#8bff52;--fx-text:#c7edb6}.rack-group button.rack-color-fx,.rack-group button.rack-beam-fx,.rack-group button.rack-move-fx,.rack-fx-modes button{background:radial-gradient(ellipse at 50% 45%,var(--fx-idle-lit-background) 0%,var(--fx-idle-lit-background) 40%,var(--fx-idle-background) 100%) var(--fx-idle-background);border-color:transparent;color:var(--fx-text);box-shadow:none}.rack-group .rack-color-fx[aria-pressed=true]:not(:disabled),.rack-group .rack-beam-fx[aria-pressed=true]:not(:disabled),.rack-group .rack-move-fx[aria-pressed=true]:not(:disabled),.rack-fx-modes button[aria-pressed=true]{background:radial-gradient(ellipse at 50% 45%,var(--fx-lit-background) 0%,var(--fx-lit-background) 40%,var(--fx-background) 100%) var(--fx-background);color:#102018}.stage-mode .rack-group label>span{font-size:10px}.stage-mode .rack-group button{font-size:8px}.stage-mode .rack-status-panel{display:none}.rack-group .rack-lock{margin:0;padding:4px 1px;border:1px solid #526347;border-radius:3px;background:#1c2619;color:#abb7a2;font:10px/1.2 var(--mono);cursor:pointer}.rack-group .rack-lock[aria-pressed=true]{background:rgba(var(--lock-rgb),.3);border-color:rgb(var(--lock-rgb));color:#fff}.rack-group .rack-lock[data-pending=true]{border-color:#edb57b;color:#edb57b;animation:rack-lock-pending 1s ease-in-out infinite}.rack-group .rack-lock:focus-visible{outline:3px solid var(--amber);outline-offset:-2px}.rack-group button:disabled{opacity:.45;cursor:default}.rack-group button:is(.rack-color-fx,.rack-beam-fx,.rack-move-fx):disabled{background:#202622;border-color:transparent;color:#68716b;box-shadow:none;opacity:1}@keyframes rack-lock-pending{50%{background:#edb57b60;color:#fff}}@media(prefers-reduced-motion:reduce){.rack-group .rack-lock[data-pending=true]{animation:none;background:#edb57b40}}.stage-mode .rack-fx-modes button{flex:0 0 38px;min-height:0;padding:3px 1px;font-size:11px;line-height:1.3}.stage-mode .rack-flashes{grid-template-rows:repeat(3,auto);align-content:start}.stage-mode .rack-flash{aspect-ratio:1;min-height:0}.rack-move-panel{display:none}.stage-mode .lighting-rack[data-fx-page=move] .rack-move-panel{display:block}.rack-move-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;height:100%;padding:4px}.rack-move-icon{font-size:30px;line-height:1}.rack-fx-modes button,.rack-group button{white-space:nowrap}.stage-mode .rack-group button{flex-basis:30px;height:30px;padding:7px 1px}.stage-mode .rack-group .rack-lock{height:22px;padding:3px 1px;font-size:10px;white-space:nowrap}.stage-mode .rack-group [data-stage-group-blinder]{flex:0 0 22px;height:22px;padding:0;border-color:#fff;background:#fff;touch-action:none;user-select:none}.stage-mode .rack-group [data-stage-group-blinder][aria-pressed=true]{box-shadow:inset 0 0 0 2px #a7bcb0,0 0 8px #ffffff80}.rack-hazer-panel{display:none}.stage-mode .rack-hazer-panel{display:block}.stage-mode .rack-flashes{grid-template-rows:repeat(3,38px);gap:12px}.stage-mode .rack-flash{aspect-ratio:auto;font-size:11px;white-space:nowrap}.rack-hazer{box-sizing:border-box;gap:3px;padding:2px 4px;font-size:10px}.rack-hazer input{width:56px}.rack-hazer output{font-size:10px}.rack-uv-panel{display:none}.stage-mode .rack-uv-panel{display:block}.rack-uv{box-sizing:border-box;gap:3px;padding:2px 4px;color:#cc9dff;font-size:10px}.rack-uv input{width:56px}.rack-uv output{display:none}.stage-mode .stage-deck .performance-rig{align-items:stretch}@media screen and (max-width:800px){.stage-mode .stage-device{display:flex;align-items:stretch}.stage-mode .stage-device .lighting-rack{align-self:stretch;height:100%}}@media screen and (max-width:550px){.stage-mode .stage-device .dj-controller{flex:1 1 auto;min-width:0}}.rack-hazer input{background:linear-gradient(#edb57b,#edb57b) left center / 12px 2px no-repeat,linear-gradient(#edb57b,#edb57b) right center / 12px 2px no-repeat}.stage-mode .stage-deck .dj-controller{flex-basis:320px;grid-template-columns:minmax(0,1fr) 112px;gap:10px 18px;padding:16px 12px}.stage-mode .dj-brand{grid-column:1/-1}.stage-mode .dj-screen{grid-column:1;grid-row:2}.stage-mode .dj-hot-cues{grid-column:1;grid-row:3}.stage-mode .dj-channel{grid-column:2;grid-row:2}.stage-mode .dj-transport{grid-column:2;grid-row:3;justify-content:flex-start;gap:8px;margin-left:8px}@media screen and (max-width:550px){.stage-mode .stage-deck .dj-controller{flex:1 1 auto}}.stage-mode .stage-deck .dj-controller{grid-template-rows:calc((100% + 34px) * .1395348837 - 27px) minmax(0,1fr) auto}.stage-mode .dj-channel{grid-row:2 / 4;align-self:stretch;padding-bottom:66px}.stage-mode .dj-controller .dj-fader{flex:1;height:auto;min-height:72px}.stage-mode .dj-transport{align-self:end}.stage-mode .lighting-rack text{font-family:var(--mono)}.stage-mode .dj-controller{font-family:var(--mono);font-size:var(--stage-type-size,10px)}.stage-mode .dj-brand{font-size:calc(var(--stage-type-size,10px) * 1.1);letter-spacing:var(--stage-brand-tracking,3px)}.stage-mode .dj-screen-top,.stage-mode .dj-track .dj-artist,.stage-mode .dj-scale,.stage-mode .dj-controller .dj-credit,.stage-mode .dj-controller .dj-hint,.stage-mode .dj-controller .dj-cue,.stage-mode .dj-controller .dj-play{font-size:var(--stage-type-size,10px)}.stage-mode .dj-controller .dj-track,.stage-mode .dj-hot-cues button{font-size:calc(var(--stage-type-size,10px) * 1.1)}.rack-hazer output{display:none}.stage-mode .performance-rig{--controller-font:ui-monospace,SFMono-Regular,Consolas,monospace;--controller-border:#62715c}.stage-mode .lighting-rack text,.stage-mode .lighting-rack foreignObject *,.stage-mode .dj-controller,.stage-mode .dj-controller *{font-family:var(--controller-font)}.stage-mode .lighting-rack [data-rack-housing]{stroke:var(--controller-border);stroke-width:1;vector-effect:non-scaling-stroke}.stage-mode .stage-deck .dj-controller{border:1px solid var(--controller-border);border-radius:10px;padding-inline:var(--stage-case-inset,25px)}.stage-mode .rack-brand,.stage-mode .dj-brand{font-weight:400}.stage-mode .dj-hot-cues{margin-top:8px}@media screen and (max-width:550px){body:not(.stage-mode) .stage-session .dj-hot-cues{margin-top:8px}}.rack-brand{display:flex;align-items:center;height:100%;color:#c5d2bb;font:400 11px/1 var(--mono,monospace);letter-spacing:3px;white-space:nowrap}.stage-mode .dj-brand{position:absolute;grid-column:auto;grid-row:auto;top:calc(var(--stage-type-size,10px) * 1.8 - 1px);left:var(--stage-case-inset,25px);height:calc(var(--stage-type-size,10px) * 2.2);display:flex;align-items:center;line-height:1;color:#c5d2bb}.stage-mode .dj-screen{display:flex;flex-direction:column}.stage-mode .dj-controller .dj-track{flex:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:0}.stage-mode .dj-track .dj-cover{width:40px;height:40px}.stage-mode .dj-track-info{width:100%}.stage-mode .dj-screen progress{flex-shrink:0}.stage-mode .dj-controller .dj-credit{flex-shrink:0;margin-top:9px}.rack-stage-color{display:none}.stage-mode .rack-stage-color{display:block}.stage-mode .rack-pads{grid-template-rows:repeat(4,minmax(0,1fr))}.stage-mode .stage-session{--stage-deck-width:980px}.stage-mode .lighting-rack{--rack-display-gap:6px}.stage-mode .rack-groups{grid-template-columns:repeat(6,minmax(0,1fr))}.stage-mode .rack-group .rack-group-name{flex:0 0 28px;height:28px;padding:0;border-color:#304028;background:#192218;color:#c5d2bb;font-size:10px;line-height:1.3;white-space:normal;overflow:hidden;overflow-wrap:anywhere;word-break:break-all}.stage-mode .rack-group .rack-group-name:hover{border-color:#c1dda0;background:#34422d}.stage-mode .rack-group .rack-group-name[data-empty=true]{color:#7f8c77}.rack-fixture-selection{display:none}.stage-mode .lighting-rack[data-fx-page=fixtures] .rack-fixture-selection{display:block}.rack-fixture-picker{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--rack-display-gap,6px);height:100%;padding:0;color:#d8f3a2;font:11px/1.3 var(--mono)}.rack-fixture-heading{display:flex;align-items:center;gap:var(--rack-display-gap,6px);flex:0 0 32px}.rack-fixture-name{box-sizing:border-box;flex:1;min-width:0;width:100%;height:32px;padding:5px 8px;border:1px solid #526347;border-radius:4px;background:#1c2619;color:#f0f9e6;font:12px/1.3 var(--mono)}.rack-fixture-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--rack-display-gap,6px);flex:0 0 28px}.rack-fixture-tabs button{min-width:0;height:28px;margin:0;padding:3px 4px;border:1px solid #304028;border-radius:4px;background:#192218;color:#abc285;font:10px/1.1 var(--mono);cursor:pointer}.rack-fixture-tabs button:hover{background:#2c3b25}.rack-fixture-tabs button[aria-selected=true]{background:#496239;color:#f0f9e6}.rack-fixture-options{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526347 #172016}.rack-fixture-type{margin:0}.rack-fixture-type button{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;width:100%;min-height:36px;margin:0;padding:5px 8px;border:0;border-bottom:1px solid #34442d;border-radius:0;background:#1c2619;color:#abb7a2;text-align:left;font:11px/1.3 var(--mono);cursor:pointer}.rack-fixture-type button:hover{background:#2c3b25}.rack-fixture-label,.rack-fixture-position{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rack-fixture-position{color:#8c9c82;text-align:right}.rack-fixture-type button[aria-pressed=true]{background:radial-gradient(ellipse at 45% 45%,#64984a,#476a35);color:#f0ffe5}.rack-fixture-type button[aria-pressed=true] .rack-fixture-position{color:#e5f6d7}.rack-fixture-save{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:calc(32px * var(--stage-square-width-scale,1));height:32px;margin:0;padding:0;border:0;border-radius:calc(4px * var(--stage-square-width-scale,1)) / 4px;background:#65d986;color:#0a2d16;box-shadow:none;cursor:pointer}.rack-fixture-save:hover{background:#8eedaa}.lighting-rack .rack-fixture-save svg{display:block;width:calc(18px * var(--stage-square-width-scale,1));height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.rack-fixture-options:focus-visible,.rack-fixture-options button:focus-visible,.rack-fixture-tabs button:focus-visible,.rack-fixture-name:focus-visible,.rack-fixture-save:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}.stage-mode .rack-pads,.stage-mode .rack-effects,.stage-mode .rack-move-effects{box-sizing:border-box;gap:var(--rack-display-gap);padding:0}
