:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4eee1;background:#030303;font-family:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body.experience-active{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.venue-panel-open{touch-action:none;overflow:hidden}canvas{width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}.landing{z-index:20;background:radial-gradient(circle at 50% 42%,#211a0d 0,#080706 37%,#020202 75%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.landing[hidden],.hud[hidden]{display:none}.landing:before{content:"";opacity:.18;background:repeating-linear-gradient(90deg,#0000 0 79px,#b69246 80px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 40%,#0000);mask-image:linear-gradient(#0000,#000 40%,#0000)}.landing__glow{border:1px solid #b18a3b66;width:24rem;height:24rem;position:absolute;transform:rotate(45deg);box-shadow:0 0 100px #bb8b2d22,inset 0 0 100px #bb8b2d15}.landing__content{z-index:1;text-align:center;width:min(90vw,780px);padding:2rem}.eyebrow{color:#b99959;letter-spacing:.35em;font-size:.68rem}h1{letter-spacing:.12em;text-shadow:0 0 35px #d1a34255;margin:.25rem 0;font-family:Cinzel,Georgia,serif;font-size:clamp(3.4rem,10vw,7.5rem);font-weight:500}.tagline{color:#bbb5aa;margin:0 auto 2.2rem;font-size:clamp(.85rem,2vw,1.05rem)}.primary{letter-spacing:.14em;background:linear-gradient(110deg,#8d6728,#c29b50,#77531d);border:1px solid #d5ae62;min-width:min(100%,330px);padding:1.05rem 2rem;font-weight:600;transition:all .2s;box-shadow:0 10px 35px #000,0 0 30px #c89c4533}.primary:hover{filter:brightness(1.15);transform:translateY(-2px)}.primary:disabled{cursor:wait;opacity:.5;filter:none;transform:none}.controls{color:#817d75;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:1rem 1.6rem;margin-top:2.2rem;font-size:.68rem;display:flex}.controls b{color:#c3ab7c;margin-right:.3rem}.desktop-note{color:#65615b;margin-top:1.2rem;font-size:.7rem}.controls--mobile,.is-mobile .controls--desktop{display:none}.is-mobile .controls--mobile{display:flex}.fade{z-index:50;opacity:0;pointer-events:none;background:#000;transition:opacity .35s;position:fixed;inset:0}.fade--active{opacity:1}.hud{z-index:10;pointer-events:none;position:fixed;inset:0}.crosshair{border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 5px #000}.prompt{opacity:0;color:#e6c986;background:#050505cc;border:1px solid #ba934c77;padding:.7rem 1.1rem;font-size:.82rem;transition:all .18s;position:absolute;bottom:21%;left:50%;transform:translate(-50%,8px)}.prompt--visible{opacity:1;transform:translate(-50%)}.top-actions{right:calc(1.2rem + env(safe-area-inset-right));top:calc(1.2rem + env(safe-area-inset-top));pointer-events:auto;z-index:8;gap:.6rem;display:flex;position:absolute}.top-actions button{letter-spacing:.12em;background:#080808bb;border:1px solid #9e854f77;min-height:42px;padding:0 .85rem;font-size:.7rem}.top-actions .sound--muted{color:#8f8a82;border-color:#59544b77}.loading-screen{z-index:200;background:radial-gradient(circle at 50% 42%,#0d1228,#020308 68%);place-items:center;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0}.loading-screen--done{opacity:0;visibility:hidden}.loading-screen__content{text-align:center;width:min(78vw,420px)}.loading-screen h2{letter-spacing:.13em;margin:0;font-family:Cinzel,serif;font-size:clamp(2.3rem,9vw,4.5rem);font-weight:500}.loading-screen p{color:#b99a60;letter-spacing:.36em;margin:.25rem 0 2.2rem;font-size:.62rem}.loading-track{background:#45404d;height:2px;overflow:hidden}.loading-track i{background:linear-gradient(90deg,#7955b8,#d070b5,#d6b071);width:0;height:100%;transition:width .22s;display:block;box-shadow:0 0 14px #cb78c7}.loading-screen strong{color:#d6c9b0;margin-top:.8rem;font-size:.72rem;font-weight:500;display:block}.loading-screen small{color:#77788a;margin-top:.45rem;font-size:.65rem;display:block}.paused{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;background:#000b;align-content:center;place-items:center;gap:.7rem;display:none;position:absolute;inset:0}.paused--visible{display:grid}.paused p{letter-spacing:.2em;color:#d3b475}.paused button{background:#8b6527;border:1px solid #c39a4e;padding:.8rem 1.4rem}.paused small{color:#817b70}.error{z-index:100;background:#3d1010;border:1px solid #c25555;max-width:90%;padding:.9rem 1.1rem;font-size:.8rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.mobile-controls{--joystick-radius:58px;pointer-events:none;z-index:5;position:absolute;inset:0}.mobile-controls[hidden]{display:none}.mobile-look-zone{pointer-events:auto;touch-action:none;position:absolute;inset:0 0 0 42%}.joystick{left:calc(1rem + env(safe-area-inset-left));bottom:calc(1rem + env(safe-area-inset-bottom));width:calc(var(--joystick-radius) * 2);height:calc(var(--joystick-radius) * 2);pointer-events:auto;touch-action:none;border-radius:50%;position:absolute}.joystick__ring{background:radial-gradient(circle,#26344a66,#06080db8);border:1px solid #d7b67c88;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 30px #6c82bb22,0 0 18px #0008}.joystick__knob{pointer-events:none;background:#a47c3dcc;border:1px solid #ecd19aaa;border-radius:50%;width:46px;height:46px;transition:transform 40ms linear;position:absolute;top:calc(50% - 23px);left:calc(50% - 23px);box-shadow:0 4px 15px #000b,inset 0 0 10px #f0ce8b44}.mobile-interact{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1.15rem + env(safe-area-inset-bottom));opacity:.48;pointer-events:auto;touch-action:none;letter-spacing:.08em;background:#090b11b8;border:1px solid #8e7a5977;width:132px;min-height:70px;padding:.65rem .5rem;transition:opacity .18s,border-color .18s,background .18s;position:absolute}.mobile-interact span{font-size:.72rem;font-weight:600;display:block}.mobile-interact small{color:#aaa398;letter-spacing:.02em;margin-top:.32rem;font-size:.56rem;display:block}.mobile-interact--available{opacity:1;background:#765524dc;border-color:#e3bd72;box-shadow:0 0 22px #bd85d044}.orientation-notice{left:50%;top:calc(4.4rem + env(safe-area-inset-top));z-index:9;color:#d7c7a8;text-align:center;pointer-events:none;background:#06070bd9;border:1px solid #a88c5c55;max-width:min(78vw,360px);padding:.55rem .75rem;font-size:.65rem;display:none;position:absolute;transform:translate(-50%)}@media (orientation:portrait) and (hover:none),(orientation:portrait) and (pointer:coarse){.orientation-notice--enabled{display:block}}@media (width<=650px){.controls{grid-template-columns:1fr 1fr;display:grid}.is-mobile .controls--desktop{display:none}.is-mobile .controls--mobile{display:grid}.landing__content{padding:1rem}h1{font-size:clamp(2.7rem,15vw,4.6rem)}.tagline{margin-bottom:1.3rem}}@media (orientation:portrait){.joystick{bottom:calc(1.25rem + env(safe-area-inset-bottom))}.mobile-interact{bottom:calc(1.5rem + env(safe-area-inset-bottom))}}@media (width>=700px) and (pointer:coarse){.joystick{left:calc(2rem + env(safe-area-inset-left));bottom:calc(2rem + env(safe-area-inset-bottom))}.mobile-interact{right:calc(2rem + env(safe-area-inset-right));bottom:calc(2rem + env(safe-area-inset-bottom))}}.venue-panel{z-index:120;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));place-items:center;display:grid;position:fixed;inset:0}.venue-panel[hidden]{display:none}.venue-panel__backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#02030ae8;position:absolute;inset:0}.venue-panel__card{background:linear-gradient(145deg,#11162cf8,#070913fa 65%);border:1px solid #a985cf88;width:min(94vw,900px);max-height:min(88vh,760px);position:relative;overflow:hidden;box-shadow:0 24px 90px #000,0 0 40px #8f63cc22}.venue-panel__card header{background:#0a0d19;border-bottom:1px solid #a989d433;justify-content:space-between;align-items:center;min-height:78px;padding:1rem 1.2rem;display:flex}.venue-panel__card header small{color:#b99a60;letter-spacing:.26em;font-size:.58rem}.venue-panel__card h2{letter-spacing:.12em;margin:.25rem 0 0;font-family:Cinzel,Georgia,serif;font-size:clamp(1.2rem,4vw,2rem);font-weight:500}.venue-panel__close{background:#121526;border:1px solid #a989d466;width:44px;height:44px;font-size:1.7rem;line-height:1}.venue-panel__body{-webkit-overflow-scrolling:touch;max-height:calc(min(88vh,760px) - 78px);padding:clamp(1rem,3vw,1.8rem);overflow:auto}.venue-panel__intro,.venue-panel__status{color:#bbb7c6;text-align:center}.track-list{gap:.8rem;display:grid}.track-card{text-align:left;background:#14182a;border:1px solid #74658a66;grid-template-columns:48px 1fr auto;align-items:center;gap:1rem;width:100%;padding:1rem;display:grid}.track-card:hover,.track-card--active{background:linear-gradient(90deg,#34234d,#16192b);border-color:#c69fe8}.track-card>span{color:#cda1ee;font:500 1.15rem Cinzel,serif}.track-card strong{letter-spacing:.08em;font-size:.86rem}.track-card small{color:#a794b8;letter-spacing:.12em;font-size:.58rem}.event-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;display:grid}.event-card{color:inherit;background:#111528;border:1px solid #8d78a066;grid-template-rows:150px auto;text-decoration:none;display:grid;overflow:hidden}.event-card img{object-fit:cover;width:100%;height:150px}.event-card>span{gap:.7rem;padding:1rem;display:grid}.event-card strong{font-size:.83rem;line-height:1.4}.event-card small{color:#d6b071;letter-spacing:.1em;font-size:.58rem}.venue-panel__external{color:#f4e5c8;letter-spacing:.12em;border:1px solid #d6b071;width:fit-content;margin:1.2rem auto 0;padding:.85rem 1.15rem;font-size:.7rem;text-decoration:none;display:block}.drinks-frame{background:#fff;border:0;width:100%;height:min(68vh,620px)}@media (width<=650px){.venue-panel{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.venue-panel__card{border-left:0;border-right:0;width:100%;height:100%;max-height:100%}.venue-panel__body{max-height:calc(100% - 78px)}.track-card{grid-template-columns:38px 1fr}.track-card small{grid-column:2}.event-grid{grid-template-columns:1fr}.drinks-frame{height:calc(100vh - 120px)}}
