.observation-toggle.active{color:#8eeaff;background:rgba(34,176,223,.16)!important;box-shadow:0 0 18px rgba(47,195,240,.18)}
.observation-panel{position:fixed;z-index:1220;right:62px;top:122px;width:min(330px,calc(100vw - 240px));max-height:calc(100vh - 236px);overflow:auto;padding:14px;border:1px solid rgba(110,210,246,.24);border-radius:18px;background:linear-gradient(160deg,rgba(7,23,38,.97),rgba(9,35,54,.94));box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 32px rgba(69,195,241,.08);backdrop-filter:blur(22px);scrollbar-width:thin}.observation-panel[hidden]{display:none!important;pointer-events:none!important}
.observation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.observation-header .eyebrow{display:block;color:#80dffc;font-size:7px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.observation-header h2{margin:4px 0 0;font-size:16px}.observation-close{width:31px;height:31px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.05);font-size:17px}.observation-intro{margin:9px 0;color:#bdd3df;font-size:9px;line-height:1.45}
.observation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.observation-button{min-height:52px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.04);color:#e7f5fb;display:grid;grid-template-columns:27px 1fr;align-items:center;gap:7px;padding:8px;text-align:left}.observation-button span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(76,197,238,.09);color:#83e4ff;font-size:14px}.observation-button b{font-size:9px;line-height:1.25}.observation-button.active{border-color:rgba(99,222,255,.64);background:rgba(48,154,193,.18);box-shadow:0 0 20px rgba(67,199,240,.1)}.observation-button[data-observation="none"] span{color:#9db1bf;background:rgba(255,255,255,.05)}
.observation-status{margin-top:9px;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);display:grid;gap:3px}.observation-status strong{font-size:9px}.observation-status span,.observation-status small{color:#83a0b2;font-size:7px;line-height:1.35}.observation-status[data-state="live"]{border-color:rgba(66,218,157,.22)}.observation-status[data-state="live"] strong{color:#8bf0c3}.observation-status[data-state="loading"] strong{color:#9be8ff}.observation-status[data-state="error"]{border-color:rgba(255,101,122,.28)}.observation-status[data-state="error"] strong{color:#ffb3bf}
.observation-sources{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.observation-sources>strong{display:block;color:#7f9caf;font-size:7px;text-transform:uppercase;letter-spacing:.09em}.observation-source-links{display:grid;gap:5px;margin-top:6px}.observation-source-links a{min-height:30px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.035);color:#cae9f5;display:flex;align-items:center;justify-content:space-between;padding:6px 8px;text-decoration:none;font-size:8px}.observation-source-links a::after{content:'↗';color:#6fbfd9}.observation-limitation{margin:8px 0 0;color:#718b9c;font-size:6.8px;line-height:1.45}
body.observation-active .weather-field{opacity:.08!important}body.observation-active .particle-canvas{opacity:.14!important}.leaflet-tile-container img[src*="gibs.earthdata.nasa.gov"]{image-rendering:auto}
@media(max-width:900px){.observation-panel{right:8px;top:120px;width:min(360px,calc(100vw - 196px));max-height:calc(100vh - 222px)}}
@media(max-width:680px){.observation-panel{left:6px;right:6px;top:116px;width:auto;max-height:calc(100vh - 222px);padding:11px;border-radius:16px}.observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.observation-button{min-height:44px}.observation-intro{font-size:8px}.observation-source-links{grid-template-columns:1fr}}
