/* Desktop instrument panel: opaque pixel hardware, not a new game viewport. */
#atmosphereOutput{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;image-rendering:pixelated;display:none}
/* Temporary world-only presentation, including the WebGL output/fallback.
   No preset writes, HUD filtering or extra full-frame copy; fade uses the game clock. */
#gameFrame.cemetery-respawn-monochrome > #game,
#gameFrame.cemetery-respawn-monochrome > #atmosphereOutput,
#gameFrame.cemetery-respawn-monochrome > #morgueVideoOverlay{filter:grayscale(var(--cemetery-monochrome,1))}
#atmospherePanel{--accent:#00ff41;--panel-space:12px;--module-space:8px;position:absolute;left:0;top:0;z-index:600;width:210px;height:960px;padding:var(--panel-space) 14px;background:#302447;color:#728a96;border-right:3px solid #505774;box-shadow:inset -2px 0 #201d35;transform-origin:top left;user-select:none;font:12px monospace;overflow:hidden;display:flex;flex-direction:column;gap:var(--panel-space)}
#atmospherePanel> *{flex-shrink:0}
#atmospherePanel *{box-sizing:border-box}
.instrument-title{margin:0 0 var(--module-space);font-weight:normal;display:flex;justify-content:space-between;align-items:center;height:15px;flex-shrink:0}
.pixel-text{display:inline-block;vertical-align:middle;line-height:0}
.pixel-text svg{height:10px;max-width:100%;width:auto;display:block;fill:currentColor;shape-rendering:crispEdges}
.instrument-title .pixel-text svg{height:14px}
.hardware-display{background:#25132d;border:2px solid #49506f;box-shadow:inset 2px 2px #211d34,2px 2px #22203a;padding:8px;color:#b7b64b}
.hardware-display>span.pixel-text:first-child{display:block}
#atmospherePanel #miniMapBox{position:relative!important;left:auto!important;top:auto!important;right:auto!important;transform:none!important;width:100%;height:149px;padding:6px;margin:8px auto 0;background:#25132d;border:2px solid #4a5273;overflow:hidden;box-shadow:inset 2px 2px #1e182e,2px 2px #211b32;pointer-events:none}
.scanner-section{margin-top:0!important;padding-top:0}
#atmospherePanel #miniMapTitle{display:none}
#atmospherePanel #miniMap{display:block;width:100%;height:100%;background:#25132d}
.instrument-section{margin:0}
.dials{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.dial-control{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;color:#7b9098}
.dial-control>.pixel-text:first-child{margin-bottom:6px}
.dial-control>.pixel-text svg{height:8px}
.dial{position:relative;width:40px;height:40px;margin:auto;border-radius:50%;background:#25192f;box-shadow:-2px -2px #414360,2px 2px #211c34,inset 1px 1px #53546e}
.dial:before{content:"";position:absolute;inset:-5px;border:1px dashed #4b4869;border-radius:50%;pointer-events:none}
.dial:after{content:"";position:absolute;inset:6px;border-radius:50%;border:1px solid #35233f;pointer-events:none}
.dial-indicator{position:absolute;inset:0;transform:rotate(var(--angle,-135deg));pointer-events:none}
.dial-indicator:after{content:"";position:absolute;left:18px;top:5px;width:3px;height:9px;background:#a2bca6;box-shadow:1px 0 #596877}
.dial-input{position:absolute;inset:-5px;width:50px;height:50px;margin:0;opacity:0;cursor:ns-resize;touch-action:none}
.dial:focus-within{outline:1px solid #b7b64b;outline-offset:5px}
.dial-value{display:block;margin-top:8px;color:#b7b64b}
.dial-value svg{height:8px;margin:auto}
/* Only RAIN: brushed gunmetal cap and knurled rim, no animated lighting. */
.dial-rain-metal{background:repeating-conic-gradient(from 2deg,#353c45 0deg 5deg,#78828a 5deg 8deg,#444d57 8deg 12deg);box-shadow:0 2px 3px #100f1d,-1px -1px 0 #8c969c,1px 1px 0 #151923,inset 0 0 0 1px #303943}
.dial-rain-metal:before{border-color:#676c7c}
.dial-rain-metal:after{inset:3px;border:1px solid #919b9f;background:repeating-linear-gradient(0deg,#d8e0df0a 0px 1px,#18222b0a 1px 2px),conic-gradient(from 35deg,#46515c,#8b969c 42deg,#58646e 92deg,#35414d 145deg,#929da1 205deg,#606d77 255deg,#a3adae 302deg,#46515c);box-shadow:inset 1px 1px 2px #d1d9d54d,inset -1px -2px 3px #15202b99}
.dial-rain-metal .dial-indicator{z-index:1}
.dial-rain-metal .dial-indicator:after{background:#17232b;box-shadow:1px 0 #c2cebf,inset 0 1px #080e16;border-radius:1px}
.dial-rain-metal .dial-input{z-index:2}
.color-module{display:grid;grid-template-columns:1fr 58px;align-items:center;gap:12px}
.color-module .dial{width:46px;height:46px}
.color-module .dial-indicator:after{left:21px}
.color-module .dial-input{width:56px;height:56px}
.color-ramp{height:7px;margin:10px 0 8px;background:linear-gradient(90deg,#18662f,#19467c,#543471);border-bottom:2px solid #191a29}
.instrument-readout{color:#b7b64b}
.instrument-readout .pixel-text svg{height:9px}
.wave-display{height:44px;width:100%;display:block;margin-top:5px;background:color-mix(in srgb,var(--accent) 16%,#10101a);border:1px solid #485b37}
.wave-display path{fill:none;stroke:#a5ad41;stroke-width:1;shape-rendering:crispEdges}
.panel-buttons{display:flex;gap:var(--module-space);margin-top:var(--panel-space)}
.hardware-button{font:inherit;cursor:pointer;background:#292039;color:#8198a0;border:2px solid #505472;box-shadow:2px 2px #201a31;padding:6px;min-height:26px}
.hardware-button:hover,.hardware-button:focus-visible{color:#c6c76c;border-color:#87938f;outline:none}
.hardware-button:active{transform:translate(1px,1px);box-shadow:none}
.hardware-button .pixel-text svg{height:8px}
.audio-status{margin-top:8px;color:#85958f;min-height:12px}
.audio-status svg{height:7px!important}
.radio-section{display:flex;flex-direction:column;flex-grow:1;padding:0}
.radio-section .instrument-title{justify-content:flex-start;flex-wrap:nowrap;gap:8px;height:28px;padding:5px;background:#25132d;border:2px solid #48506c}
.radio-section .instrument-title .pixel-text svg{height:10px}
.radio-name-green{color:var(--accent)}
.radio-name-yellow{color:#b7b64b}
.radio-name-red{color:#c64c46}
.radio-section .instrument-title svg{overflow:visible}
.radio-word-flicker{animation:radio-word-reignite 850ms steps(1,end) 1}
@keyframes radio-word-reignite{0%,100%{opacity:1;filter:none}10%,28%{opacity:.04;filter:none}21%{opacity:.8;filter:none}44%{opacity:1;filter:drop-shadow(0 0 2px currentColor)}59%{opacity:.08;filter:none}72%,87%{opacity:1;filter:drop-shadow(0 0 2px currentColor)}}
@media(prefers-reduced-motion:reduce){.radio-word-flicker{animation:none}}
.radio-module{position:relative;display:flex;flex-direction:column;flex-grow:1;padding:10px 8px 12px;background:#3a304f;border:3px solid;border-color:#77768a #181728 #181728 #77768a;box-shadow:inset 2px 2px #514760,inset -2px -2px #252037,2px 3px #171421}
.radio-module:before,.radio-module:after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border:1px solid #1b192b;background:linear-gradient(135deg,#77758a 0 40%,#282436 40% 60%,#77758a 60%);box-shadow:1px 1px #4f4561;pointer-events:none}
.radio-module:before{left:4px}.radio-module:after{right:4px}
.radio-screen{flex-grow:1;display:flex;flex-direction:column;padding:8px 7px 5px;background:color-mix(in srgb,var(--accent) 20%,#07150e);border:1px solid color-mix(in srgb,var(--accent) 42%,#41513a);box-shadow:inset 0 0 0 2px #17252a,-2px -2px #211b30,2px 2px #625672;overflow:hidden}
.radio-screen-heading{display:flex;justify-content:space-between;align-items:center;color:var(--accent)}
.radio-screen-heading svg{height:6px}
.radio-screen-heading i{width:5px;height:5px;background:#c5c75a;box-shadow:2px 0 #38462c}
#radioTrack{height:21px;margin-top:6px;display:flex;align-items:center;min-width:0;overflow:hidden;color:#d4d369}
#radioTrackName{max-width:100%}
#radioTrackName svg{height:8px;max-width:100%;width:auto}
.radio-screen .audio-status{display:flex;align-items:center;margin-top:4px;min-height:8px;color:#91ad7b}
.radio-screen .audio-status svg{height:6px!important}
.radio-wave{width:100%;height:32px;flex-grow:1;display:block;margin:7px 0 3px;overflow:hidden;cursor:pointer;pointer-events:all}
.radio-wave:focus-visible{outline:1px solid #d4d369;outline-offset:2px}
.radio-wave[aria-disabled="true"]{cursor:default}
.radio-grid{fill:none;stroke:var(--accent);stroke-width:.5;opacity:.2}
.radio-wave-main{fill:none;stroke:#d4d369;stroke-width:.4}
.radio-wave-echo{fill:none;stroke:var(--accent);stroke-width:.4;opacity:.75}
#radioWaveHead{fill:none;stroke:#d4d369;stroke-width:.8}
.radio-scale{display:flex;gap:5px;align-items:center;color:#9eaf69}
.radio-scale svg{height:5px}
.radio-scale i{height:5px;flex:1;background:repeating-linear-gradient(90deg,transparent 0 6px,#6f8754 6px 7px);border-bottom:1px solid #657948}
.radio-transport{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.radio-skip{position:relative;width:43px;height:33px;padding:5px 7px 8px;background:#aaa561;color:#292636;border:2px solid;border-color:#e1d898 #5e563d #5e563d #e1d898;box-shadow:0 4px #57503c,0 6px #1b182a,inset 0 -3px #89844e;border-radius:2px 2px 0 0}
.radio-skip:after{content:"";position:absolute;left:7px;right:7px;bottom:3px;height:2px;background:repeating-linear-gradient(90deg,#746d45 0 1px,transparent 1px 3px);pointer-events:none}
.radio-skip>svg{width:23px;height:13px;fill:currentColor;display:block}
.radio-skip:hover,.radio-skip:focus-visible{background:#c6bf78;border-color:#ece3a4 #756845 #756845 #ece3a4;color:#211d30;outline:1px solid var(--accent);outline-offset:3px}
.radio-skip:active{transform:translateY(3px);box-shadow:0 1px #57503c,0 3px #1b182a,inset 0 2px #89844e}
.radio-leaf{flex:1;min-width:0;height:33px;display:grid;place-items:center;perspective:100px;color:color-mix(in srgb,var(--accent) 20%,#07150e);pointer-events:none}
.radio-leaf>svg{display:block;width:38px;height:33px;overflow:visible;transform-origin:center;animation:radio-leaf-turn 7s linear infinite;backface-visibility:visible}
@keyframes radio-leaf-turn{from{transform:rotateX(12deg) rotateY(0deg)}to{transform:rotateX(12deg) rotateY(360deg)}}
.radio-suspended .radio-leaf>svg{animation-play-state:running!important}
@media(prefers-reduced-motion:reduce){.radio-leaf>svg{animation:radio-leaf-turn 7s linear infinite;transform:rotateX(12deg) rotateY(0deg)}}
#atmospherePanel #locationBox{display:block!important;position:static!important;transform:none!important;min-width:0;padding:5px;margin-top:var(--module-space);text-align:left;background:#25132d;border:2px solid #48506c}
#atmospherePanel .locationLabel{display:none}
#atmospherePanel .streetName{color:#b7b64b!important;letter-spacing:0!important;font-size:10px}
.panel-foot{margin-top:0;padding-top:0;color:#6e7e8e;display:flex;justify-content:space-between}
.panel-foot svg{height:7px!important}
.atmosphere-desktop #soundToggle,.atmosphere-desktop #controls{display:none!important}
.atmosphere-desktop #gameFrame{border-color:var(--world-border,rgba(0,255,65,.55));box-shadow:none;isolation:isolate;contain:layout paint}
.atmosphere-desktop #atmospherePanel{contain:layout paint}
.atmosphere-desktop #scanlines{background:repeating-linear-gradient(to bottom,var(--world-scan,rgba(0,255,65,.09)) 0px,var(--world-scan,rgba(0,255,65,.09)) 1px,transparent 1px,transparent 4px)}
.atmosphere-desktop #bootPanel{border-color:var(--world-border);color:var(--world-border)}
.atmosphere-desktop #bootHint{color:#020903!important;border-color:var(--world-border,#00c83b);background:var(--world-border,#00c83b)}
.atmosphere-desktop #bootPasswordForm button{color:#020903!important;border-color:var(--world-border,#00c83b);background:var(--world-border,#00c83b)}
