:root{--paper:#f3f0e9;--ink:#17151b;--purple:#8144c5;--lavender:#d2baf0;--rule:#c1babf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid var(--ink);background:var(--paper);padding:10px 14px;border-radius:0}button:hover{background:#e0d4ec}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}button[aria-pressed=true]{background:var(--ink);color:white}[hidden]{display:none!important}.masthead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:22px 4vw}.brand{color:inherit;text-decoration:none;font-weight:900;font-size:22px;letter-spacing:-1px}.brand span{color:var(--purple);font-size:32px;vertical-align:middle;margin-right:10px}.brand small{font:12px monospace;letter-spacing:1px;margin-left:12px}.badge,.eyebrow,.intro-note,.stage-caption,.toolbar,.underbar,.legend{font-family:monospace}.badge{font-size:11px}main{max-width:1500px;margin:auto;padding:0 4vw}.intro{display:flex;align-items:end;justify-content:space-between;padding:26px 0 22px;gap:20px}.eyebrow{font-size:11px;letter-spacing:1.5px;margin:0 0 10px}h1{font-size:clamp(25px,3vw,42px);letter-spacing:-1.8px;line-height:1.05;margin:0}.intro-note{font-size:12px;line-height:1.7;margin:0;color:#59525c}.workbench{border:1px solid var(--ink)}#stage{height:min(68vw,680px);min-height:430px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#e2dcd8 0,transparent 62%),#eae6df}#stage>canvas{position:absolute;inset:0;width:100%;height:100%}#loading,#fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:8;font:14px monospace;gap:15px}#loading{background:#eae6df;font-size:18px}#loading:first-line{color:var(--purple);font-size:42px}.stage-caption{position:absolute;left:20px;bottom:16px;font-size:10px;letter-spacing:1px;pointer-events:none}.stage-corner{position:absolute;right:22px;bottom:12px;color:var(--purple);font-size:24px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--ink);padding:14px;font-size:12px}.toolbar button{min-height:42px}.mode-switch{display:flex}.mode-switch button+button{border-left:0}.volume-label{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px}.volume-label input{width:90px;accent-color:var(--purple)}.volume-label output{width:32px}.underbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;font-size:12px}.underbar p{color:#534b59;line-height:1.5}.load-video{cursor:pointer;white-space:nowrap;text-decoration:underline;position:relative;display:inline-flex;align-items:center;min-height:44px}.load-video input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}.load-video:focus-within{outline:3px solid var(--purple)}.legend{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--rule);padding:20px 0 30px;font-size:10px;letter-spacing:.4px}.legend b{color:var(--purple);font-size:16px;margin-right:8px}.legend-end{margin-left:auto;color:#6c646e}.hardware-hit{position:absolute;z-index:4;background:transparent!important;border:0;border-radius:4px;padding:0;min-width:32px;min-height:32px;transform:translate(-50%,-50%)!important}.hardware-hit:hover{outline:1px solid #aa80d5;box-shadow:0 0 0 4px #8144c517}.hardware-hit:active{background:#8144c522!important}.knob-hit{cursor:grab;touch-action:none;border-radius:50%}.knob-hit:active{cursor:grabbing}#screen-anchor{position:absolute;z-index:3;transform-origin:0 0;overflow:hidden;border-radius:6%;background:#17141d;box-shadow:inset 0 0 12px #0008}#screen-ui{width:560px;height:456px;position:relative;overflow:hidden;font:15px/1.5 monospace;background:#ceb6e6;color:#17131c;transform-origin:0 0}#screen-ui button{font-family:inherit;padding:6px 10px}#screen-ui button:focus-visible{outline-color:#59269e;outline-offset:-3px}.os-menu{display:flex;align-items:center;gap:15px;height:38px;padding:0 10px;background:#f3f0e9;border-bottom:1px solid #211a28;font-size:12px}.os-menu button{font-weight:800;border:0;padding:0!important;background:transparent}.os-menu>span:last-child{margin-left:auto;font-size:10px}#desktop{height:418px;position:relative;background-image:radial-gradient(#694b891e .8px,transparent .8px);background-size:4px 4px}.desktop-icons{display:flex;position:absolute;left:14px;top:16px;bottom:40px;flex-direction:column;gap:10px}.desktop-icons button{border:1px solid transparent;background:transparent;width:80px;font-size:12px}.desktop-icons button:hover{background:#f3f0e9aa;border-color:#2b2139}.desktop-icons span{display:block;font-size:29px;line-height:1.1;margin-bottom:4px}.os-window{position:absolute;left:112px;top:26px;width:423px;max-height:347px;background:#f4f0e8;border:1px solid #23172c;box-shadow:4px 4px 0 #4d2e6855;display:flex;flex-direction:column}.window-title{height:35px;display:flex;align-items:center;justify-content:space-between;background:#ded8dc;border-bottom:1px solid #221829;padding:4px 6px 4px 12px;font-size:12px}.window-title>div{display:flex;gap:5px}.window-title button{width:26px;height:26px;padding:0!important;line-height:1;font-size:20px}#app-content{padding:20px;overflow:auto;min-height:210px;max-height:310px}#app-content h2{font:900 30px/1 Arial,sans-serif;letter-spacing:-1px;margin:4px 0 16px}#app-content p{font-size:13px;line-height:1.65;margin:10px 0}#app-content .kicker{font-size:10px;letter-spacing:1px;color:#68408f}.app-actions{display:flex;gap:8px;margin-top:18px}.app-actions button{font-size:12px;min-height:36px}.file-list{display:grid;gap:8px}.file-list button{text-align:left;display:flex;justify-content:space-between;font-size:12px;min-height:40px}.file-list small{color:#796b85}.note-input{background:transparent;border:1px solid #aca0b6;width:100%;min-height:145px;padding:10px;font:13px/1.6 monospace;resize:vertical}#restore-app{position:absolute;bottom:40px;left:112px;font-size:12px}.desktop-footer{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;padding:8px 12px;font-size:10px;background:#d7c4e5;border-top:1px solid #b498c9}#standby,#boot{position:absolute;inset:0;background:#17141d;color:#d5b9f1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}#standby>span,#boot>span{font-size:54px;color:#a968e5}#standby h2{font-size:18px;font-weight:400;letter-spacing:4px}#standby button{font-size:14px}#boot{z-index:8}#boot strong{font:900 38px Arial,sans-serif;letter-spacing:-2px}#boot small{font-size:11px}#video-os{position:absolute;inset:0;pointer-events:none;background:transparent;display:flex;flex-direction:column;justify-content:space-between;padding:10px}#video-os button{pointer-events:auto;font-size:12px;background:#eee9f0}.video-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:white;background:#17141dbb;padding:6px}#video-back{align-self:start}#expanded-video-host{position:absolute;inset:0;background:#17141d;z-index:-1;display:none}#expanded-video-host video{width:100%;height:100%;object-fit:contain}body.video-mode:not(.expanded) #screen-anchor{background:transparent;box-shadow:none}body.video-mode:not(.expanded) #screen-ui{background:transparent}body.video-mode .os-menu,body.video-mode #desktop{visibility:hidden}body.expanded{overflow:hidden}body.expanded #screen-anchor{position:fixed!important;left:50%!important;top:50%!important;width:min(94vw,960px)!important;height:min(78dvh,760px)!important;transform:translate(-50%,-50%)!important;border-radius:0;z-index:21;border:1px solid #17131c;box-shadow:0 0 0 100vmax #16121bec}body.expanded #screen-ui{width:100%!important;height:100%!important;transform:none!important}body.expanded #desktop{height:calc(100% - 38px)}body.expanded .os-window{width:calc(100% - 145px);max-height:calc(100% - 75px)}body.expanded #app-content{max-height:60vh;min-height:230px;font-size:16px}body.expanded #app-content p{font-size:15px}body.expanded #exit-expanded{display:block;position:fixed;z-index:23;right:3vw;top:2vh;background:var(--paper);min-height:44px}body.expanded #expanded-video-host{display:block}body.expanded #video-os{z-index:2}body.expanded .desktop-icons button{min-height:58px}body.expanded #screen-ui button{min-height:40px}body.expanded .window-title{height:46px}body.expanded .window-title button{min-height:32px!important;height:32px;width:32px}body.expanded .os-menu button{min-height:32px!important}body.expanded .toolbar{position:fixed;z-index:22;left:3vw;right:3vw;bottom:1vh;background:var(--paper);justify-content:center}body.expanded .toolbar #expand,body.expanded .toolbar #inspect{display:none}body.expanded .volume-label{margin-left:0}.video-label,#video-back{position:relative}kbd{font-size:10px;opacity:.6}body.inspecting #screen-anchor{visibility:hidden}body.inspecting #stage{cursor:grab}
@media(max-width:700px){.masthead{padding:15px 5vw}.brand{font-size:20px}.brand small{display:none}.badge{font-size:9px}main{padding:0 4vw}.intro{padding:22px 0 18px}.intro-note{display:none}h1{font-size:28px;letter-spacing:-1px}#stage{height:100vw;min-height:360px;max-height:500px}.toolbar{gap:8px;padding:10px}.toolbar button{font-size:11px;padding:10px}.mode-switch{flex:1}.mode-switch button{flex:1}.volume-label{margin-left:0;flex:1;justify-content:flex-end}.stage-caption{font-size:8px;left:12px;bottom:12px}.stage-corner{right:12px;font-size:18px}.underbar{align-items:start;gap:8px;font-size:11px;padding:4px 0}.underbar p{max-width:62%}.legend{gap:12px;font-size:9px}.legend-end{display:none}.hardware-hit{min-width:32px;min-height:32px}body.expanded #screen-anchor{width:96vw!important;height:calc(100dvh - 175px)!important;top:58px!important;transform:translateX(-50%)!important}body.expanded .desktop-icons{left:4px;right:4px;top:8px;bottom:auto;flex-direction:row;justify-content:space-around;gap:0}body.expanded .desktop-icons button{width:23%;font-size:11px}body.expanded .desktop-icons span{font-size:22px}body.expanded .os-window{left:10px;top:92px;width:calc(100% - 20px);max-height:calc(100% - 131px)}body.expanded #app-content{padding:16px;min-height:160px;max-height:100%;font-size:14px}body.expanded #app-content h2{font-size:25px}body.expanded #app-content p{font-size:13px}body.expanded .toolbar{padding:8px;gap:6px;bottom:8px;left:2vw;right:2vw}body.expanded #exit-expanded{top:7px;right:2vw}body.expanded #restore-app{left:10px;bottom:36px}body.expanded #os-clock{display:none}.load-video{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.video-label button{color:#17131c}.embed .masthead,.embed .intro,.embed .legend{display:none}.embed main{padding:0;max-width:none}.embed .workbench{border:0}.embed #stage{height:calc(100dvh - 135px);min-height:350px;max-height:none}.embed .underbar{padding:0 14px}.embed .toolbar{border-bottom:1px solid var(--rule)}body.expanded .window-title{height:50px}body.expanded .window-title button{min-height:40px!important;height:40px;width:40px}
#standby{background:#020203}.power-off #screen-anchor,.power-off #screen-ui{background:#020203;box-shadow:none}.power-off .os-menu,.power-off #desktop{visibility:hidden}.power-off #video-os{display:none!important}

/* Product presentation: transparent stage, no enclosing card. */
.workbench{border:0}#stage{background:transparent}#loading{background:var(--paper)}
/* Hardware feedback comes from the model, not a rectangular touch overlay. */
.hardware-hit,.hardware-hit:hover,.hardware-hit:active,.hardware-hit:focus:not(:focus-visible){outline:none;box-shadow:none;background:transparent!important;-webkit-tap-highlight-color:transparent}
.hardware-hit:focus-visible{outline:2px solid var(--purple);outline-offset:2px;box-shadow:none}

.brightness-hit{appearance:none;-webkit-appearance:none;opacity:0;touch-action:none;cursor:ew-resize}.brightness-hit:focus-visible{opacity:1;border-radius:50%}.brightness-hit::-webkit-slider-thumb{appearance:none;width:0;height:0}.brightness-hit::-moz-range-thumb{width:0;height:0;border:0}

.brightness-hit{margin:0;min-width:64px;min-height:64px} @media(pointer:coarse){.brightness-hit{min-width:72px;min-height:64px}}

#hit-channel{min-width:64px;min-height:64px}@media(pointer:coarse){#hit-channel{min-width:72px;min-height:64px}}

#hit-channel.touch-selected{outline:none!important;box-shadow:none!important;opacity:0!important;-webkit-tap-highlight-color:transparent}

.power-status-led{position:absolute;z-index:5;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fffde0 0 25%,#fff35a 48%,#ffd000 100%);box-shadow:0 0 3px 1px #fff5a8,0 0 9px 3px #ffd000bd;animation:status-pulse 2.6s ease-in-out infinite;will-change:opacity}.power-status-led.running{background:#55ff88;box-shadow:0 0 5px 2px #22ff6688;animation:status-running-blink 2.4s steps(1,end) infinite}.power-status-led.paused{animation-play-state:paused}body.expanded .power-status-led{display:none}@keyframes status-pulse{0%,100%{opacity:.78}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.power-status-led{animation:none;opacity:1}}

#channel-label{position:absolute;top:42px;left:12px;z-index:8;font:11px monospace;color:#fff;background:#17131c;padding:5px 8px;pointer-events:none}#channel-slate{position:absolute;inset:38px 0 0;z-index:6;background:#20142f;color:#d9b8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font:18px monospace}#channel-slate span{font-size:34px}#channel-slate small{font-size:12px}.broadcast-mode:not(.video-mode) #desktop{visibility:hidden}

@keyframes status-running-blink{0%,54%{opacity:1}55%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.power-status-led.running{animation:none;opacity:1}}

/* Explicit motion preview also enables the hardware status light. */
body.preview-motion .power-status-led{animation:status-pulse 2.6s ease-in-out infinite!important}body.preview-motion .power-status-led.running{animation:status-running-blink 2.4s steps(1,end) infinite!important}body.preview-motion .power-status-led.paused{animation-play-state:paused!important}

/* Adjacent toggle hit areas remain separate on narrow phones. */
.hardware-hit.toggle-hit{min-width:0;min-height:48px}
/* Low-cost indicator blink: no continuous 3D rendering. */
.toggle-status-led{position:absolute;z-index:4;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:#241d2a;}
.toggle-status-led.lit{background:radial-gradient(circle,#fff 0 18%,var(--led-color) 48% 100%);box-shadow:0 0 5px var(--led-color),0 0 13px var(--led-color);}
@keyframes toggle-blink{0%,19%{opacity:1}20%,100%{opacity:0}}
.toggle-label{position:absolute;transform:translate(-50%,-50%);font-family:monospace;font-weight:800;letter-spacing:0;pointer-events:none;color:#29212e;z-index:4;}
body.expanded .toggle-status-led,body.expanded .toggle-label{display:none}
#broadcast-effects{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden;}
.broadcast-test{position:absolute;inset:0;background:#101014;pointer-events:auto;display:flex;flex-direction:column;align-items:center;color:#fff;font:14px monospace;}
.test-bars{width:100%;height:68%;background:linear-gradient(90deg,#dedede 0 14.28%,#d8d332 14.28% 28.56%,#31c9cb 28.56% 42.84%,#39be53 42.84% 57.12%,#c047bb 57.12% 71.4%,#c5413a 71.4% 85.68%,#364eb9 85.68%);}
.test-steps{width:100%;height:14%;margin-bottom:16px;background:linear-gradient(90deg,#121218 0 20%,#555 20% 40%,#999 40% 60%,#ddd 60% 80%,#fff 80%);}
.broadcast-test strong{letter-spacing:4px;margin-bottom:4px}.broadcast-test small{font-size:10px}
.broadcast-data{position:absolute;left:16px;right:16px;top:48px;display:flex;justify-content:space-between;color:#baffd4;text-shadow:0 1px 2px black;font:bold 12px monospace;background:#091d15cc;padding:7px;}
.broadcast-hold{position:absolute;inset:0;pointer-events:auto;}.broadcast-hold span{position:absolute;bottom:40px;right:16px;background:#111d;color:#bdeaff;font:bold 13px monospace;padding:6px 10px;border:1px solid #bdeaff;}
.broadcast-interference{position:absolute;inset:-4%;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#e6d4a866 6px 7px,#20172566 8px 10px);animation:signal-burst 6s linear infinite;}
@keyframes signal-burst{0%,79%,88%,100%{opacity:0;transform:translateX(0)}80%,83%,87%{opacity:.48;transform:translateX(7px)}81%,85%{opacity:.2;transform:translateX(-7px)}}
.signal-held .broadcast-interference{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.toggle-status-led.lit{animation:none}.broadcast-interference{animation:none;opacity:.12}body.preview-motion .toggle-status-led.lit{}body.preview-motion .broadcast-interference{animation:signal-burst 6s linear infinite}}

/* Five desktop shortcuts, including the software reboot control. */
body:not(.expanded) .desktop-icons{gap:4px}body:not(.expanded) .desktop-icons button{padding:4px 6px;min-height:58px}body:not(.expanded) .desktop-icons span{font-size:25px}
@media(max-width:700px){body.expanded .desktop-icons button{width:19%;padding:6px 2px}}

/* One shared running phase gives enabled LEDs a left-to-right chase. */
.toggle-status-led{animation:toggle-blink 1.2s steps(1,end) infinite;animation-delay:var(--wave-delay)}
@media(prefers-reduced-motion:reduce){.toggle-status-led{animation:none;opacity:1}body.preview-motion .toggle-status-led{animation:toggle-blink 1.2s steps(1,end) infinite;animation-delay:var(--wave-delay)}}

/* Explicit preview motion overrides the global reduced-motion reset. */
body.preview-motion .toggle-status-led{animation:toggle-blink 1.2s steps(1,end) infinite!important;animation-delay:var(--wave-delay)!important}
body.power-off .toggle-status-led{visibility:hidden}
.link-status-led{position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:4;background:#172019}.link-status-led.connected{background:radial-gradient(circle,#effff3 15%,#7bffaa 50%,#21bc70);box-shadow:0 0 5px #68ffac,0 0 12px #28df88}body.power-off .link-status-led,body.expanded .link-status-led{display:none}
.broadcast-test .cal-pattern{position:relative;width:100%;height:56%;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 29px,#c8e9df66 30px 31px),repeating-linear-gradient(90deg,#101c20 0 39px,#c8e9df66 40px 41px)}
.cal-sweep{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#e6ffda99 50%,transparent 60%);animation:cal-scan 1.8s linear infinite;transform:translateY(-100%)}@keyframes cal-scan{to{transform:translateY(100%)}}
.cal-panel{width:100%;padding:18px 24px;background:#111b20;flex:1}.cal-panel>small{display:block;font-size:10px;letter-spacing:1px;color:#a5b9b4}.cal-panel strong{display:block;font-size:22px;letter-spacing:1px;margin:8px 0 14px}.cal-progress{height:9px;border:1px solid #a5b9b4;padding:2px}.cal-progress span{display:block;height:100%;background:#95f6ca;width:0}.cal-readout{font-size:12px;color:#b4f4cf;margin:10px 0}.cal-result{font-size:9px!important}
.broadcast-test[data-step="1"] .cal-pattern{background:linear-gradient(90deg,#ddd 0 14.28%,#d8d332 14.28% 28.56%,#31c9cb 28.56% 42.84%,#39be53 42.84% 57.12%,#c047bb 57.12% 71.4%,#c5413a 71.4% 85.68%,#364eb9 85.68%)}
.broadcast-test[data-step="2"] .cal-pattern{background:linear-gradient(90deg,#000 0 12.5%,#222 12.5% 25%,#444 25% 37.5%,#666 37.5% 50%,#888 50% 62.5%,#aaa 62.5% 75%,#ccc 75% 87.5%,#fff 87.5%)}
.broadcast-test[data-step="3"] .cal-pattern{background:repeating-linear-gradient(90deg,#142e27 0 24px,#5eb394 25px 26px)}
.broadcast-test[data-step="done"] .cal-pattern{background:radial-gradient(circle,#91efc1 0 9%,#14372c 9.5% 24%,#73cda8 24.5% 25%,#0d1d1c 25.5%)}
.broadcast-test[data-step="done"] .cal-sweep{display:none}.broadcast-test:not([hidden])~.broadcast-data{display:none}
body.preview-motion .cal-sweep{animation:cal-scan 1.8s linear infinite!important}
/* Clear horizontal LINK lens; only the established connection glows. */
.link-status-led{border-radius:2px;background:linear-gradient(150deg,#ffffff55,#ffffff00);box-shadow:inset 0 1px 1px #ffffff88}
.link-status-led.connected{background:linear-gradient(#cbffe0,#55ee98 45%,#31bf72);box-shadow:0 0 6px #55ee9888,inset 0 1px 1px #fff9}
.radio-session{position:absolute;inset:0;z-index:5;pointer-events:auto;background:#111d24;color:#d9f9ec;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;font:14px monospace;}
.radio-kicker{font-size:10px;letter-spacing:2px;color:#95b3b2}.radio-title{font-size:22px;letter-spacing:1px;margin:12px 0 0}.radio-detail{font-size:12px;color:#b7d5d3;margin:8px 0 20px}.radio-session .cal-progress{width:85%}.radio-percent{margin-top:10px;color:#92efc5}
.radio-waves{position:relative;width:170px;height:130px;margin:10px 0 0;overflow:hidden}.radio-waves i{position:absolute;left:50%;bottom:12px;border:3px solid transparent;border-top-color:#a3f5d0;border-radius:50%;transform:translateX(-50%);animation:radio-beam 1.5s ease-out infinite}.radio-waves i:nth-child(1){width:60px;height:60px;animation-delay:0s}.radio-waves i:nth-child(2){width:110px;height:110px;bottom:-12px;animation-delay:.25s}.radio-waves i:nth-child(3){width:160px;height:160px;bottom:-36px;animation-delay:.5s}.radio-waves b{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);color:#e6fff1;font-size:22px}
@keyframes radio-beam{0%,100%{opacity:.15}35%,60%{opacity:1}}
.radio-session.complete .radio-waves i{animation:none!important;opacity:1}.radio-session.complete .radio-title{color:#90ffbd}
body.preview-motion .radio-waves i{animation-name:radio-beam!important;animation-duration:1.5s!important;animation-iteration-count:infinite!important;animation-timing-function:ease-out!important}body.preview-motion .radio-waves i:nth-child(2){animation-delay:.25s!important}body.preview-motion .radio-waves i:nth-child(3){animation-delay:.5s!important}body.preview-motion .radio-session.complete .radio-waves i{animation:none!important}
.broadcast-data .data-console{position:absolute;right:0;top:40px;width:274px;padding:12px;background:#101d24ee;border:1px solid #719d8c;color:#b9f6d7;text-shadow:none;box-shadow:2px 3px 0 #0005}.data-console header,.data-console footer{display:flex;justify-content:space-between;font:10px monospace;gap:8px}.data-console header b{color:#f2ffe9}.data-meter{display:flex;align-items:end;gap:4px;height:40px;margin:12px 0;border-bottom:1px solid #608574}.data-meter i{flex:1;height:40%;background:#91d9b2;opacity:.8}.data-stream{font:12px/1.6 monospace;margin:10px 0;white-space:pre;color:#a3daca}.data-console footer{color:#81a99a;font-size:9px}
/* SIGNAL sends packets up a transmission lane; startup retains its radio waves. */
.signal-transmit{display:none;width:270px;height:150px;margin:12px 0 0;color:#e9c98d;font:11px monospace;position:relative;flex-shrink:0}
.radio-session[data-mode="signal"] .radio-waves{display:none}.radio-session[data-mode="signal"] .signal-transmit{display:block}
.radio-session[data-mode="signal"]{color:#ffe4b0;background:#211d20}.radio-session[data-mode="signal"] .cal-progress span{background:#e9c98d}
.signal-receiver,.signal-sender{position:absolute;left:50%;transform:translateX(-50%);padding:6px 12px;border:1px solid #bba477;background:#2b2729;z-index:1;white-space:nowrap}.signal-receiver{top:0}.signal-sender{bottom:0}.signal-lanes{position:absolute;top:26px;bottom:26px;left:40px;right:40px;border-left:1px dashed #786952;border-right:1px dashed #786952;overflow:hidden}.signal-lanes i{position:absolute;bottom:0;left:12px;font-style:normal;font-size:10px;letter-spacing:1px;animation:packet-send 1.25s linear infinite}.signal-lanes i:nth-child(2){left:auto;right:12px;animation-delay:-.4s}.signal-lanes i:nth-child(3){left:70px;animation-delay:-.8s}.signal-lanes b{position:absolute;left:50%;top:35%;transform:translateX(-50%);font-size:24px;opacity:.25}
@keyframes packet-send{0%{transform:translateY(12px);opacity:0}12%,85%{opacity:1}100%{transform:translateY(-100px);opacity:0}}
body.preview-motion .signal-lanes i{animation:packet-send 1.25s linear infinite!important}body.preview-motion .signal-lanes i:nth-child(2){animation-delay:-.4s!important}body.preview-motion .signal-lanes i:nth-child(3){animation-delay:-.8s!important}.radio-session.complete .signal-lanes i,body.preview-motion .radio-session.complete .signal-lanes i{animation:none!important;opacity:0}.radio-session.complete .signal-receiver{color:#b7ffd0;border-color:#7ae2a8}
@media(prefers-reduced-motion:reduce){body:not(.preview-motion) .signal-lanes i{bottom:40%;opacity:1}}
.scan-display{display:none;width:300px;height:140px;margin-top:20px;flex-shrink:0;color:#c4d9ff;text-align:center}.radio-session[data-mode="scan"] .radio-waves,.radio-session[data-mode="scan"] .signal-transmit{display:none}.radio-session[data-mode="scan"] .scan-display{display:block}.scan-frequency{font:32px monospace;letter-spacing:2px}.scan-scale{height:48px;position:relative;border-top:1px solid #829ec7;margin:20px 0 10px;background:repeating-linear-gradient(90deg,transparent 0 14px,#829ec755 15px 16px);display:flex;justify-content:space-between;padding-top:25px;font:10px monospace}.scan-scale i{position:absolute;left:0;top:-7px;bottom:0;width:2px;background:#e5f0ff;box-shadow:0 0 8px #9ac3ff}.scan-display small{font-size:9px;letter-spacing:2px}
.world-tabs{display:flex;gap:5px;margin-bottom:12px}.world-tabs button{flex:1;padding:5px!important;font-size:11px}.station-list{display:grid;gap:8px;margin-top:10px}.station-list>button{text-align:left;display:flex;flex-direction:column;gap:3px;width:100%;font-size:13px}.station-list span{font-size:10px}.station-list small,.station-locked small{font-size:9px;letter-spacing:.5px}.station-locked{border:1px dashed #afa0b5;padding:10px;font-size:11px;color:#706375}.station-locked small{display:block;margin-top:4px}.station-messages article{padding:10px 0;border-bottom:1px solid #bbaec1}.station-messages small{font-size:10px}.station-log{list-style:none;margin:0;padding:0}.station-log li{display:flex;gap:10px;border-bottom:1px solid #c6bbc9;padding:9px 0;font-size:11px;line-height:1.5}.station-log time{color:#786185;flex-shrink:0}.world-note{font-size:10px!important}
.phosphor-theme #screen-ui{background:#1a2d27;color:#b5e3c6}.phosphor-theme #desktop{background-color:#1a2d27}.phosphor-theme .os-menu,.phosphor-theme .desktop-footer{background:#263f34;color:#caf8d4;border-color:#769583}.phosphor-theme .os-window{background:#20352c;color:#d5eddb;border-color:#94b6a0}.phosphor-theme .window-title{background:#385443;color:#dcf2df}.phosphor-theme #screen-ui button{background:#2e493a;color:#d5f4de;border-color:#8aaa96}.phosphor-theme #screen-ui button[aria-pressed=true]{background:#bdddc9;color:#17271e}.phosphor-theme #app-content .kicker,.phosphor-theme .station-locked,.phosphor-theme .station-log time{color:#9dbca8}.phosphor-theme #screen-ui textarea{color:#d5eddb}
@media(max-width:700px){body.expanded .world-tabs button{min-height:44px}body.expanded .station-list>button{min-height:60px}}
/* Expanding sonar returns, matching the 1.2-second ping cadence. */
.radio-session[data-mode="scan"] .scan-display{height:224px;margin-top:12px;width:300px}
.scan-radar{position:relative;width:160px;height:160px;margin:0 auto 8px;border:1px solid #719cb766;border-radius:50%;overflow:hidden;background:linear-gradient(90deg,transparent 49.7%,#8bb7c033 50%,transparent 50.6%),linear-gradient(0deg,transparent 49.7%,#8bb7c033 50%,transparent 50.6%),repeating-radial-gradient(circle,#172b34 0 25px,#709da533 26px,#172b34 27px 52px)}
.sonar-ring{position:absolute;inset:2px;border:2px solid #9bffe3;border-radius:50%;background:radial-gradient(circle,transparent 62%,#8cffe321 70%,transparent 72%);opacity:0;transform:scale(.04);animation:sonar-radiate 2.4s linear infinite}
.sonar-ring:nth-child(2){animation-delay:1.2s}
.sonar-origin{position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;background:#e0fff4;border-radius:50%;box-shadow:0 0 9px #77ffd8}
.sonar-contact{position:absolute;width:5px;height:5px;background:#b7ffe6;border-radius:50%;opacity:.12;animation:sonar-return 1.2s ease-out infinite}
.contact-a{left:63%;top:31%;animation-delay:.5s}.contact-b{left:22%;top:60%;animation-delay:.7s}.contact-c{left:73%;top:73%;animation-delay:.85s}
.radio-session[data-mode="scan"] .scan-frequency{font-size:20px}.radio-session[data-mode="scan"] .scan-scale{height:14px;padding-top:5px;margin:5px 0;font-size:8px}.radio-session[data-mode="scan"] .radio-title{font-size:20px}
@keyframes sonar-radiate{0%{transform:scale(.04);opacity:.95}65%{opacity:.65}100%{transform:scale(1.04);opacity:0}}
@keyframes sonar-return{0%,8%{opacity:1;box-shadow:0 0 7px #8affd8}80%,100%{opacity:.12;box-shadow:none}}
body.preview-motion .sonar-ring{animation:sonar-radiate 2.4s linear infinite!important}body.preview-motion .sonar-ring:nth-child(2){animation-delay:1.2s!important}body.preview-motion .sonar-contact{animation:sonar-return 1.2s ease-out infinite!important}body.preview-motion .contact-a{animation-delay:.5s!important}body.preview-motion .contact-b{animation-delay:.7s!important}body.preview-motion .contact-c{animation-delay:.85s!important}
.radio-session.complete .sonar-ring,body.preview-motion .radio-session.complete .sonar-ring{animation:none!important;transform:scale(1);opacity:.25}.radio-session.complete .sonar-contact,body.preview-motion .radio-session.complete .sonar-contact{animation:none!important;opacity:1}
@media(prefers-reduced-motion:reduce){body:not(.preview-motion) .sonar-ring{animation:none!important;transform:scale(.65);opacity:.4}body:not(.preview-motion) .sonar-ring:nth-child(2){transform:scale(1);opacity:.25}body:not(.preview-motion) .sonar-contact{animation:none!important;opacity:.8}}

#hit-fidget-switch{touch-action:none;cursor:ew-resize}
/* STAR OS pixel desktop, local SVG artwork and restrained stepped animation. */
#screen-ui{--os-paper:#f4f0e8;--os-accent:#8144c5;--os-lavender:#d3bdee;font-family:monospace}
.phosphor-theme #screen-ui{--os-paper:#c7e9d0;--os-accent:#71c895;--os-lavender:#304f41}
#desktop:after{content:'✦';position:absolute;right:18px;bottom:38px;font-size:30px;color:var(--os-accent);opacity:.35;pointer-events:none}
.desktop-icons{left:8px;top:12px;gap:3px}.desktop-icons button{width:78px!important}.desktop-icons span{margin-bottom:2px}.pixel-icon{display:block;width:32px;height:32px;margin:auto;image-rendering:pixelated}.desktop-icons .pixel-icon{width:34px;height:34px;filter:drop-shadow(2px 2px 0 #59337833)}
#screen-ui .desktop-icons button{background:transparent;color:inherit;line-height:1.2}.desktop-icons button:hover{background:var(--os-paper)!important;color:#21162c!important}
.os-window{left:94px;top:23px;width:446px;border:2px solid #302339;box-shadow:3px 3px 0 #4d2e6855}.window-title{background:var(--os-paper);border-bottom:1px solid currentColor;font-weight:bold;letter-spacing:.6px}#app-title:before{content:'✦ ';color:var(--os-accent)}
#app-content{padding:12px}.world-tabs{gap:4px;margin-bottom:10px}.world-tabs button{font-size:9px!important;padding:3px 7px!important;min-height:24px}
.station-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;align-items:center}.station-art{display:block;width:100%;height:auto;image-rendering:pixelated;color:#271733}.station-summary h2{font:700 18px/1.3 monospace!important;letter-spacing:0!important;margin:0 0 10px!important}.station-summary h2 span{font-weight:400}.station-reception{border-top:1px solid currentColor;padding-top:8px;font-size:10px;color:var(--os-accent)}.station-summary p{font-size:10px!important;margin:6px 0!important}.station-summary button{font-size:10px;padding:5px!important;background:var(--os-lavender);width:100%}.directory-caption{font-size:8px;letter-spacing:.5px;margin:12px 0 6px}.station-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:0}.station-list>button{padding:5px!important;font-size:9px;gap:1px}.station-list span,.station-locked small{font-size:8px}.station-locked{padding:5px;font-size:10px;display:flex;gap:6px;align-items:center}.station-locked small{display:inline}.desktop-footer{background:var(--os-paper);border-top:1px solid #574467}
#incoming-note{position:absolute;right:12px;bottom:37px;width:250px;background:var(--os-paper);border:2px solid #302339;box-shadow:3px 3px 0 #4d2e6855;z-index:4;color:#21172b}#incoming-note .window-title{height:27px;font-size:10px;padding:3px 6px}.incoming-body{display:flex;align-items:center;gap:14px;padding:12px}.incoming-body .pixel-icon{flex:0 0 42px;width:42px;height:42px}.incoming-body p{font-size:10px;margin:0 0 8px}.incoming-body button{font-size:10px;padding:4px 10px!important;background:var(--os-lavender)}
.art-radio{animation:pixel-radio 2.4s steps(3,end) infinite}.pixel-wave{animation:pixel-radio 2.4s steps(3,end) infinite}.pixel-notice{opacity:0}.unread .pixel-notice,#incoming-note .pixel-notice{animation:pixel-unread 1.8s steps(1,end) infinite}
@keyframes pixel-radio{0%,100%{opacity:.25}50%{opacity:1}}@keyframes pixel-unread{0%,65%{opacity:1}66%,100%{opacity:.2}}
.power-off .art-radio,.power-off .pixel-wave,.power-off .pixel-notice,.booting .art-radio,.booting .pixel-wave{animation-play-state:paused}
body.expanded .os-window{left:112px;width:calc(100% - 145px)}body.expanded .station-summary h2{font-size:clamp(20px,2.3vw,30px)!important}body.expanded .station-summary p{font-size:13px!important}body.expanded .directory-caption{font-size:10px}body.expanded .station-art{max-height:280px}body.expanded #incoming-note{width:310px;right:25px;bottom:45px}body.expanded .incoming-body p{font-size:13px}
.phosphor-theme .station-art{color:#b7e1c4}.phosphor-theme #incoming-note{background:#20352c;color:#d5eddb;border-color:#94b6a0}.phosphor-theme .window-title{background:#385443}
@media(max-width:700px){body.expanded .desktop-icons button{width:19%!important}body.expanded .desktop-icons .pixel-icon{width:30px;height:30px}body.expanded .os-window{left:10px;width:calc(100% - 20px);top:94px}body.expanded .station-feature{grid-template-columns:1fr;gap:12px}body.expanded .station-art{max-height:160px}body.expanded .station-summary h2{font-size:20px!important}body.expanded .station-list>button{min-height:44px}body.expanded #incoming-note{width:calc(100% - 30px);right:15px;bottom:38px}body.expanded .has-incoming .os-window{max-height:calc(100% - 260px)}body.expanded #app-content{min-height:0}body.expanded .os-menu{gap:9px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.art-radio,.pixel-wave,.pixel-notice{animation:none!important}.unread .pixel-notice,#incoming-note .pixel-notice{opacity:1}}
body.expanded .desktop-icons .pixel-icon{width:44px;height:44px}body.expanded .desktop-icons{gap:12px}body.expanded .desktop-icons button{font-size:12px}body.expanded .world-tabs button{font-size:12px!important}body.expanded .station-summary button{font-size:13px}body.expanded .station-list>button{font-size:12px}body.expanded .station-list span,body.expanded .station-locked small{font-size:10px}body.expanded .station-reception{font-size:12px}body.expanded #incoming-note .window-title{height:40px;font-size:12px}body.expanded .incoming-body button{font-size:12px}
@media(max-width:700px){body.expanded .desktop-icons{gap:0}body.expanded .desktop-icons .pixel-icon{width:30px;height:30px}body.expanded .desktop-icons button{font-size:11px}body.expanded .world-tabs button{font-size:11px!important}}
/* Unified pixel hardware operations. Only transforms/opacity animate. */
.radio-session{background:#251e30;color:#f2ecdf;padding:24px;gap:0}.radio-kicker{align-self:stretch;background:#eee8dd;color:#2e2336;padding:8px 10px;border:2px solid #ad94bd;font-size:11px;font-weight:bold;letter-spacing:1px;margin-bottom:20px}.radio-title{font-size:24px;text-align:center;line-height:1.2}.radio-detail{text-align:center;color:#cbbbda}.radio-percent{color:#a7edc0}.radio-session[data-mode="network"] .radio-waves{display:none}.network-diagram{display:none;width:100%;max-width:650px;align-items:center;margin:8px 0 16px}.radio-session[data-mode="network"] .network-diagram{display:flex}.net-node{flex:0 0 24%;text-align:center}.net-hardware{width:80px;height:80px;display:block;margin:auto;image-rendering:pixelated}.net-node small{display:block;font-size:9px;white-space:nowrap;letter-spacing:.5px;margin-top:5px}.net-wire{position:relative;flex:1;height:3px;border-top:2px dotted #a98bc3;margin-bottom:18px}.net-wire i{position:absolute;top:-4px;width:6px;height:6px;background:#a9efbe;animation:net-packet 1.2s steps(8,end) infinite}.net-wire i:nth-child(2){animation-delay:-.4s}.net-wire i:nth-child(3){animation-delay:-.8s}.net-arcs,.modem-lights{animation:net-handshake 1.2s steps(2,end) infinite}.network-phases{display:none;width:85%;justify-content:space-between;font-size:10px;margin:8px 0 18px;gap:10px;color:#9b88ab}.radio-session[data-mode="network"] .network-phases{display:flex}.network-phases span:before{content:'□';display:block;font-size:20px;line-height:1.1}.network-phases .passed{color:#a9efbe}.network-phases .passed:before{content:'✓'}.network-phases .current{color:#e5cdfa}.network-phases .current:before{content:'▣'}.radio-session[data-phase="0"] .network-diagram>.net-node:last-child{opacity:.3}.radio-session .cal-progress,.cal-panel .cal-progress{height:14px;padding:2px;border:1px solid #c3aace;background:#4b3b5a}.radio-session .cal-progress span,.cal-panel .cal-progress span{height:100%;background:repeating-linear-gradient(90deg,#a9eabe 0 20px,transparent 20px 24px)}
.signal-transmit{width:100%;max-width:520px;height:auto;margin:10px 0 24px;color:#eee4d4}.signal-pixel-path{display:flex;align-items:center;justify-content:center}.signal-pixel-path .net-node{flex-basis:30%}.signal-envelope{font-size:11px;letter-spacing:5px;text-align:center;color:#e3c595;margin-top:14px;animation:net-handshake 1.2s steps(2,end) infinite}.radio-session[data-mode="signal"]{background:#2a2230}.radio-session.complete .net-wire i{animation:none!important;opacity:0}.radio-session.complete .net-arcs,.radio-session.complete .modem-lights,.radio-session.complete .signal-envelope{animation:none!important;opacity:1}.radio-session.complete .network-phases span{color:#a9efbe}.radio-session.complete .network-phases span:before{content:'✓'}
.test-hardware{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0}.test-hardware .net-hardware{margin:0;width:70px;height:70px}.test-blocks{display:flex;gap:5px}.test-blocks i{width:10px;height:18px;background:#d6a8e2;animation:net-handshake .9s steps(2,end) infinite}.test-blocks i:nth-child(2){background:#a3d6b0;animation-delay:.3s}.test-blocks i:nth-child(3){background:#9facdf;animation-delay:.6s}.cal-panel{background:#251e3af2!important;border:2px solid #ad94bd!important;color:#f1e9df!important}.cal-panel>small:first-child{color:#d2bedc}.broadcast-test[data-step="done"] .test-blocks i{animation:none!important}.cal-title{font-family:monospace!important;letter-spacing:1px}
.data-console{border:2px solid #ad94bd!important;background:#251e30f5!important;color:#e6d9ed!important}.data-console header{background:#eee8dd;color:#281e32;padding:6px;margin:-12px -12px 8px}.data-route{display:flex;align-items:center;gap:5px}.data-route .net-hardware{width:48px;height:48px;margin:0}.data-route .net-wire{margin:0}.data-meter i{background:#bda3d6}.data-stream{color:#bce6c9}.data-console footer{color:#baa7ca}.boot-device .net-hardware{width:90px;height:90px}#boot{background:#251e30;color:#eee6db}#boot strong{font-family:monospace;letter-spacing:2px}#boot .boot-progress{border-color:#b59cc9}#boot .boot-progress span{background:repeating-linear-gradient(90deg,#b6eac8 0 20px,transparent 20px 24px)}#channel-slate{border:10px double #8d72a5;background:#251e30;color:#e8ddee}#channel-slate>span{font-family:monospace;border:1px solid #ad94bd;padding:12px 24px}
@keyframes net-packet{0%{left:0;opacity:0}10%,85%{opacity:1}100%{left:100%;opacity:0}}@keyframes net-handshake{0%,100%{opacity:.3}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.net-wire i,.net-arcs,.modem-lights,.signal-envelope,.test-blocks i{animation:none!important}.net-wire i:nth-child(1){left:20%}.net-wire i:nth-child(2){left:50%}.net-wire i:nth-child(3){left:80%}}
@media(max-width:700px){body.expanded .radio-session{padding:18px}body.expanded .net-hardware{width:64px;height:64px}body.expanded .net-node small{font-size:8px;letter-spacing:0}body.expanded .radio-title{font-size:22px}body.expanded .radio-kicker{font-size:9px}body.expanded .cal-panel{max-width:92%}}
.icon-tower{stroke:#cab6dc}.modem-lights{stroke:none}.broadcast-test .cal-pattern{min-height:80px;flex:1;height:auto}.cal-panel{flex:0 0 auto}.test-hardware{margin:6px 0}.test-hardware .net-hardware{width:46px;height:46px}
body.expanded .network-diagram .net-hardware,body.expanded .signal-pixel-path .net-hardware{width:120px;height:120px}body.expanded .net-node small{font-size:12px}body.expanded .radio-title{font-size:32px}body.expanded .network-phases{max-width:650px;font-size:12px}body.expanded .radio-kicker{font-size:13px}body.expanded .radio-session .cal-progress{max-width:650px;height:18px}body.expanded .test-hardware .net-hardware{width:65px;height:65px}
@media(max-width:700px){body.expanded .network-diagram .net-hardware,body.expanded .signal-pixel-path .net-hardware{width:68px;height:68px}body.expanded .net-node small{font-size:8px}body.expanded .radio-title{font-size:23px}body.expanded .radio-kicker{font-size:10px}body.expanded .cal-panel{max-width:100%}}
.cal-scramble{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;pointer-events:none}.cal-scramble i{flex:1;width:140%;margin-left:-20%;background:repeating-linear-gradient(90deg,#8a8b9988 0 9px,#383844aa 9px 19px,#b5a6bb88 19px 23px,#55546688 23px 48px);border-bottom:2px solid #292d32;will-change:transform}.cal-target{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;--alignment:34px}.cal-target-ring{width:110px;height:110px;border:2px dashed #d8cbe1aa;border-radius:50%;background:#241e3033}.cal-cross{position:absolute;left:50%;top:50%;width:54px;height:54px;background:linear-gradient(90deg,transparent 48%,currentColor 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,currentColor 48% 52%,transparent 52%);color:#d5a5d6;transform:translate(calc(-50% + var(--alignment)),calc(-50% - var(--alignment)))}.cal-cross-b{color:#a0e6c4;transform:translate(calc(-50% - var(--alignment)),calc(-50% + var(--alignment)))}.cal-lock-label{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:#251e30;padding:4px 9px;color:#d5c9df;font:10px monospace;letter-spacing:1px;white-space:nowrap}.broadcast-test[data-calibrated="true"] .cal-target-ring{border:2px solid #a0e6c4}.broadcast-test[data-calibrated="true"] .cal-cross{color:#c7ffe0}.broadcast-test[data-calibrated="true"] .cal-lock-label{color:#c7ffe0}.broadcast-test[data-calibrated="true"] .cal-sweep{display:none}.broadcast-test[data-step="done"] .cal-pattern{background:repeating-linear-gradient(0deg,transparent 0 29px,#c8e9df33 30px 31px),repeating-linear-gradient(90deg,#17262a 0 39px,#c8e9df33 40px 41px)}
/* Compact readout reserves the display for the calibration patterns. */
.broadcast-test .cal-panel{padding:8px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;border-width:1px!important;align-items:center}
.broadcast-test .cal-panel>small:first-child,.broadcast-test .test-hardware{display:none}
.broadcast-test .cal-panel .cal-title{font-size:12px;letter-spacing:.4px!important;margin:0;line-height:1.4}
.broadcast-test .cal-readout{font-size:9px;margin:0;white-space:nowrap}
.broadcast-test .cal-panel .cal-progress{grid-row:2;grid-column:1/-1;height:7px;padding:1px}
.broadcast-test .cal-result{grid-column:1/-1;font-size:8px!important;letter-spacing:.6px;margin:0;line-height:1.4}
.cal-rgb{position:absolute;inset:0;overflow:hidden;pointer-events:none;--split:20px;mix-blend-mode:screen}
.cal-rgb i{position:absolute;inset:-25px;color:#ef7298;background:repeating-linear-gradient(0deg,transparent 0 58px,currentColor 59px 60px,transparent 61px 90px),repeating-linear-gradient(90deg,transparent 0 78px,currentColor 79px 80px,transparent 81px 120px);transform:translate(var(--split),calc(-1 * var(--split)));will-change:transform}
.cal-rgb i:nth-child(2){color:#75dc9d;transform:translate(calc(-1 * var(--split)),var(--split))}.cal-rgb i:nth-child(3){color:#88a7ff;transform:translate(0,var(--split))}
.cal-rgb i:after{content:'';position:absolute;left:50%;top:50%;width:180px;height:180px;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%)}
body.expanded .broadcast-test .cal-title{font-size:14px}body.expanded .broadcast-test .cal-readout{font-size:11px}body.expanded .broadcast-test .cal-result{font-size:9px!important}
@media(max-width:700px){body.expanded .broadcast-test .cal-panel{grid-template-columns:1fr;padding:8px 10px;gap:3px}body.expanded .broadcast-test .cal-title{font-size:12px}body.expanded .broadcast-test .cal-readout{font-size:10px;grid-row:2}body.expanded .broadcast-test .cal-progress{grid-row:3}body.expanded .broadcast-test .cal-result{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){body:not(.preview-motion) .cal-rgb{display:none}}
#pixel-saver{position:absolute;inset:0;z-index:9;border:0!important;width:100%;height:100%;background:#21182d!important;color:#d8bfea!important;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;overflow:hidden}#pixel-saver strong{font:26px monospace;z-index:1}#pixel-saver small{font:11px monospace;letter-spacing:3px;z-index:1}#pixel-saver>span:last-child{position:absolute;bottom:20px;font:10px monospace}.saver-sky{position:absolute;inset:-15%;pointer-events:none}.saver-sky i{position:absolute;width:3px;height:3px;background:#d8bfef;animation:star-drift 24s linear infinite;opacity:.65}@keyframes star-drift{from{transform:translateY(-25px)}to{transform:translateY(95px)}}.tuning-station #app-window{animation:tuning-pixels .36s steps(3,end)}@keyframes tuning-pixels{0%{transform:translateX(5px);filter:contrast(.6)}35%{transform:translateX(-4px)}70%{transform:translateX(2px)}100%{transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.saver-sky i,.tuning-station #app-window{animation:none!important}}
@media(max-width:700px){body.expanded .station-messages p,body.expanded .station-log{font-size:13px;line-height:1.6}body.expanded .world-tabs button{min-height:44px}body.expanded .station-summary button{min-height:44px}}
.scene-rain{animation:scene-rain .7s steps(4,end) infinite}.scene-window{animation:scene-window 6s steps(1,end) infinite}.scene-water{animation:scene-water 3s steps(6,end) infinite}@keyframes scene-rain{to{transform:translate(-3px,10px)}}@keyframes scene-window{0%,8%,12%,100%{opacity:1}9%,11%{opacity:.2}}@keyframes scene-water{0%,100%{transform:translateX(-4px);opacity:.4}50%{transform:translateX(4px);opacity:.8}}.constellation{text-align:center;font-size:24px;letter-spacing:3px;color:var(--os-accent);margin-top:15px}.constellation small{display:block;font-size:9px;letter-spacing:1px}@media(prefers-reduced-motion:reduce){.scene-rain,.scene-window,.scene-water{animation:none!important}}
.antenna-tip-led,.mode-hardware-led{position:absolute;z-index:5;width:7px;height:7px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:#edbdff;box-shadow:0 0 5px 2px #b962ff,0 0 12px 3px #b962ff88}.antenna-tip-led.scanning{background:#fcf3ff;animation:hardware-beacon .4s steps(1,end) infinite}.mode-hardware-led{width:6px;height:6px;background:var(--lamp);box-shadow:0 0 5px 1px var(--lamp)}.mode-hardware-led.active{animation:hardware-beacon .6s steps(1,end) infinite}@keyframes hardware-beacon{0%,44%{opacity:1}45%,100%{opacity:0}}body.expanded .antenna-tip-led,body.expanded .mode-hardware-led{display:none}@media(prefers-reduced-motion:reduce){.antenna-tip-led.scanning,.mode-hardware-led.active{animation:none!important}}body.preview-motion .antenna-tip-led.scanning{animation:hardware-beacon .4s steps(1,end) infinite!important}body.preview-motion .mode-hardware-led.active{animation:hardware-beacon .6s steps(1,end) infinite!important}

/* Mint phosphor: dark glass, luminous strokes, crisp pixel details. */
.phosphor-theme #screen-ui{--os-paper:#bcffdc;--os-accent:#72ffb4;--os-lavender:#0c241b;background:#05140e;color:#bcffdc}
.phosphor-theme #desktop{background:#05140e}
.phosphor-theme .os-menu,.phosphor-theme .desktop-footer{background:#092218;color:#bcffdc;border-color:#66cf96}
.phosphor-theme .os-window,.phosphor-theme #incoming-note{background:#071b12;color:#bcffdc;border-color:#7fffb9;box-shadow:2px 2px 0 #123e2b,0 0 7px #51ff9940}
.phosphor-theme .window-title{background:#a8ffd0;color:#082317;text-shadow:none;border-color:#77ffb7}
.phosphor-theme #app-title:before{color:#124f32}
.phosphor-theme #screen-ui button{background:#0b2e1e;color:#bcffdc;border-color:#67cd96}
.phosphor-theme #screen-ui button[aria-pressed=true],.phosphor-theme #screen-ui button:hover{background:#b0ffd2;color:#061b10;text-shadow:none}
.phosphor-theme #screen-ui .desktop-icons button{background:transparent;color:#bcffdc}
.phosphor-theme .station-art{color:#64d996}
.phosphor-theme #app-content .kicker,.phosphor-theme .station-locked,.phosphor-theme .station-log time{color:#8cebb4}
.phosphor-theme #screen-ui textarea{background:#082015;color:#bcffdc;border-color:#67cd96}
.phosphor-theme .radio-session,.phosphor-theme .radio-session[data-mode="signal"],.phosphor-theme #boot,.phosphor-theme #channel-slate{background:#05140e;color:#ceffe4}
.phosphor-theme .radio-kicker,.phosphor-theme .data-console header{background:#a8ffd0;color:#082317;border-color:#7fffb9;text-shadow:none}
.phosphor-theme .radio-detail,.phosphor-theme .radio-percent,.phosphor-theme .signal-envelope,.phosphor-theme .network-phases .current,.phosphor-theme .network-phases .passed{color:#acffcf}
.phosphor-theme .net-wire{border-color:#60bb89}.phosphor-theme .net-wire i{background:#baffda;box-shadow:0 0 4px #7fffb9}
.phosphor-theme .data-console,.phosphor-theme .cal-panel{background:#071b12f5!important;color:#c0ffdb!important;border-color:#71e9a5!important}
.phosphor-theme .data-stream,.phosphor-theme .data-console footer,.phosphor-theme .cal-panel>small:first-child{color:#9af1bd}
.phosphor-theme .data-meter i{background:#91ffc0}
.phosphor-theme .pixel-icon{filter:drop-shadow(0 0 2px #74ffae88)}
.phosphor-theme .net-hardware{stroke:#71d99e;filter:drop-shadow(0 0 2px #74ffae66)}
.phosphor-theme .net-hardware [fill="#eee8dc"],.phosphor-theme .net-hardware [fill="#e0d3e7"]{fill:#baffda}
.phosphor-theme .net-hardware [fill="#c8a9ed"],.phosphor-theme .net-hardware [fill="#bba3cc"]{fill:#58b681}
.phosphor-theme .net-hardware [fill="#261e32"]{fill:#082317}
.phosphor-theme #boot .boot-progress,.phosphor-theme .radio-session .cal-progress{border-color:#8bffc1;background:#0e3523}
.phosphor-theme #boot .boot-progress span,.phosphor-theme .radio-session .cal-progress span{background:repeating-linear-gradient(90deg,#acffd0 0 20px,transparent 20px 24px)}

/* Hardware lift entry. The reserved stage size prevents layout shifts. */
#open-terminal{position:absolute;z-index:20;transform:translate(-50%,-50%);min-height:52px;padding:13px 20px;background:#25212c;color:#f6f0ff;border:1px solid #aa80d5;box-shadow:0 4px 0 #0f0c14;font:600 12px monospace;letter-spacing:1.2px;white-space:nowrap;border-radius:3px}
#open-terminal span{color:#c69bff;font-size:21px;vertical-align:middle;margin-right:12px}
#open-terminal:hover{background:#3b2d4b}#open-terminal:active{transform:translate(-50%,calc(-50% + 3px));box-shadow:0 1px 0 #0f0c14}#open-terminal:focus-visible{outline:3px solid #8144c5;outline-offset:6px}
#open-terminal:disabled{opacity:0;pointer-events:none}
.terminal-docked #screen-anchor,.terminal-docked #hardware-targets,.terminal-docked .power-status-led,.terminal-docked .toggle-status-led,.terminal-docked .toggle-label,.terminal-docked .mode-hardware-led,.terminal-docked .antenna-tip-led{visibility:hidden!important;pointer-events:none!important}
.terminal-docked .stage-caption{opacity:.65}
.terminal-docked .link-status-led{visibility:hidden!important}
#terminal-lift-switch{position:absolute;z-index:21;transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:0;background:transparent!important;border:0;color:#f6ebff;box-shadow:none;font:bold 20px monospace;line-height:1;touch-action:manipulation}
#terminal-lift-switch small{display:block;font:9px monospace;letter-spacing:1px;color:#413449;position:absolute;top:42px;left:50%;transform:translateX(-50%)}
#terminal-lift-switch:active{transform:translate(-50%,calc(-50% + 2px))}#terminal-lift-switch:disabled{opacity:.55;cursor:wait}
#terminal-lift-switch small{color:#dfcbef}
/* Dedicated lift control below the platform, outside the model's touch targets. */
.lift-controls{display:flex;justify-content:flex-end;align-items:center;min-height:72px;padding:10px 0;}
#terminal-lift-switch{position:static;transform:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;min-width:190px;padding:12px 20px;background:#292330!important;color:#f6f0ff;border:1px solid #a984c9;border-radius:4px;box-shadow:0 3px 0 #130f1b;font:700 13px monospace;}
#terminal-lift-switch span{font-size:24px;color:#d4b4ff;line-height:1}
#terminal-lift-switch small{position:static;transform:none;color:inherit;font:inherit;letter-spacing:.7px;}
#terminal-lift-switch:hover{background:#40304f!important}#terminal-lift-switch:active{transform:translateY(2px);box-shadow:0 1px 0 #130f1b}
#terminal-lift-switch:disabled{opacity:.65}#terminal-lift-switch:focus-visible{outline:3px solid #8144c5;outline-offset:4px}
body.expanded .lift-controls{visibility:hidden}

.broadcast-feature{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin:8px 0 14px;padding:10px!important;background:var(--os-paper)!important;color:var(--os-ink)!important;border:1px solid currentColor;font:12px monospace;gap:12px}.broadcast-feature span{font-size:9px}.desktop-icons{gap:3px}.desktop-icons button{padding:3px 6px!important}.desktop-icons .pixel-icon{width:25px;height:25px}

.station-video-preview{position:relative;display:block;width:200px;max-width:100%;padding:0!important;border:1px solid var(--os-accent);background:#09130f;overflow:hidden;cursor:pointer}.station-video-preview img{display:block;width:100%;height:140px;object-fit:cover}.station-video-preview span{position:absolute;bottom:5px;left:5px;padding:4px 6px;background:#101b17;color:#b9ffdd;font:10px monospace}

.power-on-hint{position:absolute;z-index:9;pointer-events:none;display:none;width:0;height:0;}
body.power-off:not(.terminal-docked):not(.terminal-rising):not(.expanded) .power-on-hint{display:block;}
.power-hint-ring{position:absolute;left:-25px;top:-25px;width:50px;height:50px;border:2px solid #f7e9ae;border-radius:50%;box-shadow:0 0 0 2px #4c355f99,0 0 15px #ffd66b66;animation:power-hint-pulse 1.8s ease-in-out infinite;}
.power-hint-label{position:absolute;right:92px;bottom:54px;white-space:nowrap;padding:7px 10px;background:#292032;color:#fff2bd;border:1px solid #d3ba79;border-radius:3px;font:700 10px monospace;letter-spacing:1px;box-shadow:0 3px 9px #1c112b33;}
.power-on-hint svg{position:absolute;right:15px;bottom:17px;width:95px;height:52px;stroke:#ffebae;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #21132e);}
@keyframes power-hint-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.65}}
@media(prefers-reduced-motion:reduce){.power-hint-ring{animation:none}}
