:root{--page: #050505;--frame: #0b0b0a;--print: #d8d3c6;--dim: #8a867c;--amber: #ffbf2f;color-scheme:dark}*{box-sizing:border-box}html{background:var(--page)}html,body{margin:0;color:var(--print)}body{background:transparent}body{font:500 15px/1.4 Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}main{max-width:1600px;margin:0 auto;padding:20px 16px 24px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.airport{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.airport{display:flex;align-items:center;gap:10px;min-width:0}.airport span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport input{width:3.6em;font:700 16px/1 Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);background:#000;border:1px solid #2b2a27;border-radius:6px;padding:8px 6px;text-align:center;min-height:40px}.airport input:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modes{display:inline-flex;border:1px solid #2b2a27;border-radius:999px;padding:3px}.modes button{font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);background:transparent;border:0;border-radius:999px;padding:6px 12px;min-height:34px;cursor:pointer}.modes button[aria-pressed=true]{background:#1d1d1b;color:var(--print)}.modes button:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.sound{font:inherit;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--print);background:transparent;border:1px solid #2b2a27;border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer}.sound[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.sound:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.board{position:relative;background:var(--frame);border-radius:6px;box-shadow:inset 0 0 0 1px #1a1a18,0 30px 60px -30px #000;overflow:hidden}.board canvas{display:block;width:100%}.overlay{position:absolute;inset:0;pointer-events:none}.overlay span{position:absolute;display:flex;align-items:center;white-space:nowrap}.overlay .title{font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--header, var(--print));font-size:calc(var(--u) * .9)!important}.overlay .label{align-items:flex-end;padding-bottom:4px;text-transform:uppercase;letter-spacing:.1em;color:var(--header, var(--amber));opacity:.85;font-weight:700;font-size:calc(var(--u) * .42)!important}.overlay .page{justify-content:flex-end;padding-right:6px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-weight:700;font-size:calc(var(--u) * .42)!important}.overlay .colon{justify-content:center;font-weight:700;color:var(--print)}.fallback{display:none;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.fallback caption{text-align:left;color:var(--dim);padding-bottom:8px}.fallback th,.fallback td{text-align:left;padding:6px 8px;border-bottom:1px solid #1f1e1c}.fallback th{color:var(--amber);font-size:12px;text-transform:uppercase;letter-spacing:.08em}[data-gl=none] .board{display:none}[data-gl=none] .fallback{display:table}[data-gl=webgl2] .fallback{display:table;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:14px;color:var(--dim);font-size:12px}.foot p{margin:0}.scene{position:fixed;inset:0;z-index:-1;background:var(--page);overflow:hidden}.scene img{width:100%;height:100%;object-fit:cover;object-position:var(--scene-focus, 50% 40%);opacity:0;transition:opacity .8s ease;filter:saturate(.85) brightness(var(--scene-dim, .42))}[data-scene=off] .scene img{display:none}.scene img.ready{opacity:1}.scene:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,transparent 30%,rgba(0,0,0,.55) 100%)}.credit{flex-basis:100%}.credit a{color:inherit}.mount{position:relative}.mount .board{border-radius:4px}.mount:not([data-mount=plain]) .board{background:var(--housing, #121211);box-shadow:0 0 0 var(--lip, 10px) var(--housing-edge, #1c1b19),0 0 0 calc(var(--lip, 10px) + 1px) #ffffff0f,0 calc(var(--lip, 10px) + 6px) 40px 8px #000000a6,inset 0 1px #ffffff0d;margin:var(--lip, 10px)}.mount[data-mount=hung]:before,.mount[data-mount=hung]:after{content:"";position:absolute;top:-100vh;height:100vh;width:4px;border-radius:2px;background:linear-gradient(90deg,#2c2b28,#5a5852 45%,#1d1c1a);box-shadow:0 0 6px #00000080}.mount[data-mount=hung]:before{left:14%}.mount[data-mount=hung]:after{right:14%}.mount[data-mount=wall]{padding:18px;background:var(--wall, #2a2824);border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff0d,0 20px 60px -20px #000}.band{margin:0 var(--lip, 10px);padding:6px 14px;font:700 13px/1.2 Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.06em;border-radius:0 0 3px 3px}.mount.band-top{display:flex;flex-direction:column-reverse}.mount.band-top .band{border-radius:3px 3px 0 0;margin-bottom:0}[data-view=hall] .scene img{filter:none;object-position:50% 50%}[data-view=hall] .scene:after{background:radial-gradient(140% 100% at 50% 40%,transparent 55%,rgba(0,0,0,.35) 100%)}[data-view=hall] .mount{position:fixed;left:0;top:0;transform-origin:0 0;margin:0;padding:0;background:none;box-shadow:none;z-index:0}[data-view=hall] .mount:before,[data-view=hall] .mount:after{display:none}[data-view=hall] .mount .board{margin:0;background:#0b0b0a;box-shadow:none;border-radius:0}[data-view=hall] .mount .board canvas{filter:brightness(.88) contrast(.96) saturate(.9)}[data-view=hall] .band,[data-view=hall] .overlay{display:none}[data-view=hall] main{position:relative;z-index:1;pointer-events:none}[data-view=hall] main .top,[data-view=hall] main .foot{pointer-events:auto}[data-view=hall] .top{background:linear-gradient(#0000008c,#0000);margin:-20px -16px 0;padding:16px;border-radius:0}[data-view=hall] .foot{position:fixed;left:0;right:0;bottom:0;padding:10px 16px;margin:0;background:linear-gradient(#0000,#000000bf);color:#c9c4b7}.board{background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),linear-gradient(180deg,#1c1c1a,#121211 60%,#0e0e0d)}.board canvas{position:relative;z-index:1}.overlay{z-index:2}.decor{position:absolute;inset:0;pointer-events:none}.decor i{position:absolute;display:block}.decor .plate{border-radius:3px;background:linear-gradient(180deg,#252523,#191917 55%,#141413);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0000008c,0 2px 3px #0000008c}.decor .strip{border-radius:2px;background:linear-gradient(180deg,#101010,#0c0c0b);box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff0a}.decor .tray{border-radius:2px;background:linear-gradient(180deg,#040404,#080807 30%,#0b0b0a);box-shadow:inset 0 3px 4px #000000d9,inset 0 -1px #ffffff0d,0 1px #ffffff12,0 -1px #0009}.decor .rail{background:linear-gradient(180deg,#4a4944,#2a2927 50%,#161615);box-shadow:0 1px 1px #000000bf;opacity:.8}.decor .divider{background:linear-gradient(90deg,#000000b3,#ffffff0f 50%,#000000b3)}.decor .screw{border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a8780,#3a3935 45%,#141413 75%);box-shadow:0 1px 1px #000000e6,inset 0 0 0 .5px #0009}[data-view=hall] .decor{display:none}[hidden]{display:none!important}main{perspective:1800px;perspective-origin:50% 40%}.mount{transform-style:preserve-3d;--depth: 46px}.mount.tilting{will-change:transform}.slab{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.slab i{position:absolute;display:block}.slab .s-top{left:0;right:0;top:0;height:var(--depth);transform-origin:top;transform:rotateX(-90deg);background:linear-gradient(180deg,#3a3935,#1d1d1b)}.slab .s-bottom{left:0;right:0;bottom:0;height:var(--depth);transform-origin:bottom;transform:rotateX(90deg);background:linear-gradient(0deg,#080808,#121211)}.slab .s-left{top:0;bottom:0;left:0;width:var(--depth);transform-origin:left;transform:rotateY(90deg);background:linear-gradient(90deg,#262624,#141413)}.slab .s-right{top:0;bottom:0;right:0;width:var(--depth);transform-origin:right;transform:rotateY(-90deg);background:linear-gradient(270deg,#222220,#121211)}[data-view=hall] .slab{display:none}.mount:not([data-mount=plain]) .board{box-shadow:0 0 0 var(--lip, 10px) var(--housing-edge, #1c1b19),0 0 0 calc(var(--lip, 10px) + 1px) #ffffff0f,0 calc(var(--lip, 10px) + 18px) 60px 14px #000000b3,inset 0 1px #ffffff0d}.gear{padding-inline:14px}.settings{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;color:var(--print);background:#0f0f0e;border:1px solid #2b2a27;border-radius:12px;box-shadow:0 30px 80px #000000b3}.settings::backdrop{background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings form{display:flex;flex-direction:column;max-height:inherit}.settings header,.settings footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.settings header{border-bottom:1px solid #1f1e1c}.settings footer{border-top:1px solid #1f1e1c;color:var(--dim);font-size:12px}.settings footer p{margin:0}.settings h2{margin:0;font-size:15px;letter-spacing:.08em;text-transform:uppercase}.settings [data-settings-body]{overflow:auto;padding:4px 18px 10px}.settings fieldset{border:0;margin:0;padding:12px 0 6px;border-bottom:1px solid #1a1a18}.settings fieldset:last-child{border-bottom:0}.settings legend{padding:0;margin-bottom:6px;color:var(--amber);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.set-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;gap:4px 12px;padding:8px 0}.set-label{font-size:14px}.set-hint{grid-column:1 / -1;margin:0;color:var(--dim);font-size:12px}.set-choice{grid-column:2 / -1;display:inline-flex;flex-wrap:wrap;justify-self:end;border:1px solid #2b2a27;border-radius:999px;padding:3px}.set-choice button{font:inherit;font-size:12px;color:var(--dim);background:none;border:0;border-radius:999px;padding:6px 11px;min-height:32px;cursor:pointer}.set-choice button[aria-checked=true]{background:#23231f;color:var(--print)}.set-choice button:disabled{opacity:.35;cursor:not-allowed}.set-row input[type=range]{width:min(180px,40vw);accent-color:var(--amber)}.set-row output{min-width:6.5ch;text-align:right;font-variant-numeric:tabular-nums;color:var(--dim);font-size:13px}.set-toggle{grid-column:3;justify-self:end;width:20px;height:20px;accent-color:var(--amber)}.set-text{grid-column:2 / -1;justify-self:end;width:4.6em;font:700 15px/1 Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);background:#000;border:1px solid #2b2a27;border-radius:6px;padding:8px;text-align:center}.settings button.close,.settings button.reset{font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--print);background:none;border:1px solid #2b2a27;border-radius:999px;padding:8px 14px;min-height:36px;cursor:pointer}.settings button:focus-visible,.settings input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:520px){.set-row{grid-template-columns:1fr auto}.set-choice,.set-text{grid-column:1 / -1;justify-self:start}.set-row input[type=range]{grid-column:1;width:100%}}[data-view=hall] main{perspective:none}.decor .lamp{border-radius:50%;background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--lamp, #e0342b) 35%,#222),#0b0b0a 75%);box-shadow:inset 0 0 0 1px #000000b3,0 1px #ffffff0f}.decor .lamp[data-lit]{background:radial-gradient(circle at 40% 35%,#fff 0 12%,var(--lamp, #e0342b) 45%,color-mix(in srgb,var(--lamp, #e0342b) 55%,#000) 100%);box-shadow:0 0 6px 1px color-mix(in srgb,var(--lamp, #e0342b) 70%,transparent),inset 0 0 0 1px #0006}.decor .lamp[data-lit=blink]{animation:lamp 1.1s steps(1,end) infinite}@keyframes lamp{50%{background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--lamp, #e0342b) 35%,#222),#0b0b0a 75%);box-shadow:inset 0 0 0 1px #000000b3}}@media(prefers-reduced-motion:reduce){.decor .lamp[data-lit=blink]{animation:none}}.set-select{grid-column:2 / -1;justify-self:end;max-width:100%;font:inherit;font-size:13px;color:var(--print);background:#000;border:1px solid #2b2a27;border-radius:6px;padding:8px 10px}.stage-root{position:relative;min-height:100vh}[data-rotate="90"],[data-rotate="180"],[data-rotate="270"]{overflow:hidden}[data-rotate="90"] .stage-root,[data-rotate="270"] .stage-root,[data-rotate="180"] .stage-root{position:fixed;top:0;left:0;overflow:auto;transform-origin:top left;min-height:0}[data-rotate="90"] .stage-root{width:100vh;height:100vw;transform:rotate(90deg) translateY(-100%)}[data-rotate="270"] .stage-root{width:100vh;height:100vw;transform:rotate(-90deg) translate(-100%)}[data-rotate="180"] .stage-root{width:100vw;height:100vh;transform:rotate(180deg) translate(-100%,-100%)}.stage-root .scene{position:fixed}[data-rotate="90"] .scene,[data-rotate="270"] .scene,[data-rotate="180"] .scene{position:absolute;inset:0}[data-fill=on] main{max-width:none;padding-top:10px;padding-bottom:10px}[data-fill=on] .top{margin-bottom:8px}[data-fill=on] .foot{margin-top:8px}
