@font-face{font-family:"LT Stopwatch";src:url("/assets/fonts/LTStopwatch-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--red:#ff0000;--pink:#ff3fbc;--black:#030303}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--black);color:var(--red);font-family:Arial,Helvetica,sans-serif}
body{min-height:100dvh;overflow:hidden;background:#030303}
.fx-svg{position:absolute;width:0;height:0;pointer-events:none}

/* The color field itself is the animated noise: no gray grain overlay. */
.color-noise{position:fixed;inset:-22%;z-index:0;pointer-events:none;overflow:hidden;filter:url(#organicNoise) blur(58px) saturate(128%);opacity:.82}
.color-noise::before,.color-noise::after{content:"";position:absolute;inset:-10%;will-change:transform;transform-origin:center}
.color-noise::before{background:
 radial-gradient(ellipse 36% 42% at 14% 30%,rgba(255,0,0,.86) 0%,rgba(255,0,0,.58) 25%,rgba(255,0,0,.18) 48%,transparent 68%),
 radial-gradient(ellipse 34% 40% at 82% 24%,rgba(255,63,188,.78) 0%,rgba(255,63,188,.46) 27%,rgba(255,63,188,.12) 49%,transparent 68%),
 radial-gradient(ellipse 32% 38% at 52% 84%,rgba(255,0,0,.72) 0%,rgba(255,0,0,.38) 28%,rgba(255,63,188,.12) 50%,transparent 69%);
 animation:colorNoiseA 8s ease-in-out infinite alternate}
.color-noise::after{background:
 radial-gradient(ellipse 30% 38% at 27% 72%,rgba(255,63,188,.58) 0%,rgba(255,63,188,.26) 34%,transparent 67%),
 radial-gradient(ellipse 28% 35% at 72% 60%,rgba(255,0,0,.55) 0%,rgba(255,0,0,.24) 34%,transparent 67%),
 radial-gradient(ellipse 24% 32% at 48% 42%,rgba(255,63,188,.38) 0%,rgba(255,63,188,.12) 38%,transparent 70%);
 animation:colorNoiseB 10s ease-in-out infinite alternate-reverse}
@keyframes colorNoiseA{0%{transform:translate3d(-5%,-4%,0) rotate(-4deg) scale(1.02)}35%{transform:translate3d(4%,1%,0) rotate(2deg) scale(1.11)}70%{transform:translate3d(-1%,6%,0) rotate(5deg) scale(1.06)}100%{transform:translate3d(6%,-2%,0) rotate(-1deg) scale(1.13)}}
@keyframes colorNoiseB{0%{transform:translate3d(6%,4%,0) rotate(4deg) scale(1.12)}45%{transform:translate3d(-5%,-1%,0) rotate(-3deg) scale(1.03)}100%{transform:translate3d(2%,-6%,0) rotate(2deg) scale(1.15)}}

.app{position:relative;z-index:2;min-height:100dvh;padding:clamp(28px,5vh,58px) clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:center}
.experience{width:min(920px,100%);display:flex;flex-direction:column;align-items:center;gap:41px}
.logo{display:block;width:clamp(518px,51.75vw,743px);height:auto;margin:0 auto}
.panel{width:min(900px,100%)}
.home-panel{text-align:center}
.home-title{font-size:clamp(18px,2.4vw,30px);font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin:0 0 28px}
.home-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.staff-form{width:min(650px,88vw);margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:stretch}
.field,.btn{min-height:74px;border:2px solid var(--red);border-radius:999px;background:rgba(0,0,0,.62);color:var(--red);font-size:clamp(18px,2.2vw,27px);font-weight:800;text-transform:uppercase;outline:none;backdrop-filter:blur(14px)}
.field{width:100%;padding:0 30px;text-transform:uppercase;text-align:center;font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic;font-size:clamp(15.3px,1.87vw,23px);font-weight:400}
.field::placeholder{color:rgba(255,0,0,.72);text-transform:uppercase}
.field:focus::placeholder{color:transparent}
.field:focus{box-shadow:0 0 0 3px rgba(255,0,0,.14),0 0 35px rgba(255,0,0,.18)}
.btn{padding:0 34px;cursor:pointer;transition:.2s ease}
.btn:active{transform:scale(.98)}
.btn.primary:hover,.btn.selected{background:var(--red);color:#050505;box-shadow:0 0 38px rgba(255,0,0,.35)}
.staff-form .primary{align-self:center;min-width:min(360px,100%)}
.status{min-height:30px;margin:0;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.room-panel{text-align:center}
.start{width:clamp(190px,24vw,285px);aspect-ratio:1;border-radius:50%;font-size:clamp(28px,4vw,50px);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,0,0,.1),0 0 22px rgba(255,0,0,.15)}50%{box-shadow:0 0 0 16px rgba(255,0,0,0),0 0 48px rgba(255,0,0,.38)}}
.world-label{font-size:clamp(22px,3vw,38px);font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic;font-weight:400;letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px}
.worlds{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:0 auto 28px}
.world{min-height:105px;font-size:clamp(22px,4vw,38px);font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:800}
.back{min-height:56px;padding:0 26px}
.hidden{display:none!important}
.footer{position:fixed;left:clamp(24px,3vw,48px);bottom:clamp(20px,3vh,34px);z-index:3;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,0,0,.78)}
@media(max-width:700px){.app{padding:24px 20px}.experience{gap:34px}.logo{width:clamp(405px,87.75vw,675px)}.worlds{gap:12px}.world{min-height:90px}.color-noise{inset:-35%;filter:url(#organicNoise) blur(42px) saturate(128%)}}

/* V10 — Staff queue */
.staff-app{overflow:auto;align-items:flex-start;padding-top:clamp(24px,4vh,48px);padding-bottom:90px}
.staff-experience{gap:24px}
.staff-logo{width:clamp(360px,40vw,575px)}
.staff-queue-panel{width:min(760px,92vw)}
.queue-form{width:100%;gap:12px}
.queue-form .field,.queue-form .btn{min-height:62px}
.queue-card,.active-card{margin-top:18px;border:2px solid var(--red);border-radius:28px;background:rgba(0,0,0,.64);backdrop-filter:blur(16px);padding:22px}
.queue-header{display:flex;justify-content:space-between;gap:20px;font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic;font-size:clamp(18px,2vw,25px);letter-spacing:.06em}
.queue-list{display:flex;flex-direction:column;margin:16px 0 20px;border-top:1px solid rgba(255,0,0,.35)}
.queue-row{display:grid;grid-template-columns:54px 1fr;align-items:center;min-height:52px;border-bottom:1px solid rgba(255,0,0,.25);font-size:clamp(16px,1.8vw,22px);font-weight:800;text-transform:uppercase}
.queue-number{font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic;font-weight:400}
.queue-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue-empty{padding:22px 0;text-align:center;opacity:.6;font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic}
.queue-next{width:100%;min-height:62px;font-size:clamp(14px,1.7vw,21px)}
.active-card{text-align:center;box-shadow:0 0 34px rgba(255,0,0,.18)}
.queue-kicker{font-family:"LT Stopwatch",Arial,Helvetica,sans-serif;font-style:italic;letter-spacing:.12em;font-size:15px}
.active-name{margin:10px 0 16px;font-size:clamp(25px,3.2vw,40px);font-weight:900;text-transform:uppercase}
.secondary{min-height:58px;font-size:clamp(14px,1.7vw,20px)}
.btn:disabled,.field:disabled{opacity:.28;cursor:not-allowed;box-shadow:none!important;transform:none!important}
@media(max-width:700px){.staff-logo{width:min(78vw,470px)}.staff-queue-panel{width:94vw}.queue-card,.active-card{padding:17px;border-radius:22px}.queue-row{grid-template-columns:44px 1fr}}
