/* PlanetHeartbeat Observatory — 50 scoped website shell improvements.
 * Original WebGL renderer, stage size, camera, oceans, rotation, and white logo
 * are protected. No selectors edit #globe, .stage, canvas or the Earth texture.
 * The rail reflects only existing browser-observed source states.
 */
/* 01 */ body{--obs-surface:#0b2331;--obs-border:#3d7778;--obs-text:#e8fff5;--obs-muted:#b7d3d9;--obs-accent:#8af0cb}
/* 02 */ .ph-observatory{position:relative;z-index:2;display:flex;align-items:center;gap:17px;padding:11px 23px;min-height:74px;background:linear-gradient(110deg,#092534,#102c38 50%,#0a2631);border-bottom:1px solid var(--obs-border);box-shadow:0 8px 22px #00000030}
/* 03 */ .ph-observatory-heading{display:flex;align-items:center;gap:12px;min-width:180px;flex:0 0 auto}
/* 04 */ .ph-observatory-orb{display:grid;place-items:center;width:36px;height:36px;border:1px solid #78dabb;border-radius:50%;color:#bcffe1;background:radial-gradient(circle,#256d65,#103b44);font-size:16px;box-shadow:0 0 17px #6ceab635}
/* 05 */ .ph-observatory-heading strong{display:block;color:#eafff3;font:800 12px/1.35 'Space Grotesk',system-ui,sans-serif;letter-spacing:.075em}
/* 06 */ .ph-observatory-heading small{display:block;margin-top:3px;color:var(--obs-muted);font:500 10px/1.35 system-ui,sans-serif}
/* 07 */ .ph-observatory-sources{display:flex;align-items:stretch;gap:9px;flex:1;min-width:0}
/* 08 */ .ph-observatory-source{position:relative;display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:48px;padding:9px 12px;text-decoration:none;color:var(--obs-text);border:1px solid #487980;border-radius:11px;background:linear-gradient(165deg,#153a45,#0a2534);transition:border-color .17s,background .17s,transform .17s}
/* 09 */ .ph-observatory-source:hover{border-color:#8fe5ce;background:#164b50;transform:translateY(-1px)}
/* 10 */ .ph-observatory-source:focus-visible{outline:3px solid #f9ffac;outline-offset:2px}
/* 11 */ .ph-observatory-led{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#8ea3ac;box-shadow:0 0 0 3px #8ea3ac20}
/* 12 */ .ph-observatory-source[data-observation=received] .ph-observatory-led,.ph-observatory-source[data-observation=ready] .ph-observatory-led{background:#7ff0bd;box-shadow:0 0 0 3px #7ff0bd22,0 0 12px #79eab977}
/* 13 */ .ph-observatory-source[data-observation=older] .ph-observatory-led,.ph-observatory-source[data-observation=starting] .ph-observatory-led{background:#e4c37e;box-shadow:0 0 0 3px #e4c37e22}
/* 14 */ .ph-observatory-source[data-observation=unavailable] .ph-observatory-led,.ph-observatory-source[data-observation=texture-failed] .ph-observatory-led{background:#d8a4a5;box-shadow:0 0 0 3px #d8a4a522}
/* 15 */ .ph-observatory-source[data-observation=offline] .ph-observatory-led{background:#aeb6c2;box-shadow:none}
/* 16 */ .ph-observatory-source strong{display:block;font:800 10px/1.35 'DM Sans',system-ui,sans-serif;letter-spacing:.07em;white-space:nowrap}
/* 17 */ .ph-observatory-source small{display:block;margin-top:3px;font:600 9px/1.3 system-ui,sans-serif;letter-spacing:.04em;color:#a9cdd0;white-space:nowrap}
/* 18 */ .ph-observatory-guide{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:9px 13px;text-decoration:none;color:#d6ffeb;background:#1b4d47;border:1px solid #76bfae;border-radius:10px;font:800 10px/1.4 system-ui,sans-serif;letter-spacing:.06em}
/* 19 */ .ph-observatory-guide:hover{background:#246b5c;border-color:#acffdd;color:#fff}
/* 20 */ .ph-observatory-guide:focus-visible{outline:3px solid #f9ffac;outline-offset:2px}
/* 21 */ .header{box-shadow:0 7px 22px #0004}
/* 22 */ .brand-copy strong{text-shadow:0 1px 6px #0004}
/* 23 */ .global-status{font-size:10px;letter-spacing:.11em}
/* 24 */ .header-right{min-width:0}
/* 25 */ .header-explore-link{outline-offset:3px;text-underline-offset:4px}
/* 26 */ .header .search-launch{min-height:40px}
/* 27 */ .header .command-open{min-height:40px}
/* 28 */ .ph-control-ribbon{box-shadow:0 5px 13px #0003}
/* 29 */ .ph-ribbon-primary{box-shadow:inset 0 1px #c8ffe526}
/* 30 */ .ph-ribbon-link:focus-visible{outline:3px solid #fcffad;outline-offset:2px}
/* 31 */ .sidebar .section-title{line-height:1.5}
/* 32 */ .sidebar .start-here{outline-offset:2px}
/* 33 */ .sidebar .start-here a:focus-visible{outline:3px solid #f7ffab;outline-offset:2px}
/* 34 */ .sidebar .layer-presets button:focus-visible{outline:3px solid #f7ffab;outline-offset:2px}
/* 35 */ .sidebar .layer{touch-action:manipulation}
/* 36 */ .sidebar .layer:hover{background:#1a414655}
/* 37 */ .sidebar .layer:focus-within{outline:2px solid #e9ffb4;outline-offset:2px}
/* 38 */ .intel-intro{isolation:isolate}
/* 39 */ .intel-intro .micro-heading{letter-spacing:.16em}
/* 40 */ .intel .metric-grid{overflow:hidden}
/* 41 */ .intel .metric-grid>div{min-width:0}
/* 42 */ .intel .metric-grid strong{font-variant-numeric:tabular-nums}
/* 43 */ .ph-data-integrity{outline-offset:2px}
/* 44 */ .ph-source-panel summary:focus-visible{outline:3px solid #f7ffab;outline-offset:-2px}
/* 45 */ .ph-performance-lens summary:focus-visible{outline:3px solid #f7ffab;outline-offset:-2px}
/* 46 */ .footer a:focus-visible{outline:3px solid #f7ffab;outline-offset:2px}
/* 47 */ @media(max-width:1180px){.ph-observatory{gap:10px;padding:9px 13px}.ph-observatory-heading{min-width:155px}.ph-observatory-source{padding:9px 8px;gap:6px}.ph-observatory-source strong{font-size:9px}.ph-observatory-guide{padding:8px 10px}}
/* 48 */ @media(max-width:850px){.ph-observatory{flex-wrap:wrap;gap:8px 10px;padding:9px 12px}.ph-observatory-heading{flex:1;min-width:0}.ph-observatory-heading small{font-size:9px}.ph-observatory-guide{min-height:44px}.ph-observatory-sources{order:3;flex:1 1 100%;gap:7px}.ph-observatory-source{min-height:44px;padding:8px 10px}}
/* 49 */ @media(max-width:420px){.ph-observatory{padding:8px 9px}.ph-observatory-heading strong{font-size:10px}.ph-observatory-heading small{font-size:8px}.ph-observatory-orb{width:29px;height:29px}.ph-observatory-guide{font-size:8px;padding:8px}.ph-observatory-source{padding:8px 6px;gap:5px}.ph-observatory-source strong{font-size:8px}.ph-observatory-source small{font-size:8px;letter-spacing:0}.ph-observatory-led{width:6px;height:6px}}
/* 50 */ @media(prefers-reduced-motion:reduce){.ph-observatory-source{transition:none}.ph-observatory-source:hover{transform:none}.ph-observatory-orb{box-shadow:none}}
body[data-ph-lite=on] .ph-observatory,body[data-ph-lite=on] .ph-observatory-orb{box-shadow:none;background-image:none}
body[data-shell-theme=contrast] .ph-observatory{--obs-border:#a5cbd3;--obs-text:#fff;--obs-muted:#f0f8ff;background:#050d14}
body[data-shell-theme=contrast] .ph-observatory-source,body[data-shell-theme=contrast] .ph-observatory-guide{border-color:#bbdce5}
