/* Live controls are positioned on photographic room surfaces. */
:root{--night:#151515;--cream:#f4e8d4;--brass:#f4e8d4;--wood:#38251b}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-padding-top:85px}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #ffe4ab;outline-offset:4px}
.bar-nav{position:fixed;inset:0 0 auto;z-index:30;height:76px;border:0;padding:0 4%;gap:20px;background:linear-gradient(#090d12de,transparent);transition:background .25s}
.bar-nav.scrolled{background:#151515f2;border-bottom:1px solid #ffffff20;backdrop-filter:blur(12px)}.bar-nav nav{display:flex;align-items:center;gap:28px;margin-left:auto}.bar-nav nav a{display:block;font-size:13px;letter-spacing:.04em}.bar-nav nav a[aria-current]{color:#f0cc99}.bar-nav .button{padding:11px 16px;font-size:12px;gap:10px}
.bar-nav .nav-name{font-family:Georgia,serif;font-size:20px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}.bar-nav.brand-visible .nav-name{opacity:1;pointer-events:auto}

.bar-tour{height:300svh;position:relative;background:#0e0c0c}.bar-viewport{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#100d0b}
.camera-station{position:absolute;inset:0;will-change:opacity,transform;transform-origin:50% 50%;overflow:hidden}.camera-station:not(.stage-station){opacity:0;visibility:hidden}
.stage-canvas{position:absolute;left:50%;top:50%;width:max(100vw,177.778svh);height:max(100svh,56.25vw);transform:translate(-50%,-50%)}.room-art,.station-art{display:block;width:100%;height:100%;user-select:none;pointer-events:none}
.station-canvas{position:absolute;left:50%;top:50%;width:max(100vw,150svh);aspect-ratio:3/2;transform:translate(-50%,-50%)}.station-art{object-fit:fill}
.station-ambience{position:absolute;inset:-25px;background-position:center;background-size:cover;filter:blur(15px) brightness(.55)}.shows-station .station-ambience{background-image:url('assets/shows-close.webp')}.songs-station .station-ambience{background-image:url('assets/jukebox-close.webp')}
.room-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#04070a20,transparent 15%,transparent 77%,#080d13b3);pointer-events:none;z-index:3}
.neon-shimmer{position:absolute;left:28%;top:14%;width:19%;height:13%;background:radial-gradient(ellipse,#ff583415,transparent 70%);mix-blend-mode:screen;animation:neon-breathe 5s ease-in-out infinite;pointer-events:none}
.object-target{position:absolute;border:1px solid transparent;background:transparent;color:#fff4d7;border-radius:5px;transition:border-color .2s,box-shadow .2s}.object-target:hover,.object-target:focus-visible{border-color:#f4e8d490;box-shadow:0 0 35px #efb06c20,inset 0 0 25px #efb06c20}.object-target span{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;padding:7px 10px;background:#100f0bc9;border:1px solid #f4e8d460;border-radius:3px;opacity:.85}.show-target{left:3%;top:25%;width:17%;height:29%}.jukebox-target{left:71.5%;top:33%;width:25%;height:59%}
.bar-intro{position:absolute;bottom:132px;left:4%;z-index:4;max-width:400px;text-shadow:0 2px 15px #000}.bar-intro .eyebrow{margin-bottom:10px;color:#e9c89b;letter-spacing:.13em;font-size:10px}.bar-intro h2{font:500 clamp(25px,3vw,42px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:0 0 19px}.stage-music-toggle{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;border:1px solid #f1bf78a1;border-radius:4px;background:#17232acb;color:#ffe1b6;font-size:12px;min-height:44px;box-shadow:0 3px 14px #0004}.stage-music-toggle:hover{background:#493a27}.stage-music-toggle[aria-pressed=true]{background:#20382e;border-color:#aabc83}
.bar-controls{position:absolute;left:4%;bottom:28px;display:flex;align-items:center;gap:24px;z-index:8}.room-stops{display:flex;padding:5px;background:#101820c9;border:1px solid #ffffff30;border-radius:6px;backdrop-filter:blur(12px);gap:4px}.room-stops button{border:0;background:transparent;color:#c9c6c0;padding:12px 19px;font-size:12px;border-radius:3px;min-height:44px}.room-stops button[aria-pressed=true]{background:#f4e8d4;color:#18222b}.skip-room{font-size:11px;border-bottom:1px solid #d5b989;padding:8px 0;color:#f0d5ae}.scroll-clue{position:absolute;right:4%;bottom:94px;z-index:4;display:flex;gap:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#dcc7a7}
/* Paper links sit on the board; they never open a menu over the room. */
.board-heading{position:absolute;left:26.5%;top:13.5%;width:45.5%;height:13.5%;display:flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;color:#f2deb6;font:600 clamp(24px,3vw,48px)/1 'Source Serif 4',sans-serif!important;letter-spacing:.07em!important;text-shadow:0 2px 2px #000}
.paper-poster{position:absolute;top:29.7%;width:20.3%;height:42.5%;color:#302c21;padding:2% 1.1%;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;border:2px solid transparent;transition:border-color .2s,background .2s}.paper-poster:hover{background:#ffeec033;border-color:#7c643952}.event-paper{left:27.6%;transform:rotate(-.4deg)}.club-paper{left:50.3%;transform:rotate(.5deg)}.paper-poster>span{font-size:clamp(9px,.8vw,14px);font-weight:600;letter-spacing:.17em}.paper-poster strong{font:600 clamp(38px,5vw,76px)/.88 'Source Serif 4',sans-serif;letter-spacing:-.015em}.paper-poster p{font:500 clamp(13px,1.35vw,19px)/1.4 Georgia,serif;margin:0!important;color:#443d30}.paper-poster small{font-size:clamp(10px,.85vw,13px);font-weight:600;border-bottom:1px solid #836b4a;padding:5px 0}
/* The rack has eight live title strips and a separate bank switch. */
.jukebox-search-strip{position:absolute;left:29.3%;top:43.8%;width:41%;height:3.5%;display:flex;align-items:center;background:#182014;border:1px solid #857245;border-radius:3px;box-shadow:inset 0 2px 5px #000a}.jukebox-search-strip input{min-width:0;flex:1;height:100%;padding:3px 10px;margin:0;border:0;background:transparent;color:#e7e5bd;font:12px 'Courier New',monospace;border-radius:0}.jukebox-search-strip input::placeholder{color:#c1c8a6}.jukebox-search-strip input:focus{outline:1px solid #eee0ab;outline-offset:-2px}.jukebox-search-strip>span{font:9px 'Courier New',monospace;color:#babd93;white-space:nowrap;padding-right:10px}
.jukebox-deck{position:absolute;left:29.3%;top:48.7%;width:41%;height:20.3%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));column-gap:3%;row-gap:2%;padding:0}
.machine-card{position:relative;min-width:0;display:flex;align-items:center;gap:7px;padding:4px 7px;border:1px solid #886b41;background:linear-gradient(#f8edcfed,#e2cc9ce8);color:#31261b;text-align:left;box-shadow:inset 0 1px 1px #fff9,0 1px 3px #21130f80;border-radius:2px;transition:background .15s,box-shadow .15s}.machine-card:hover,.machine-card:focus-visible{background:#fff4d6;box-shadow:0 0 10px #ffc759aa}.machine-card:active{box-shadow:inset 0 2px 6px #72451b80}.machine-card.is-current{background:linear-gradient(#f9edba,#daca8b);border-color:#5d713f;box-shadow:inset 3px 0 #647d4b,0 0 9px #e2db7480}.card-code{font:600 13px 'Source Serif 4',sans-serif;flex:none;color:#714a25}.card-copy{min-width:0}.card-copy strong{display:block;font-size:clamp(11px,.92vw,15px);line-height:1.12;letter-spacing:-.02em;font-weight:600}.card-copy small{display:block;font-size:clamp(9px,.68vw,11px);line-height:1.2;margin-top:3px;color:#67533b}.machine-empty{grid-column:1/-1;background:#f1e2bf;color:#33261c;display:grid;place-content:center;font-size:13px;margin:0}
.jukebox-pager{position:absolute;left:36%;top:73.4%;width:28%;height:5.2%;display:flex;align-items:center;justify-content:center;gap:24px;background:#161b16d9;border:1px solid #866635;border-radius:5px;box-shadow:inset 0 2px 5px #0009}.jukebox-pager button{width:44px;height:44px;min-height:44px;display:grid;place-items:center;font:24px Georgia,serif;border:1px solid #a78853;border-radius:4px;color:#edc78d;background:linear-gradient(#454036,#191c17);box-shadow:0 2px 5px #0008}.jukebox-pager button:disabled{opacity:.32;cursor:default}.jukebox-pager button:not(:disabled):hover{background:#6b5537}.jukebox-pager>span{font:12px 'Courier New',monospace;letter-spacing:.12em;min-width:50px;text-align:center;color:#ebd6a7}.jukebox-instruction{position:absolute;bottom:104px;left:50%;transform:translateX(-50%);font-size:11px!important;color:#f3dcba!important;text-shadow:0 2px 6px #000;background:#120e0bbd;padding:8px 13px;border-radius:3px;white-space:nowrap;z-index:4}
.record-motion{position:absolute;left:40.2%;top:29.5%;width:19.8%;height:6%;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 30%,#f0c17a38 33%,transparent 36% 80%,#f0c17a20 83%,transparent 87%);opacity:0;mix-blend-mode:screen;pointer-events:none}.is-playing .record-motion{opacity:.6;animation:record-glint 3s linear infinite}
.bar-booking{padding:75px 6%;background:var(--night);border-top:1px solid #a882534f;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.bar-booking h2{font:500 clamp(36px,4vw,62px)/1.05 Georgia,serif;letter-spacing:-2px;max-width:680px}.bar-booking p{max-width:400px;font-size:14px;line-height:1.7;color:#bcc7ce}.bar-booking .booking-actions{border-left:1px solid #ffffff26;padding-left:45px}.booking-actions small{display:block;margin-top:17px;color:#a8b8c6;font-size:11px}

.flat-music{padding:65px 6%;background:#152a3b}.song-list{margin-top:20px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.song-choice{display:flex;align-items:center;gap:12px;text-align:left;color:var(--cream);background:#23394b;border:1px solid #5d6971;padding:11px 12px;border-radius:3px;width:100%}.song-choice:hover{background:#344c5f;border-color:var(--brass)}.choice-code{color:var(--brass);font:600 18px 'Source Serif 4',sans-serif}.song-choice strong{display:block;font-size:13px}.song-choice small{display:block;font-size:11px;color:#b6c3ce;margin-top:4px}.choice-play{margin-left:auto;color:#f4e8d4}.flat-music p{color:#b6c3ce;font-size:14px;line-height:1.7}
.world-player{width:min(690px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:28px;overflow:auto}.world-player h2{font-size:32px;letter-spacing:-1px}.world-player video{width:100%;max-height:60svh;background:#080d13;object-fit:contain}.preview-note{font-size:10px;text-align:center;background:#0b1520;color:#9faeb8;padding:14px 10px 90px;letter-spacing:.04em}.concept-link{font-size:11px;color:#bac4cb;text-decoration:underline}
@keyframes neon-breathe{50%{opacity:.35}}@keyframes record-glint{50%{filter:brightness(1.9);opacity:.25}}
@media(max-width:1100px) and (min-width:801px){.bar-controls{gap:15px}.room-stops button{padding:12px}.skip-room{display:none}}
@media(max-width:800px){
 .bar-nav{height:65px;padding:0 15px;gap:8px}.bar-nav .nav-name{display:none}.bar-nav nav{margin:0;gap:12px;width:100%;justify-content:space-between}.bar-nav nav a{font-size:11px}.bar-nav .button{font-size:11px;padding:9px 11px}.bar-nav .club-nav{display:none}
 .bar-tour{height:auto}.bar-viewport{height:100svh;min-height:690px;position:relative}.stage-canvas{width:max(1100px,177.778svh);height:max(618.75px,100svh)}.bar-intro{left:22px;bottom:146px;max-width:300px}.bar-intro h2{font-size:30px}.bar-intro .eyebrow{font-size:9px}.stage-music-toggle{padding:11px 15px}
 .station-canvas{width:900px;height:600px;aspect-ratio:auto;top:47%}.jukebox-canvas{top:45%;width:min(900px,calc(243.9vw - 78px));height:auto;aspect-ratio:3/2}.station-art{mask-image:linear-gradient(transparent,#000 4% 94%,transparent)}.room-stops,.scroll-clue{display:none}.bar-controls{left:22px;bottom:95px}.skip-room{font-size:11px}.jukebox-instruction{bottom:147px;font-size:10px!important}
 .board-canvas{width:min(850px,200vw);height:auto;aspect-ratio:3/2}.board-heading{font-size:27px!important}.paper-poster{padding:clamp(10px,3.7vw,17px) 8px}.paper-poster>span{font-size:9px}.paper-poster strong{font-size:clamp(30px,10.8vw,42px)}.paper-poster p{font-size:clamp(12px,3.6vw,14px)}.paper-poster small{font-size:10px}
 .jukebox-deck{grid-template-rows:repeat(2,minmax(0,1fr));row-gap:3%}.machine-card{gap:5px;padding:5px 6px}.card-copy strong{font-size:12px}.card-copy small{font-size:10px}.card-code{font-size:12px}.jukebox-search-strip{top:42.7%;height:6%;}.jukebox-search-strip input{font-size:16px;padding-left:7px}.jukebox-search-strip>span{font-size:9px;padding-right:6px}.jukebox-pager{height:7.5%;top:72.6%;gap:23px}.jukebox-pager>span{font-size:11px}
 .bar-booking{padding:50px 6%;grid-template-columns:1fr;gap:24px}.bar-booking h2{font-size:39px}.bar-booking .booking-actions{border:0;padding:0}.flat-music .song-list{grid-template-columns:1fr}.world-player{padding:22px}.world-player h2{font-size:27px}.world-player .close{width:40px;height:40px}.preview-note{padding-bottom:110px}
}
@media(max-width:370px){.bar-nav{padding:0 10px;gap:6px}.bar-nav nav{gap:9px}.bar-nav .button{padding:9px}.card-copy strong{font-size:11px}.card-copy small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paper-poster>span{font-size:8px}.paper-poster small{font-size:9px}.jukebox-search-strip>span{display:none}.jukebox-pager{height:44px}.jukebox-pager button{min-width:44px}.jukebox-deck .machine-card{padding:3px 4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.neon-shimmer,.record-motion{animation:none!important}.bar-nav,.object-target,.machine-card{transition:none}.bar-tour{height:auto}.bar-viewport{position:relative}.camera-station{will-change:auto}.scroll-clue{display:none}}
