:root[data-floor="2"]{--obs-bg-void:#050b12;--obs-bg-deep:#081220;--obs-bg-panel:#0c1a2e;--obs-bg-surface:#102238;--obs-bg-border:#1a3a5c;--obs-accent-primary:#3c8cdc;--obs-accent-secondary:#64b4ff;--obs-accent-live:#00d4ff;--obs-accent-warning:#f59e0b;--obs-accent-success:#00ff87;--obs-accent-data:#a8d8ff;--obs-text-primary:#e8f4fd;--obs-text-secondary:#7fb3d3;--obs-text-muted:#4a7a9b;--obs-text-data:#64b4ff;--obs-anim-sweep:8s;--obs-anim-pulse:3.2s;--obs-anim-ticker-scroll:30s;--obs-anim-draw:1.2s;--obs-panel-blur:16px;--obs-panel-radius:.5rem;--obs-bracket-size:10px;--obs-grid-major:48px;--obs-grid-minor:12px}.observatory-bg{background-color:var(--obs-bg-void,#050b12);background-image:radial-gradient(70% 50% at 50% 20%,#3c8cdc0a 0%,#0000 70%),linear-gradient(#3c8cdc0a 1px,#0000 1px),linear-gradient(90deg,#3c8cdc0a 1px,#0000 1px),linear-gradient(#3c8cdc05 1px,#0000 1px),linear-gradient(90deg,#3c8cdc05 1px,#0000 1px);background-size:100% 100%, var(--obs-grid-major,48px) var(--obs-grid-major,48px), var(--obs-grid-major,48px) var(--obs-grid-major,48px), var(--obs-grid-minor,12px) var(--obs-grid-minor,12px), var(--obs-grid-minor,12px) var(--obs-grid-minor,12px)}.instrument-panel{-webkit-backdrop-filter:blur(var(--obs-panel-blur,16px)) saturate(1.3);border-radius:var(--obs-panel-radius,.5rem);background:#0c1a2ec7;border:1px solid #3c8cdc2e;position:relative;box-shadow:0 8px 32px #00000080,0 0 0 1px #64b4ff0f,inset 0 1px #ffffff0a}.instrument-panel:before{content:"";width:var(--obs-bracket-size,10px);height:var(--obs-bracket-size,10px);pointer-events:none;z-index:1;border-top:1px solid #64b4ff99;border-left:1px solid #64b4ff99;position:absolute;top:-1px;left:-1px}.instrument-panel:after{content:"";width:var(--obs-bracket-size,10px);height:var(--obs-bracket-size,10px);pointer-events:none;z-index:1;border-bottom:1px solid #64b4ff99;border-right:1px solid #64b4ff99;position:absolute;bottom:-1px;right:-1px}.obs-sweep{pointer-events:none;border-radius:50%;width:300px;height:300px;margin:-150px 0 0 -150px;position:absolute;top:50%;left:50%}.obs-sweep:before{content:"";animation:obs-sweep-rotate var(--obs-anim-sweep,8s) linear infinite;background:conic-gradient(#0000 0deg,#3c8cdc14 20deg,#3c8cdc24 40deg,#0000 60deg);border-radius:50%;position:absolute;inset:0}@keyframes obs-sweep-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.obs-data-point{background:var(--obs-accent-live,#00d4ff);width:6px;height:6px;animation:obs-data-pulse var(--obs-anim-pulse,3.2s) ease-in-out infinite;border-radius:50%;display:inline-block;box-shadow:0 0 8px #00d4ffcc}@keyframes obs-data-pulse{0%,to{opacity:1;box-shadow:0 0 8px #00d4ffcc,0 0 20px #00d4ff4d}50%{opacity:.5;box-shadow:0 0 4px #00d4ff66}}.obs-glow{animation:obs-glow-pulse var(--obs-anim-pulse,3.2s) ease-in-out infinite}@keyframes obs-glow-pulse{0%,to{box-shadow:0 0 8px #3c8cdc40,0 0 20px #3c8cdc1a,inset 0 0 8px #3c8cdc0d}50%{box-shadow:0 0 16px #3c8cdc73,0 0 40px #3c8cdc33,inset 0 0 12px #3c8cdc1a}}.obs-line-draw{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:obs-draw-line var(--obs-anim-draw,1.2s) ease-out forwards}@keyframes obs-draw-line{to{stroke-dashoffset:0}}.observatory-ticker{-webkit-backdrop-filter:blur(8px);background:#050b12f0;border-top:1px solid #3c8cdc38;position:relative;overflow:hidden}.observatory-ticker-track{white-space:nowrap;animation:ticker-scroll var(--obs-anim-ticker-scroll,30s) linear infinite;display:flex}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.obs-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.obs-status-dot.active{background-color:var(--obs-accent-live,#00d4ff);animation:2.4s ease-in-out infinite obs-dot-pulse;box-shadow:0 0 6px #00d4ffcc}@keyframes obs-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes obs-bar-grow{0%{opacity:0;height:0}to{opacity:1}}.obs-bar-animate{animation:.6s ease-out forwards obs-bar-grow}@keyframes obs-number-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.obs-number-appear{animation:.4s ease-out forwards obs-number-appear}.obs-heatmap-cell{cursor:default;transition:opacity .15s,transform .15s}.obs-heatmap-cell:hover{z-index:1;transform:scale(1.2);opacity:1!important}@media (prefers-reduced-motion:reduce){.observatory-ticker-track,.obs-sweep:before,.obs-data-point,.obs-glow,.obs-status-dot.active{animation:none!important}.obs-line-draw{stroke-dashoffset:0!important;animation:none!important}.obs-heatmap-cell:hover{transform:none}}