html,body{height:100%;overflow:hidden}main.app-shell{max-width:none;padding:0;margin:0;height:100dvh;width:100%;position:relative}.map-panel{position:absolute;inset:0}#map{position:absolute;inset:0;height:100%;width:100%;border:0;border-radius:0}.control-panel{position:absolute;top:70px;left:16px;bottom:32px;width:310px;overflow:auto;padding:18px;background:var(--demo-surface);border:1px solid var(--line);border-radius:var(--demo-radius);box-shadow:0 4px 25px #32241622;z-index:3;scrollbar-width:thin}.control-panel h1{font-size:1.25rem;line-height:1.25;margin:.5rem 0}.control-panel header p{margin:5px 0}.control-panel h2{font-size:1rem;margin-bottom:4px}.toolbar{margin:14px 0;padding:12px 0}.toolbar label{font-size:.82rem}.toolbar select{width:100%;font-size:.82rem}.toolbar .badge{font-size:.65rem;line-height:1.5;margin-bottom:8px}.toolbar input[type=datetime-local]{width:100%;font-size:.8rem}.toolbar #archive-controls label{margin:8px 0 0;display:block}.toolbar #archive-controls p{font-size:.75rem}.toolbar details{margin-top:10px}.toolbar .transport{gap:6px}.transport button{font-size:.75rem}.transport label{flex-basis:100%}#clock{font-size:.75rem}.layer{padding:10px 0}.layer-title{font-size:.83rem}.layer input[type=range]{width:100px}.layer-tools{flex-wrap:wrap}.layer p{font-size:.69rem}.layer .legend{display:flex;gap:4px 8px;flex-wrap:wrap;margin:7px 0}.legend span{display:inline-flex;gap:4px;align-items:center;font-size:.67rem}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.layer select{font-size:.73rem;padding:5px;width:100%;margin-top:6px}.filter-row{display:flex;gap:6px}.filter-row label{flex:1;min-width:0;font-size:.69rem}#panel-toggle{position:absolute;top:16px;left:16px;z-index:4;box-shadow:0 2px 12px #32241622;font-size:.86rem;font-weight:650}body.controls-closed .control-panel{display:none}#selection-panel{position:absolute;top:16px;right:62px;bottom:32px;max-height:none;height:auto;width:350px;max-width:calc(100vw - 32px);z-index:4;box-shadow:0 4px 25px #32241622}#selection-panel[hidden]{display:none}#selection-panel h2{font-size:1.4rem}.maplibregl-ctrl-top-right{top:8px;right:8px}#map-attribution{position:absolute;bottom:0;right:0;max-width:100%;padding:4px 10px;background:#fffaf0dc;font-size:.65rem;pointer-events:none}#live-status{font-size:.7rem;margin:6px 0}#live-controls{border:1px solid var(--line);background:var(--tint);border-radius:6px;padding:8px}#network-imports{font-size:.68rem;color:var(--muted)}.analysis-details{font-size:.8rem}#notice{font-size:.8rem;padding:9px}#numbers{font-size:.75rem}#observations .feature-list{display:block}#observations .feature-card{width:100%;text-align:left;margin-bottom:5px;font-size:.73rem}#observations h3{font-size:.85rem}#observations section>p{font-size:.7rem}#observations input[type=search]{font-size:.75rem}footer{font-size:.65rem}.weather-legend{max-width:100%;height:auto;background:#fff}.weather-box p{font-size:.7rem}#weather-controls select{width:100%;font-size:.78rem}#weather-controls input[type=range]{width:100%}@media(max-width:850px){.control-panel{width:295px;top:65px;left:10px;bottom:26px;max-width:calc(100vw - 20px);padding:15px}#layers,#references{display:block}#map{height:100%}#selection-panel{top:65px;right:10px;bottom:26px;width:340px;max-width:calc(100vw - 20px);max-height:none;flex:none}body:has(#selection-panel:not([hidden])) .control-panel{visibility:hidden}#panel-toggle{top:12px;left:10px}}@media(max-width:450px){#map{height:100%}#selection-panel{max-height:none}.control-panel{width:calc(100vw - 20px)}}

.observatory-masthead {
  padding: 0.85rem;
  border-radius: 0.75rem;
}

.observatory-masthead .eyebrow {
  margin-top: 0.85rem;
  color: #e9a36f;
  text-transform: uppercase;
}

.control-panel .observatory-masthead h1 {
  margin-block: 0.25rem 0;
  font-size: 1.45rem;
  letter-spacing: -0.025em;
}

.observatory-warning {
  margin-top: 0.7rem;
  padding: 0.6rem;
  font-size: 0.75rem;
}

#panel-toggle {
  color: var(--ink);
  background: var(--accent);
  border-color: var(--accent);
}

#panel-toggle:hover {
  background: var(--accent-hover);
}
