/* One visual language for the club's controls: machined passes and stage pads. */
body.lighting-view #light-deck{display:none}
body.lighting-view #control-tip{max-width:min(48vw,600px)}
.simple-player{display:grid;grid-template-columns:1fr auto;gap:10px 18px;max-width:720px;padding:22px;background:#13251f;border:1px solid #a68e63;margin:20px 0}
.simple-player .simple-transport{grid-column:1/-1;display:flex;gap:12px}.simple-transport button{min-width:100px;min-height:48px;background:#ecd3a9;color:#10251b;font-weight:900}
.simple-player label{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.simple-player input{width:100%;min-height:44px;accent-color:#edcc91}.simple-player output{align-self:center;color:#edcc91}.simple-player input:focus-visible{outline:3px solid white}
@media(max-width:700px){.simple-player{padding:15px;gap:10px}.simple-player label{font-size:13px}}
#language-switch{position:fixed;top:12px;right:195px;z-index:30;display:flex;background:#10201ef2;border:1px solid #bda276}
.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-200%);background:#10201e;color:white;padding:14px;min-height:44px;border:2px solid white}
.skip-link:focus{transform:none}
.music-discovery a{display:inline-flex;align-items:center;min-height:44px;color:#fff0d9;font:14px/1.5 Arial,sans-serif;letter-spacing:0}
#world:focus-visible{outline:3px solid white;outline-offset:-4px}
#legal-links{max-width:calc(100% - 16px);flex-wrap:wrap}
#legal-links a{font-size:11px;padding:7px;min-height:44px}
body.saving #fallback{padding-bottom:100px}
@media(max-width:350px){#legal-links a{font-size:10px;padding:6px}}
#language-switch button{min-width:44px;min-height:44px;border:0;border-radius:0;background:none;color:white;font:bold 13px Arial;padding:10px}
#language-switch button[aria-pressed=true]{background:#ecd3a9;color:#152a23}
#language-switch button:focus-visible{outline:3px solid white;outline-offset:2px}
#help #light-controls{position:static;width:100%;max-height:none;box-shadow:none;margin-top:16px}
#light-access{margin-top:24px}#light-access summary{min-height:48px;padding:15px;border:1px solid #c4ac7d;cursor:pointer}
#help button,#backstage button,#memory button{min-height:44px}
@media(max-width:700px){#utility #help-open,#utility #full{min-height:44px;height:44px}}
@media(max-height:500px) and (min-width:701px){#experience #utility{bottom:48px}#experience #light-deck{bottom:116px}}
@media(max-width:600px){#language-switch{top:64px;right:12px}}
#utility{gap:8px}
#utility button,#utility #console-open,#utility #home{border:0;border-radius:0;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);box-shadow:inset 0 -3px #b69561;min-height:48px;background:linear-gradient(125deg,#243c32,#101b16);color:#fff0d4;font:900 12px/1.2 Arial,sans-serif;letter-spacing:.04em;padding:13px 18px;backdrop-filter:none}
#utility #console-open{background:linear-gradient(115deg,#f8dfb3,#c7a16b);color:#19241a}
#utility button:focus-visible{outline:0;box-shadow:inset 0 0 0 3px white}#utility button:hover{background:#3b5546;color:white}
#utility #home[aria-pressed=true]{box-shadow:inset 0 -4px #efd29b}#utility kbd{border:0}
#light-deck{position:absolute;right:22px;bottom:74px;z-index:4;color:#fff1dc;font-family:Arial,sans-serif}#light-deck[hidden]{display:none}
#light-open{display:flex;gap:12px;align-items:center;min-height:54px;padding:13px 20px;font:900 15px Arial,sans-serif;letter-spacing:.04em;background:linear-gradient(120deg,#e8c899,#ac7f48);color:#14231a;border:0;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:inset 0 -4px #7c5a31}
#light-open span{font-size:23px}#light-open:focus-visible{outline:0;box-shadow:inset 0 0 0 3px white}
#light-controls{position:absolute;right:0;bottom:66px;width:370px;max-height:calc(100dvh - 190px);overflow:auto;padding:20px;background:#121e18f7;border:1px solid #a68e63;box-shadow:0 16px 60px #000a;scrollbar-width:thin}
#light-controls[hidden]{display:none}#light-controls header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a68e6350;padding-bottom:12px}
#light-controls small{font-size:9px;letter-spacing:.2em;color:#cfb68f}#light-controls h2{font:900 28px/1 Arial,sans-serif;letter-spacing:-.055em;margin:6px 0 0}#light-close{border:0;background:none;font-size:28px;min-width:44px;min-height:44px;padding:4px}
#light-controls p{font:12px/1.5 Arial,sans-serif;color:#c9cbbb;margin:12px 0}.mood-wheel-wrap{display:flex;align-items:center;gap:22px;margin:16px 0}.mood-wheel-wrap strong{font:900 18px/1.1 Arial,sans-serif}
#mood-wheel{--angle:205deg;--hue:205;position:relative;flex:0 0 128px;width:128px;height:128px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);touch-action:none;cursor:crosshair;box-shadow:0 0 0 5px #090f0c,0 0 0 6px #927c56}
#mood-wheel:after{content:'';position:absolute;inset:21px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9,hsl(var(--hue) 55% 50%) 60%,#071811);border:7px solid #102019;pointer-events:none}
#mood-wheel i{position:absolute;inset:0;transform:rotate(var(--angle));pointer-events:none}#mood-wheel i:before{content:'';position:absolute;z-index:2;top:2px;left:calc(50% - 7px);width:14px;height:14px;border:3px solid white;border-radius:50%;box-shadow:0 1px 5px black}
#mood-wheel:focus-visible{outline:3px solid white;outline-offset:8px}.mood-presets,.light-triggers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mood-presets button{font:800 10px/1.3 Arial,sans-serif;min-height:44px;padding:8px;background:#233b36;border:1px solid #8eaa98}
#light-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;margin:16px 0;font:800 11px Arial,sans-serif;letter-spacing:.04em}#light-controls input{grid-column:1/-1;grid-row:2;width:100%;height:36px;margin:3px 0;accent-color:#ead09f}#light-controls label output{font:12px Arial,sans-serif;color:#e6c790}
.light-triggers{grid-template-columns:1fr 1fr}.light-triggers button{min-height:58px;font:900 12px/1.3 Arial,sans-serif;padding:10px;border:0;background:#e4c895;color:#15281c;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
#light-reset{width:100%;min-height:44px;margin-top:9px;font:800 11px Arial,sans-serif;border-color:#958567;background:#15251b}#light-feedback{display:block;font:11px/1.5 Arial,sans-serif;margin:10px 0 0;color:#d6d9c5}
#club-invitation{position:absolute;top:84px;left:30px;z-index:3;max-width:490px;width:calc(100% - 60px);padding:26px 30px 22px;background:linear-gradient(120deg,#111e17f2,#111e17ca);border-left:5px solid #eccb92;box-shadow:0 15px 60px #0004;font-family:Arial,sans-serif}
#club-invitation[hidden]{display:none!important}#club-invitation>p{max-width:90%;font:800 10px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#d6c9aa;margin:0 0 12px}#club-invitation h2{font:900 clamp(29px,3.2vw,48px)/.94 Arial,sans-serif;letter-spacing:-.06em;margin:0 0 20px;color:#fff3dc}#club-invitation h2 em{color:#f2c98a}#invitation-close{position:absolute;right:8px;top:8px;width:44px;height:44px;font-size:26px;background:none;border:0;padding:0}
#club-invitation>div{display:grid;gap:8px}#club-invitation>div button{min-height:49px;text-align:left;font:900 12px Arial,sans-serif;border:0;border-bottom:3px solid #b89965;background:#edcf9c;color:#15261b;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}#club-invitation small{display:block;font-size:11px;color:#c4c7b6;margin-top:14px}
body.saving #light-deck,body.saving #club-invitation{display:none!important}
#light-controls input{height:44px}
@media(max-width:700px){#utility button,#utility #console-open,#utility #home{font-size:11px;padding:10px;min-height:44px}#light-deck{right:12px;bottom:157px}#light-open{min-height:48px;font-size:12px;padding:9px 13px}#light-controls{width:min(370px,calc(100vw - 24px));bottom:58px;max-height:calc(100dvh - 245px);padding:15px}.mood-wheel-wrap{gap:17px}#mood-wheel{flex-basis:110px;width:110px;height:110px}.mood-wheel-wrap strong{font-size:16px}#club-invitation{top:78px;left:16px;width:calc(100% - 32px);max-width:380px;padding:23px 22px 19px}#club-invitation h2{font-size:34px}#club-invitation>p{font-size:9px}}
@media(max-height:500px){#club-invitation{top:66px;padding:14px 20px;width:380px;max-height:calc(100dvh - 160px);overflow:auto}#club-invitation h2{font-size:25px}#light-deck{bottom:110px}#light-controls{max-height:calc(100dvh - 160px);bottom:56px}}
@media(max-width:700px){#light-controls{max-height:calc(100dvh - 285px)}}
/* Discoverable touch guidance above the light button, never over desk controls. */
@media(min-width:701px){#experience #utility{bottom:calc(49px + env(safe-area-inset-bottom))}#experience #control-tip{bottom:calc(108px + env(safe-area-inset-bottom))}#experience #light-deck{bottom:calc(113px + env(safe-area-inset-bottom))}#experience #status{bottom:calc(49px + env(safe-area-inset-bottom));max-width:calc(100% - 580px)}}
@media(min-width:701px) and (max-width:950px){#experience #status{display:none}}
body.touch-scene:not(.console-view) #control-tip{display:block;max-width:calc(100% - 320px);font-size:12px;line-height:1.5}
@media(max-width:700px){body.touch-scene:not(.console-view) #control-tip{left:12px;right:12px;bottom:calc(216px + env(safe-area-inset-bottom));max-width:none;padding:9px 11px;font-size:12px;letter-spacing:0}}
@media(max-height:500px){body.touch-scene:not(.console-view) #control-tip{left:12px;right:auto;bottom:calc(174px + env(safe-area-inset-bottom));max-width:calc(100% - 24px);font-size:11px;padding:7px 10px}}
