@font-face{font-family:Permanent Marker;src:url(/fonts/PermanentMarker-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color:#fff0dc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#ff7137;--gold:#ffd18a;--muted:#d0c7bb;--display:Impact, "Arial Black", sans-serif;--brush:"Permanent Marker", Impact, sans-serif;--mono:"Courier New", monospace;--panel-surface:url(/assets/derived/panel-surface.png);--control-shell:url(/assets/derived/panel-shell.png);background:#0b090c;font-family:Trebuchet MS,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{min-width:0;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,p{margin-top:0}h1,h2{font-family:var(--display);text-transform:uppercase;font-weight:400}h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}h2{font-size:1.15rem;line-height:1.3}p{line-height:1.5}.app-shell{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative}main{flex:1}.stage-backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0}.stage-backdrop img{object-fit:cover;object-position:center;width:100%;height:100%}.stage-backdrop:after{content:"";background:linear-gradient(#08060c99,#08060c99 55%,#08060cd9);position:absolute;inset:0}.stage-backdrop:before{content:"";background:radial-gradient(at 50% 88%,#ff601433,#0000 65%);animation:8s ease-in-out infinite alternate stage-glow;position:absolute;inset:0}.tv-shell .stage-backdrop:after{background:linear-gradient(#08060c33,#08060c66 45%,#08060c55)}.player-shell .stage-backdrop:after{background:linear-gradient(#08060c55,#08060c66 55%,#08060c44)}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-header{background:#0b090dee;border-bottom:1px solid #a46b4355;min-height:56px;padding:.4rem clamp(1rem,3vw,4rem);box-shadow:0 5px 20px #0006}.brand{align-items:center;gap:.65rem;display:inline-flex}.brand-mark{font:italic 1rem var(--display);background:#211819;border:1px solid #b78a60;padding:.35rem .5rem}.brand-mark span{color:var(--accent)}.brand-wordmark{font:1.25rem var(--display);letter-spacing:.055em}.site-header nav{text-transform:uppercase;gap:clamp(.5rem,2vw,1.5rem);font-size:.75rem;font-weight:800;display:flex}.site-header nav a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:.6rem .3rem;display:inline-flex}.site-header nav a:hover,.site-header nav a.active{color:var(--gold);border-color:var(--accent)}.site-footer{font:700 .65rem/1.4 var(--mono);text-transform:uppercase;color:var(--muted);border-top:1px solid #a46b4344;margin:0 clamp(1rem,3vw,4rem);padding:.7rem 0}.page{width:min(100%,1440px);margin:0 auto;padding:2rem clamp(1rem,3vw,3rem)}.eyebrow{color:var(--gold);font:700 .7rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted);margin-bottom:0;font-size:.95rem}.signal-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;display:inline-block}.show-title{width:100%;display:block}.hero-logo{object-fit:contain;width:100%;height:auto;display:block}.button{border:12px solid #0000;border-image:var(--control-shell) 24 / 12px / 0 stretch;background:linear-gradient(#5b160cc9, #340c0bcc), var(--panel-surface) center / cover;color:#fff3da;text-shadow:1px 2px 3px #000;justify-content:center;align-items:center;gap:1rem;min-height:56px;padding:.8rem 1.1rem;font-weight:800;transition:transform .15s,box-shadow .15s;display:inline-flex;position:relative;box-shadow:3px 5px 12px #000a,0 0 18px #ff592522}.button:hover{transform:translateY(-2px);box-shadow:3px 6px 14px #000c,0 0 22px #ff59254d}.button:active{transform:translateY(1px)}.button-secondary{background:linear-gradient(#18151de8, #18151de8), var(--panel-surface) center / cover}.button-arrow{background:#100c10cc;border:1px solid #b18b61;border-radius:50%;flex-shrink:0;place-items:center;width:1.5em;height:1.5em;font:1.5rem Arial,sans-serif;display:grid}.button-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.landing{text-align:center;flex-direction:column;align-items:center;padding-top:clamp(2rem,6svh,5rem);display:flex}.landing-copy{width:100%;max-width:1100px}.show-bill{background:#100a10dd;border:1px solid #8b5d41;margin-bottom:1.5rem;padding:.5rem 1rem;display:inline-block}.show-bill .signal-dot{margin-right:.5rem}.title-kicker{font:700 .7rem var(--mono);letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem}.hero-title{width:min(100%,1000px);margin:0 auto 1.5rem;font-size:1rem}.tagline{font:clamp(1.5rem, 3vw, 2.6rem) var(--display);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 3px 8px #000;margin-bottom:.8rem}.intro{color:var(--muted)}.development-nav{margin-top:2rem}.title-button{text-align:left;min-width:260px;font:1.5rem var(--display);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between}.title-button small{font:700 .65rem var(--mono);letter-spacing:.1em;margin-bottom:.3rem;display:block}.amp{border:12px solid #0000;border-image:var(--control-shell) 24 fill / 12px / 0 stretch;background:#151118;width:min(100%,370px);margin:2rem 0 1rem;padding:.8rem;box-shadow:3px 5px 12px #000a}.amp-top,.amp-bottom{font:700 .6rem var(--mono);justify-content:space-between;align-items:center;gap:.6rem;padding:.3rem 0;display:flex}.amp-grille{background:#0b090c;border:1px solid #5e4638;justify-content:space-between;align-items:center;margin:.4rem 0;padding:.8rem;display:flex}.amp-grille>span{font:italic 1.8rem var(--display)}.amp-meter{align-items:end;gap:3px;height:28px;display:flex}.amp-meter i{background:var(--gold);width:5px;height:40%}.amp-meter i:nth-child(3n){background:var(--accent);height:90%}.amp-meter i:nth-child(3n+1){height:65%}.amp-bottom>span{color:var(--gold);margin-left:auto}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.page-heading .eyebrow{margin-bottom:.2rem}.page-heading h1{font-family:var(--brush);text-shadow:2px 3px 5px #000;margin:0;font-size:clamp(2rem,3.5svh,3.5rem)}.status-badge{border:1px solid #9a7151;border-left:3px solid var(--accent);color:var(--gold);font:700 .65rem/1.4 var(--mono);text-transform:uppercase;background:#120c12e8;padding:.55rem .7rem;display:inline-block}.soundcheck-page{--show-unit:min(1svh, .5625vw);width:100%;min-height:100svh;padding:calc(var(--show-unit) * 1.2) 0;font-size:calc(var(--show-unit) * 2);text-shadow:0 2px 5px #000;flex-direction:column;justify-content:center;align-items:center;display:flex}.show-masthead{width:calc(var(--show-unit) * 80);text-align:center;max-width:90%}.show-masthead h1{font:calc(var(--show-unit) * 6.2)/1 var(--display);letter-spacing:.1em;margin:calc(var(--show-unit) * .6) 0 calc(var(--show-unit) * 1.3);color:#e9e5dc;text-shadow:0 1px #fff8,0 3px #675b50,0 5px 1px #09060b,0 0 20px #ff592533}.soundcheck-rig{width:calc(var(--show-unit) * 108);max-width:96%}.soundcheck-rig .frame-content{justify-content:space-between;gap:calc(var(--show-unit) * 1.2);inset:18% 11% 22%}.soundcheck-rig .frame-lobby:before{background:linear-gradient(#110c10ee, #100a0ef5), var(--panel-surface) center / cover}.soundcheck-lobby{gap:calc(var(--show-unit) * 3);flex:1;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);min-height:0;display:grid}.soundcheck-rig .soundcheck-lobby h2{font:calc(var(--show-unit) * 2.8)/1.2 var(--display);letter-spacing:.05em;margin:0 0 calc(var(--show-unit) * 1.2)}.ticket-area{flex-direction:column;justify-content:center;min-width:0;display:flex}.tv-game-code{margin:0 0 calc(var(--show-unit) * 1);white-space:nowrap;font:700 calc(var(--show-unit) * 6)/1.2 var(--mono);color:var(--gold);text-shadow:0 0 16px #ff713766}.qr-reservation{grid-template-columns:calc(var(--show-unit) * 9.5) 1fr;column-gap:calc(var(--show-unit) * 1.4);align-items:center;display:grid}.qr-placeholder{aspect-ratio:1;color:#30241f;text-shadow:none;font:700 calc(var(--show-unit) * 3)/1 var(--mono);background:#e8d6bd;border:1px dashed #c99567;grid-row:1/3;place-items:center;display:grid}.qr-reservation h3{font:calc(var(--show-unit) * 2.3)/1.2 var(--display);text-transform:uppercase;align-self:end;margin:0}.qr-reservation p{margin:calc(var(--show-unit) * .5) 0 0;color:var(--muted);font-size:calc(var(--show-unit) * 1.95);align-self:start;line-height:1.4}.pit-area{min-width:0;min-height:0;padding-left:calc(var(--show-unit) * 2.5);border-left:1px solid #c88b5455;flex-direction:column;justify-content:center;display:flex}.pit-area h2{justify-content:space-between;align-items:center;gap:calc(var(--show-unit) * 1);display:flex}.pit-count{color:var(--gold);font:calc(var(--show-unit) * 2.5)/1 var(--mono)}.pit-empty{font-size:calc(var(--show-unit) * 2);margin:calc(var(--show-unit) * 2) 0 0;color:var(--muted)}.room-qr{width:100%;height:auto;image-rendering:pixelated;grid-row:1/3}.qr-reservation{grid-template-columns:calc(var(--show-unit) * 16) minmax(0, 1fr)}.tv-connection{font-size:inherit;color:var(--muted)}.pit-player-list{min-height:0;font-size:calc(var(--show-unit) * 2.1);overflow-wrap:anywhere;margin:0;padding-left:1.2em;line-height:1.5;overflow:auto}.host-lobby{padding:1.5rem}.host-lobby .button{margin:.5rem .5rem .5rem 0}.host-room-code{color:var(--gold);font:700 2.5rem var(--mono)}.host-player-list{overflow-wrap:anywhere}.lobby-error{color:#ffb89b}.button:disabled{cursor:wait;opacity:.7}.show-holding{justify-content:center;align-items:center;gap:calc(var(--show-unit) * 1.5);padding:calc(var(--show-unit) * 1.8) 0 calc(var(--show-unit) * .7);color:var(--gold);border-top:1px solid #c88b5455;display:flex}.show-holding p{min-width:0;font:calc(var(--show-unit) * 3.4)/1.1 var(--display);letter-spacing:.09em;text-transform:uppercase;margin:0}.show-holding .signal-dot{width:calc(var(--show-unit) * .75);height:calc(var(--show-unit) * .75);flex-shrink:0;animation:5s ease-in-out infinite alternate stage-glow}.backstage-page{max-width:900px}.backstage-page>.button{margin-top:1.5rem}.panel{background:linear-gradient(#100d13e8, #100d13e8), var(--panel-surface) center / cover;border:1px solid #a2714955;min-width:0;padding:.75em;position:relative;box-shadow:0 5px 16px #0007}.panel h2{font-family:var(--display);border-bottom:1px solid #d77a344d;align-items:center;gap:.5em;margin-bottom:.45em;padding-bottom:.35em;font-size:1em;display:flex}.module-index{color:var(--gold);font:700 .68em var(--mono);border:1px solid #9c7350;flex-shrink:0;padding:.25em}.code-placeholder{font:700 clamp(1.35rem, 2.6svh, 3rem)/1.2 var(--mono);color:var(--gold);letter-spacing:.1em;white-space:nowrap;text-shadow:0 0 12px #ff713744;margin-bottom:.25em}.placeholder-title{margin-bottom:.25em;font-size:1.08em;font-weight:800}.gm-grid .muted{font-size:.85em;line-height:1.45}.count{color:var(--gold);font:.8em var(--mono);background:#0d090e;border:1px solid #7b553e;margin-left:auto;padding:.2em .45em}.game-board,.scoreboard{box-shadow:none;background:0 0;border:0;padding:0}.production-frame{aspect-ratio:1672/941;isolation:isolate;width:100%;position:relative}.frame-art{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.frame-content{flex-direction:column;min-width:0;display:flex;position:absolute;inset:18% 11% 19%}.frame-lobby:before,.frame-stage:before{content:"";z-index:-1;background:#0b090ff5;position:absolute;inset:16% 9% 17%}.frame-lobby h2{margin-bottom:.2em;font-size:.95em}.board-placeholder{text-align:center;background:#0b090f;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:.2em;display:flex}.stage-emblem{width:2.2em;height:1.6em;color:var(--gold);font:italic 1.6em var(--display);background:#1b1218;border:1px solid #987148;place-items:center;margin-bottom:.4em;display:grid}.board-placeholder .eyebrow{font-size:max(10px,.62em)}.board-placeholder>p{font:clamp(1.1rem, 2.8svh, 3.5rem)/1.1 var(--display);text-transform:uppercase;margin:.35em 0 .5em}.board-placeholder .muted{font-size:max(11px,.72em)}.frame-score{aspect-ratio:1536/1024}.frame-score .frame-content{display:block;inset:0}.panel .score-panel-title{color:#fff0dc;height:8.5%;font:clamp(.8rem, 1.7svh, 2rem)/1.1 var(--display);letter-spacing:.08em;background:#141014;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:23.3%;left:22%;right:22%}.score-panel-body{background:#100c12d9;padding:.45em;position:absolute;inset:36% 18% 20%}.scoreboard-labels{font:700 max(11px, .75em) var(--mono);color:var(--gold);text-transform:uppercase;border-bottom:1px solid #a56d4544;justify-content:space-between;gap:.5rem;margin-bottom:.65em;padding-bottom:.6em;display:flex}.score-panel-body .muted{font-size:max(12px,.85em)}.category-tile-shell{aspect-ratio:3/2;min-width:0;position:relative}.category-tile-shell>img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.category-tile-content{text-align:center;overflow-wrap:anywhere;font-family:var(--display);background:#100c12b8;flex-direction:column;justify-content:center;align-items:center;padding:.5em;font-size:clamp(1rem,2vw,2.5rem);display:flex;position:absolute;inset:32% 18% 22%}.join-page{max-width:560px;padding:1.5rem 12px 3rem}.join-page>.show-title{width:100%;margin:0 auto}.pit-sign{transform-origin:50% 0;animation:9s ease-in-out infinite alternate sign-sway;position:relative}.join-heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pit-sign-art,.pass-panel-art{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.join-panel{aspect-ratio:3/4;width:min(100%,440px);margin:-.5rem auto 0;position:relative;container-type:inline-size}.pass-strip{height:6%;color:var(--gold);font:700 clamp(10px, 2.6cqw, 12px)/1.2 var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:6px;display:flex;position:absolute;inset:22% 18% auto}.pass-strip span:last-child{color:var(--muted)}.pass-strip span:first-child{font:clamp(12px, 3.8cqw, 17px)/1 var(--display);letter-spacing:.03em}.join-panel form,.joined-state{position:absolute;inset:0}.pass-fields{flex-direction:column;justify-content:center;gap:clamp(14px,4cqw,22px);display:flex;position:absolute;inset:31% 17% 29%}.join-page .field{flex-direction:column;gap:6px;display:flex}.join-page .field label{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(13px,3.6cqw,16px);font-weight:800;line-height:1.2}.join-page .field input{color:#fff0dc;background:#0b090ff2;border:1px solid #ae8254;border-radius:0;width:100%;min-width:0;height:clamp(44px,13cqw,58px);padding:8px 10px;font-size:16px;box-shadow:inset 1px 3px 8px #0008}.join-page .field input::placeholder{color:#bfb0a2;opacity:1}.join-page .field input:focus-visible{border-color:var(--gold)}.join-page .field input[aria-invalid=true]{border-color:#ffb096}.join-page .code-input{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}.join-page .code-input::placeholder{text-transform:none;letter-spacing:normal;font-family:Trebuchet MS,Arial,sans-serif}.join-page .join-button{color:#fff0db;white-space:nowrap;width:64%;height:10%;min-height:44px;font:clamp(23px, 7.3cqw, 34px)/1 var(--display);letter-spacing:.035em;text-transform:uppercase;text-shadow:0 2px 2px #290704,0 3px #581508;box-shadow:none;background:0 0;border:1px solid #0000;border-image:;justify-content:center;gap:10px;padding:0 4px;transition:background .15s,box-shadow .15s,transform .15s;position:absolute;inset:74% 18% auto}.join-page .join-button:hover{background:#ffb46325;transform:none;box-shadow:0 0 14px #ff8a4d66}.join-page .join-button:active{background:#18040480;transform:translateY(1px);box-shadow:inset 0 3px 10px #0008}.join-page .join-button:focus-visible{background:#18040480}.join-page .join-button .button-arrow{background:#160b0acc;border:1px solid #dda86c;border-radius:50%;flex:0 0 28px;width:28px;height:28px;font-size:23px}.join-page .form-note,.join-page .form-error{max-width:400px;color:var(--muted);font:13px/1.5 var(--mono);text-align:center;margin:0 auto;padding:0 8px}.join-page .form-error{color:#ffb89b;margin-bottom:12px;font-family:Trebuchet MS,Arial,sans-serif;font-size:15px}.joined-state{text-align:center}.joined-state .pass-fields{align-items:center;gap:6px}.joined-state .status-badge{padding:4px 8px;font-size:12px}.joined-state h2{overflow-wrap:anywhere;margin:0;font-size:clamp(21px,5.8cqw,28px);line-height:1.1}.joined-state p{margin:0;font-size:14px}.joined-state .join-waiting{color:#fff0db;height:10%;font:clamp(15px, 5cqw, 22px)/1.1 var(--display);text-transform:uppercase;text-shadow:0 2px 2px #290704;place-items:center;display:grid;position:absolute;inset:74% 18% auto}.joined-code{color:var(--gold);font-family:var(--mono);overflow-wrap:anywhere}.not-found .button{margin-top:1rem}.skip-link{z-index:10;color:#100d14;background:var(--gold);padding:1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.asset-shell-review{z-index:20;background:#0b090f;padding:2rem 4rem;position:fixed;inset:0;overflow:auto}.asset-shell-review h1{margin-bottom:.3rem;font-size:2rem}.asset-shell-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(100%,150svh - 270px);margin-inline:auto;display:grid}@media (width>=1600px) and (height>=900px){:root{font-size:clamp(16px,1.5svh,28px)}}@media (width<=799px){.soundcheck-page{--show-unit:8px;gap:1rem;padding:1.5rem 1rem 2.5rem}.show-masthead,.soundcheck-rig{max-width:100%}.show-masthead h1{letter-spacing:.06em;font-size:clamp(2rem,10vw,3rem)}.show-holding p{text-align:center;font-size:1.3rem}.soundcheck-rig .production-frame{aspect-ratio:auto;border:12px solid #0000;border-image:var(--control-shell) 24 / 12px / 0 stretch;background:#100a0ef5}.soundcheck-rig .frame-art,.soundcheck-rig .production-frame:before{display:none}.soundcheck-rig .frame-content{gap:1.5rem;padding:1rem .5rem;position:relative;inset:auto}.soundcheck-lobby{grid-template-columns:1fr;gap:1.5rem}.pit-area{border-top:1px solid #c88b5455;border-left:0;padding:1rem 0 0}.game-board .stage-emblem{display:none}.board-placeholder>p{margin:.25em 0 .3em;font-size:clamp(1rem,4vw,2rem)}.board-placeholder{padding:0}.board-placeholder .eyebrow{font-size:.58em}.board-placeholder .muted{font-size:.65em}.frame-lobby h2{font-size:.85em}.scoreboard{width:100%;max-width:560px;margin:0 auto}.score-panel-title{font-size:1rem}}@media (width<=600px){.site-header{gap:.5rem;padding-inline:1rem}.brand{gap:0}.brand-wordmark{display:none}.site-header nav{font-size:.68rem}.site-header nav a{padding-inline:.25rem}.site-footer{font-size:.58rem}.stage-backdrop img{object-position:50% center}.stage-backdrop:after{background:#08060c99}.landing{padding-top:2rem}.title-kicker,.show-bill{font-size:.6rem}.button-row{flex-direction:column}.title-button{width:100%;min-width:0;font-size:1.5rem}.join-page{padding:1.25rem 12px 2.5rem}.panel .score-panel-title{font-size:.85rem}}@keyframes stage-glow{0%{opacity:.35}to{opacity:.8}}@keyframes sign-sway{0%{transform:rotate(-.35deg)}to{transform:rotate(.35deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}.button,.join-page .join-button{transition:none}.button:hover,.button:active,.join-page .join-button:hover,.join-page .join-button:active{transform:none}}@media (forced-colors:active){.stage-backdrop,.frame-art,.category-tile-shell>img,.pit-sign-art,.pass-panel-art{display:none}.panel,.button,.amp,.join-panel,.status-badge,.field input,.score-panel-body,.panel .score-panel-title,.category-tile-content,.board-placeholder,.brand-mark,.stage-emblem,.show-bill,.qr-placeholder{color:canvastext;text-shadow:none;box-shadow:none;background:canvas;border:1px solid canvastext;border-image:}.frame-lobby:before,.frame-stage:before{background:canvas}.production-frame,.category-tile-shell{border:1px solid canvastext}.join-heading,.tv-game-code,.show-masthead h1,.page-heading h1,.tagline{color:canvastext;text-shadow:none;-webkit-text-stroke:0}.join-heading{clip-path:none;white-space:normal;text-align:center;width:auto;height:auto;margin:1rem 0;position:static}.join-page .join-button{color:buttontext;text-shadow:none;background:buttonface;border:1px solid buttontext}}
