@font-face{font-family:PP Radio Grotesk;src:url(/fonts/PPRadioGrotesk-Regular.woff) format("woff");font-weight:100 900;font-display:swap}:root{--cream: #ede6d6;--cream-2: #e0d7c2;--cream-3: #d3c8ae;--ink: #1a1814;--panel: #211d18;--panel-2: #2b2620;--amber: #ffb03b;--amber-hi: #ffd489;--amber-dim: #6b4a16;--orange: #f55b23;--red: #c23c2a;--shadow: rgba(26, 24, 20, .28);--etch: rgba(26, 24, 20, .55);--label-font: "PP Radio Grotesk", "Helvetica Neue", -apple-system, "Segoe UI", sans-serif;--display-font: ui-monospace, "SF Mono", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(120% 90% at 50% 10%,#3a352d,#26221c 55%,#1b1813);display:grid;place-items:center;font-family:var(--label-font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#app{width:min(94vw,1040px)}#app.scene-host{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;max-width:none}#app.scene-host canvas{display:block}.ui-toggle{position:fixed;top:16px;right:16px;z-index:10;padding:7px 14px;border:1px solid #0d0b08;border-radius:7px;background:linear-gradient(180deg,#383129,#262019);color:#ede6d6bf;font-family:var(--label-font);font-size:11px;font-weight:700;letter-spacing:.18em;cursor:pointer;box-shadow:inset 0 1px #ede6d629,0 2px 3px #00000080;transition:color .12s ease,background .12s ease,transform .08s ease,box-shadow .08s ease}.ui-toggle:hover{color:var(--cream);background:linear-gradient(180deg,#423a30,#2c2620)}.ui-toggle:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #0000008c}.scene-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:22px;padding:11px 18px;border:1px solid rgba(255,200,120,.12);border-radius:14px;background:#14100ec7;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);font-family:var(--label-font);box-shadow:inset 0 0 0 .5px #ffffff0f,inset 0 1px #ede6d61a,0 8px 32px #0000004d,0 2px 8px #00000026}.scene-bar-group{display:flex;align-items:center;gap:8px}.scene-chip{padding:6px 11px;border:1px solid #0d0b08;border-radius:6px;background:linear-gradient(180deg,#3a332a,#262019);color:#ede6d6ad;font-family:var(--label-font);font-size:10px;font-weight:700;letter-spacing:.16em;cursor:pointer;box-shadow:inset 0 1px #ede6d629,0 2px 3px #00000080,0 1px #0000008c;transition:color .12s ease,background .12s ease,transform .08s ease,box-shadow .08s ease}.scene-chip:hover{color:var(--cream);background:linear-gradient(180deg,#443c31,#2d2620)}.scene-chip:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #0000008c,0 1px #0006}.scene-chip.active{color:#180d06;background:linear-gradient(180deg,#ff7a3a,#ea5418 60%,#d9490f);border-color:#7c2c08;text-shadow:0 1px 0 rgba(255,255,255,.28);box-shadow:inset 0 2px 4px #0000004d,inset 0 -1px #ffffff29,0 1px #00000080,0 0 10px #f55b2347}.scene-bar-divider{width:1px;height:28px;background:#0009;box-shadow:1px 0 #ede6d617}.scene-dj.on{color:#241503;background:linear-gradient(180deg,var(--amber-hi) 0%,var(--amber) 55%,#e09420 100%);border-color:#6b4a16;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:inset 0 2px 4px #00000038,inset 0 -1px #fff3,0 1px #00000080,0 0 12px #ffb03b73}.scene-dj:not(.on){color:#ede6d659;background:linear-gradient(180deg,#2b2620,#1e1a14);box-shadow:inset 0 2px 4px #00000073,0 1px #0006}.scene-dj:not(.on):hover{color:#ede6d6b3}.scene-time-readout{font-family:var(--display-font);font-size:13px;color:var(--amber);text-shadow:0 0 7px rgba(255,176,59,.45);min-width:58px;text-align:center;padding:3px 8px 4px;border:1px solid #000;border-radius:5px;background:linear-gradient(180deg,#0b0906,#131009);box-shadow:inset 0 2px 5px #000c,0 1px #ede6d612}.scene-time-readout.scrubbed{color:var(--amber-hi);text-shadow:0 0 9px rgba(255,212,137,.6)}.scene-bar-label{font-size:9px;font-weight:700;letter-spacing:.18em;color:#ede6d66b;text-shadow:0 -1px 0 rgba(0,0,0,.75)}.scene-bar input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:3px;background:linear-gradient(180deg,#0a0806,#16120d);box-shadow:inset 0 1px 3px #000c,0 1px #ede6d614;cursor:pointer}.scene-time-slider{width:200px}.scene-amb-slider{width:90px}.scene-bar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:21px;border-radius:3px;border:1px solid #0d0b08;background:linear-gradient(90deg,transparent 0 45%,rgba(26,24,20,.55) 45% 55%,transparent 55% 100%),linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 55%,var(--cream-3) 100%);box-shadow:inset 0 1px #ffffff8c,0 2px 4px #0000008c}.scene-bar input[type=range]::-moz-range-thumb{width:13px;height:21px;border-radius:3px;border:1px solid #0d0b08;background:linear-gradient(90deg,transparent 0 45%,rgba(26,24,20,.55) 45% 55%,transparent 55% 100%),linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 55%,var(--cream-3) 100%);box-shadow:inset 0 1px #ffffff8c,0 2px 4px #0000008c}.scene-bar input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:linear-gradient(180deg,#0a0806,#16120d)}@media(max-width:900px){.scene-bar{flex-wrap:wrap;justify-content:center;max-width:92vw;gap:10px}}.radio-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 45px rgba(0,0,0,.5))}.label{font-family:var(--label-font);font-size:10.5px;font-weight:600;letter-spacing:.22em;fill:var(--etch)}.label-tiny{font-family:var(--label-font);font-size:8px;font-weight:600;letter-spacing:.18em;fill:var(--etch)}.dial-freq{font-family:var(--display-font);font-size:13px;font-weight:500;fill:var(--amber);opacity:.5;transition:opacity .4s}.dial-station{font-family:var(--label-font);font-size:8.5px;font-weight:700;letter-spacing:.14em;fill:var(--amber-hi);opacity:.45;transition:opacity .4s}.radio--on .dial-freq{opacity:.85}.radio--on .dial-station{opacity:.9}.dial-hit{cursor:grab}.dial-hit:active{cursor:grabbing}#dial-glow{opacity:0;transition:opacity .6s ease}.radio--on #dial-glow{opacity:1}.radio--warming #dial-glow{animation:lamp-warm 2.4s ease-out}@keyframes lamp-warm{0%{opacity:0}18%{opacity:.12}26%{opacity:.05}38%{opacity:.4}47%{opacity:.28}62%{opacity:.65}74%{opacity:.55}to{opacity:1}}#dial-needle{filter:none}.radio--on #dial-needle{filter:drop-shadow(0 0 6px rgba(245,91,35,.8))}#vu-backlight{opacity:.12;transition:opacity .6s ease}.radio--on #vu-backlight{opacity:.55}.display-body{position:relative;width:100%;height:100%;background:radial-gradient(120% 100% at 50% 20%,#1a1409,#120e08 60%,#0c0906);border-radius:6px;padding:10px 12px 8px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--display-font);color:var(--amber);opacity:.25;transition:opacity .5s ease;text-shadow:0 0 7px rgba(255,176,59,.55)}.display-body:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:linear-gradient(115deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.02) 30%,transparent 45%),repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0px,rgba(0,0,0,.14) 1px,transparent 1px,transparent 3px);pointer-events:none}.radio--warming .display-body{animation:display-warm 2.4s ease-out}@keyframes display-warm{0%{opacity:0}22%{opacity:.1}30%{opacity:.04}45%{opacity:.5}55%{opacity:.35}72%{opacity:.8}to{opacity:1}}.radio--on .display-body{opacity:1}.display-station{font-size:12px;font-weight:700;letter-spacing:.08em;white-space:nowrap;display:flex;justify-content:space-between;gap:8px}.display-freq{color:var(--amber-hi)}.display-title-window{overflow:hidden;white-space:nowrap}.display-title{display:inline-block;font-size:15px;font-weight:500;letter-spacing:.04em;white-space:nowrap}.display-title.scrolling{animation:marquee 9s linear infinite}@keyframes marquee{0%,12%{transform:translate(0)}88%,to{transform:translate(var(--scroll-distance, -40%))}}.display-meta{font-size:10px;letter-spacing:.12em;color:var(--amber-hi);opacity:.75;display:flex;justify-content:space-between}.display-mic{color:var(--orange);font-weight:700}.display-mic.hidden{visibility:hidden}.knob-hit,.power-hit{cursor:pointer}.knob-hit{cursor:ns-resize}#power-lever{transition:transform .13s cubic-bezier(.34,1.56,.64,1)}.radio--on #power-led{filter:drop-shadow(0 0 4px rgba(245,91,35,.9))}.power-hint{font-family:var(--label-font);font-size:9px;font-weight:600;letter-spacing:.2em;fill:var(--orange);opacity:0;animation:hint-pulse 2.2s ease-in-out infinite}.radio--never-on .power-hint{opacity:1}@keyframes hint-pulse{0%,to{opacity:.35}50%{opacity:1}}.radio--on .power-hint,.radio--off .power-hint{animation:none}.ui-toggle--host{top:58px}
