*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c0a0c;color:#f6f0e9;font:16px/1.5 system-ui,sans-serif}a{color:#f6d399}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffd06e;outline-offset:3px}.site-head{position:sticky;top:0;z-index:80;background:#0c0a0cf2;border-bottom:2px solid #9b2631;display:flex;align-items:center;gap:14px;padding:9px clamp(12px,3vw,34px);min-height:66px}.brand{font-weight:950;font-size:clamp(19px,3vw,29px);color:white;text-decoration:none;white-space:nowrap}.brand span{color:#e5b653}.topnav{display:flex;gap:3px;flex-wrap:wrap;align-items:center;flex:1}.topnav a{font-size:13px;text-decoration:none;color:#eee;padding:10px;border-radius:6px}.topnav a:hover,.topnav a[aria-current=page]{background:#3d1720}.navmenu{position:relative}.navmenu>summary{cursor:pointer;list-style:none;padding:10px;border:1px solid #654044;border-radius:7px;font-size:14px}.navmenu>summary::-webkit-details-marker{display:none}.navpanel{position:absolute;right:0;top:calc(100% + 10px);background:#1d1217;border:1px solid #76505a;border-radius:10px;width:min(86vw,340px);max-height:70vh;overflow:auto;box-shadow:0 15px 45px #000;display:grid;padding:8px}.navpanel a{padding:10px 12px;color:#fff;text-decoration:none;border-bottom:1px solid #3b2a2d}.navpanel a:hover{background:#3c2228}.ticket{background:#a97622;color:#130e0b!important;padding:10px 12px;border-radius:6px;text-decoration:none;font-weight:800;white-space:nowrap}.intro{padding:20px clamp(16px,3vw,42px);max-width:1400px;margin:auto}.intro h1{font:900 clamp(30px,5vw,60px)/1.08 Impact,system-ui;margin:0 0 7px;letter-spacing:.03em}.intro p{margin:0;color:#d5c5bd}.world{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#b32d36 #1d1015}.scene-frame{position:relative;min-width:980px;width:100%;max-width:1600px;margin:auto;aspect-ratio:16/8.5;background:#1a1216;overflow:hidden}.scene-art{width:100%;height:100%;object-fit:cover;display:block}.scene-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b090de6 0%,transparent 45%);pointer-events:none}.scene-caption{position:absolute;bottom:24px;left:32px;max-width:520px;text-shadow:0 3px 7px #000}.scene-caption h2{font:900 clamp(28px,4vw,58px)/1 Impact,system-ui;margin:0 0 8px}.scene-caption p{margin:0 0 12px}.scene-action{display:inline-block;padding:11px 17px;border-radius:6px;border:1px solid #f5ce85;background:#210f13df;color:#fff;text-decoration:none;font-weight:800}.hotspot{position:absolute;display:block;border:2px solid transparent;background:transparent;cursor:pointer;z-index:2}.hotspot:focus-visible{border-color:#ffdc82;background:#ffffff22}.scene-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:40px;background:radial-gradient(ellipse at 50% 25%,#623333,#171017 68%)}.scene-fallback h2{font:900 65px/1 Impact,sans-serif;margin:0}.scene-fallback p{max-width:620px}.scene-willow{background:radial-gradient(ellipse at 50% 30%,#53616a,#14212a 60%,#060c10)}.scene-bowling{background:repeating-linear-gradient(95deg,#2a1917 0 10%,#674432 12%,#160e10 15%)}.scene-tickets{background:radial-gradient(ellipse at 50% 40%,#a77733,#371c17 60%,#130c11)}.scene-fundraiser{background:radial-gradient(ellipse at 50% 35%,#846147,#301c18 60%,#0d090a)}.scene-wrestling{background:radial-gradient(ellipse at 50% 35%,#87242d,#150b11 70%)}.scene-boardroom{background:linear-gradient(130deg,#060607,#33252c,#0b0b0d)}.scene-printers{background:linear-gradient(140deg,#595049,#151519)}.scene-openmic{background:radial-gradient(ellipse at 50% 15%,#a32837,#1a0b13 70%)}.rooms{display:flex;gap:10px;padding:14px 20px;overflow-x:auto;scroll-snap-type:x proximity;background:#100d10;border-block:1px solid #61353b}.room{flex:0 0 150px;text-decoration:none;color:white;border:1px solid #624044;border-radius:7px;padding:5px;background:#20171a;scroll-snap-align:start}.room[aria-current=page]{border-color:#e8b34e;box-shadow:0 0 0 1px #e8b34e}.room img{width:100%;height:83px;object-fit:cover;display:block;border-radius:3px}.room .placeholder{display:grid;place-items:center;height:83px;background:linear-gradient(140deg,#37262c,#120e11);font-size:32px}.room strong{display:block;font-size:12px;text-transform:uppercase;margin-top:6px}.room small{display:block;font-size:10px;color:#cbb8b4}.panel{max-width:1000px;margin:22px auto;padding:22px;background:#1d1519;border:1px solid #5b393e;border-radius:12px}.panel h2{margin-top:0}.btn{background:#a51c2b;color:white;border:1px solid #dc6870;padding:11px 16px;border-radius:7px;text-decoration:none;font-weight:700;display:inline-block}.muted{color:#c8b9b5}.tracklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.tracklist button{text-align:left;background:#2a1a20;border:1px solid #78464c;color:white;border-radius:7px;padding:12px}.player{position:sticky;bottom:0;z-index:50;background:#09090beF;border-top:1px solid #704044;display:flex;align-items:center;gap:12px;padding:10px 16px;flex-wrap:wrap}.player button{background:#9b1f2e;border:1px solid #d15b64;border-radius:7px;color:white;padding:7px 12px}.player input[type=range]{flex:1;min-width:80px}.player .now{font-size:13px;min-width:145px}.player[hidden]{display:none}footer{text-align:center;padding:24px;color:#ad9c99}.notice{background:#36231e;border-left:4px solid #d6a94c;padding:12px 16px}.form{display:grid;gap:12px;max-width:620px}.form label{display:grid;gap:5px}.form input,.form textarea{width:100%;padding:12px;background:#100e11;color:white;border:1px solid #88636b;border-radius:6px}.form textarea{min-height:130px}.scene-symbol{font-size:95px;filter:drop-shadow(0 8px 18px #000)}@media(max-width:950px){.topnav{display:none}.site-head{justify-content:space-between}.scene-frame{min-width:950px}.intro{padding:13px 17px}.panel{margin:16px 12px}.player{gap:8px}.room{flex-basis:130px}.ticket{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Stable-room design system: each destination has a real scene and an interaction. */
.illustrated-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 28%,var(--glow,#623a3c),#08090d 75%);color:#fff}
.stage-bowling{--glow:#62394f;background:linear-gradient(180deg,#090c20 0%,#3c2440 42%,#26151b 43%,#8a5c3b 100%)}
.stage-willow{--glow:#1b5264;background:radial-gradient(circle at 78% 22%,#c8d4d3 0 4%,transparent 4.5%),linear-gradient(#06172a,#153b43 63%,#081d19)}
.stage-fundraiser{--glow:#8a5025;background:radial-gradient(ellipse at 55% 50%,#a8682b,#311b19 70%,#100d0e)}
.stage-wrestling{--glow:#a4215d;background:linear-gradient(135deg,#16091a,#62225b 50%,#1a0920)}
.stage-tickets{--glow:#ab752a;background:repeating-linear-gradient(90deg,#29130d 0 65px,#3f2214 65px 130px)}
.stage-boardroom{--glow:#555367;background:linear-gradient(130deg,#080a12,#323040 45%,#09090c)}
.stage-printers{--glow:#62646a;background:linear-gradient(130deg,#121317,#44403c 55%,#0b0b0d)}
.stage-openmic{--glow:#a82232;background:radial-gradient(ellipse at 50% 0%,#b62a35,#290c1b 70%)}
.stage-highway{--glow:#b84e33;background:linear-gradient(#0d1426,#793d37 62%,#131116 63%)}
.stage-beach{--glow:#e28a3e;background:linear-gradient(#192d4c,#e17e51 53%,#0d3042 56%,#081a25)}
.stage-topline{position:absolute;top:22px;left:30px;letter-spacing:.3em;font-size:13px;color:#f5d29c;z-index:2}
.stage-light{position:absolute;top:-25%;left:24%;width:55%;height:115%;background:linear-gradient(180deg,#fff3a833,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}
.stage-set{position:absolute;inset:13% 6% 12%;display:flex;align-items:center;justify-content:space-between;filter:drop-shadow(0 15px 20px #000);opacity:.82}
.stage-set span{display:grid;place-items:center;width:30%;font-size:clamp(90px,14vw,235px);text-shadow:0 0 25px #000}
.stage-set .stage-center{font-size:clamp(145px,20vw,300px);transform:translateY(8%)}
.stage-story{position:absolute;z-index:2;left:4%;bottom:9%;max-width:590px;background:linear-gradient(90deg,#0b0b12ef,#0b0b12ba);padding:20px 26px;border-left:4px solid #efba68;box-shadow:0 12px 35px #0009}
.stage-kicker{font-size:12px;letter-spacing:.24em;color:#efb96a}
.stage-story h2{font:900 52px/.98 Impact,sans-serif;margin:8px 0}.stage-story p{margin:8px 0}
.stage-story .scene-note{font-size:12px;color:#d2c4ba;max-width:470px}
.scene-trigger{border:1px solid #ffc86c;background:#5e1926;color:#fff;font-weight:800;padding:10px 18px;border-radius:4px}
.scene-reveal:not([hidden]){background:#321c22;padding:10px 14px;border-left:3px solid #e8b55a}
.stage-exit{position:absolute;z-index:4;right:25px;bottom:22px;color:#fff;background:#151018dd;padding:11px 16px;border:1px solid #e1b46d;text-decoration:none;font-weight:800}
.jukebox-physical{position:absolute;left:3%;top:17%;width:22%;height:65%;z-index:5;border:7px solid #c78c37;border-radius:45% 45% 14% 14%;background:repeating-linear-gradient(90deg,#b42320 0 9%,#e4ac48 10% 15%,#290d17 16% 22%);box-shadow:inset 0 0 0 10px #391621,0 0 35px #eebc3f;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 2px 5px #000;gap:18px}
.jukebox-physical b{font:900 32px/1.1 Impact,sans-serif;background:#21151de8;padding:18px}.jukebox-physical small{font-size:12px;background:#160d12;padding:7px}.jukebox-physical span{font-size:30px}
.jukebox-tracks{position:absolute;z-index:12;left:28%;top:7%;width:49%;max-height:87%;overflow:auto;background:#120e13f5;border:2px solid #e8ad54;padding:15px;box-shadow:0 12px 40px #000}
.jukebox-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jukebox-options button,.close-jukebox{background:#41202a;border:1px solid #a66c56;color:#fff;padding:10px;text-align:left}
.character-voice{position:absolute;z-index:6;border:0;background:transparent}.character-voice:focus-visible{outline:3px solid #ffd17b}.prophet-voice{left:73%;top:35%;width:17%;height:46%}.floor-voice{left:50%;top:68%;width:23%;height:22%}
.corridor-controls,.entrance-doors{position:absolute;z-index:10;bottom:3%;left:3%;right:3%;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.corridor-controls a,.entrance-doors a{background:#120f18e8;border:1px solid #e7ae5b;color:white;text-decoration:none;padding:10px 12px;font-weight:800;font-size:13px}
@media(max-width:700px){.stage-story{bottom:12%;max-width:440px}.stage-story h2{font-size:42px}.stage-set span{font-size:140px}.jukebox-physical b{font-size:22px}.stage-exit{bottom:10px}}
