.globe-shell { min-height: 100vh; }
.globe-home { text-decoration: none; font-size: 13px; }
.world-layout { max-width: 1640px; margin: 0 auto; padding: 30px clamp(16px, 3vw, 44px) 48px; }
.world-heading { margin-bottom: 23px; }
.world-eyebrow, .world-stage-tag { color: var(--cyan); font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.world-heading h1 { font-size: clamp(29px, 3.8vw, 54px); letter-spacing: -.045em; line-height: 1.05; margin: 9px 0 10px; }
.world-heading p { font-size: 14px; color: #b5c8d6; line-height: 1.5; margin: 0; max-width: 870px; }
.world-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, 345px); gap: 18px; align-items: start; }
.world-stage { height: min(74vh, 750px); min-height: 480px; position: relative; overflow: hidden; border-radius: 22px; border: 1px solid rgba(110,188,231,.16); background: radial-gradient(ellipse at 47% 51%,rgba(24,66,115,.48),transparent 51%), radial-gradient(ellipse at 58% 60%,#0b2138 0,#06111e 66%,#030810 100%); box-shadow: var(--shadow); isolation: isolate; }
.world-stage::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.55; background-image:radial-gradient(1px 1px at 8% 17%, #fff 98%, transparent), radial-gradient(1px 1px at 65% 8%,#fff 98%,transparent),radial-gradient(1px 1px at 90% 45%,#fff 98%,transparent),radial-gradient(1px 1px at 27% 80%,#fff 98%,transparent),radial-gradient(1px 1px at 75% 76%,#fff 98%,transparent); background-size: 233px 197px,311px 223px,173px 257px,389px 309px,281px 383px; }
#earth-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:none; cursor:grab; z-index:1; }
#earth-canvas:active { cursor:grabbing; }
.world-stage-top, .world-stage-bottom { position:absolute; z-index:2; left:19px; right:19px; display:flex; align-items:center; justify-content:space-between; gap:12px; pointer-events:none; }
.world-stage-top { top:19px; }.world-stage-bottom { bottom:16px; font-size:11px; color:#a4baca; }
.world-stage-top .world-stage-tag { background:rgba(4,12,22,.65); border:1px solid rgba(132,189,221,.13); border-radius:7px; padding:7px 9px; font-size:10px; }
.world-stage-bottom a { color:#c4d8e6; pointer-events:auto; }
.globe-zoom { position:absolute; z-index:3; right:19px; top:69px; display:grid; gap:7px; }
.globe-zoom button { min-width:44px; height:44px; border:1px solid rgba(255,255,255,.17); background:rgba(5,16,29,.84); color:#f5fbff; border-radius:11px; cursor:pointer; font-size:20px; }
.globe-zoom button:last-child { font-size:12px; padding:0 9px; }
.world-sidebar { display:grid; gap:14px; }
.world-card { padding:20px; border-radius:18px; border:1px solid var(--line); background:linear-gradient(165deg,#102236,#091623); }
.world-card-header { display:flex; justify-content:space-between; align-items:center; text-transform:uppercase; letter-spacing:.09em; color:#9db5c8; font-size:11px; gap:10px; font-weight:700; }
.world-card h2 { font-size:25px; line-height:1.13; letter-spacing:-.025em; margin:19px 0 5px; }
.world-muted, .world-source { color:#a3b8c9; font-size:12px; line-height:1.5; }
.world-source { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.world-source a { color:#a9dff1; }
.world-result { min-height:128px; padding-top:8px; }
.world-temp { font-size:63px; line-height:1; letter-spacing:-.065em; font-weight:800; margin:4px 0 7px; }
.world-condition { font-size:17px; font-weight:700; margin:0 0 16px; }
.world-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.world-metrics div { padding:10px; background:rgba(255,255,255,.04); border-radius:9px; display:grid; gap:4px; }
.world-metrics span { color:#a2b8c9; font-size:11px; }.world-metrics strong { font-size:14px; }
.world-updated { color:#a7b9cb; font-size:12px; margin:13px 0 0; }
.world-error { color:#ffd08d; font-size:13px; line-height:1.5; }
.world-city-list { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0 19px; }
.world-city-list button { border:1px solid rgba(159,194,218,.18); background:rgba(255,255,255,.045); color:#e3edf5; border-radius:999px; min-height:40px; padding:9px 13px; cursor:pointer; font-size:12px; }
.world-city-list button[aria-pressed="true"] { border-color:var(--cyan); background:rgba(91,214,238,.15); color:#e3fcff; }
.world-coordinates-form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.world-coordinates-form label { color:#adc0cf; font-size:11px; display:grid; gap:6px; }
.world-coordinates-form input { min-width:0; width:100%; height:43px; border-radius:9px; border:1px solid rgba(255,255,255,.16); background:#06111c; color:white; padding:0 10px; }
.world-coordinates-form button { grid-column:1/-1; min-height:44px; }
.world-explainer { padding:0 7px; color:#93a9bb; font-size:12px; line-height:1.6; }
.world-explainer strong { color:#d2e2eb; }.world-explainer p { margin:5px 0; }
.globe-fallback { position:absolute; z-index:4; top:40%; left:20px; right:20px; padding:18px; border-radius:12px; background:#0a192a; text-align:center; line-height:1.6; }
@media(max-width:1000px){.world-grid{grid-template-columns:minmax(0,1fr)}.world-stage{height:min(65vh,640px);min-height:450px}.world-sidebar{grid-template-columns:1fr 1fr}.world-explainer{grid-column:1/-1}}
@media(max-width:620px){.world-layout{padding:22px 12px 35px}.world-heading p{font-size:13px}.world-grid{gap:12px}.world-stage{height: min(110vw,520px);min-height:350px;border-radius:15px}.world-sidebar{grid-template-columns:1fr}.world-explainer{grid-column:auto}.world-stage-top,.world-stage-bottom{left:10px;right:10px}.world-stage-top{top:10px}.world-stage-top .world-stage-tag{font-size:8px;padding:6px}.world-stage-bottom{font-size:9px;display:grid;gap:3px}.globe-zoom{top:55px;right:10px}.globe-zoom button{min-width:44px;height:44px}.world-card{padding:17px}}
:where(.globe-shell button,.globe-shell a,.globe-shell input):focus-visible { outline:3px solid #89ecfa; outline-offset:3px; }

/* Globe-first mission console, with independent honest data layers. */
.world-layout { max-width:none; padding:18px clamp(12px,1.8vw,28px) 26px; }
.world-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.world-heading h1 { font-size:clamp(24px,2.7vw,37px); margin:5px 0; }
.world-heading p { font-size:12px; }
.world-grid { grid-template-columns:minmax(195px,230px) minmax(0,1fr) minmax(260px,320px); gap:12px; }
.world-layer-panel { border:1px solid var(--line); background:linear-gradient(160deg,#0f2032,#07121d); border-radius:16px; padding:17px 12px; display:flex; flex-direction:column; gap:12px; }
.world-layer-count { font-size:10px; color:var(--cyan); text-transform:none; letter-spacing:normal; }
.layer-switch { min-height:63px; display:flex; gap:10px; align-items:center; padding:10px 8px; border:1px solid rgba(163,196,222,.13); border-radius:11px; cursor:pointer; background:rgba(255,255,255,.025); position:relative; }
.layer-switch:has(input:checked) { border-color:rgba(99,211,239,.37); background:rgba(58,152,212,.09); }
.layer-switch input { width:17px; height:17px; accent-color:#67d9f0; flex-shrink:0; }
.layer-switch strong,.layer-switch small { display:block; }
.layer-switch strong { font-size:12px; }.layer-switch small { color:#a4b9ca; font-size:10px; margin-top:3px; }
.layer-led { width:7px; height:7px; border-radius:50%; flex-shrink:0; }.quake-led { background:#ffbd67; }.weather-led { background:#62d7f5; }
.layer-feed-status { margin:0; color:#abc1d2; font-size:11px; line-height:1.5; padding:8px; background:rgba(255,255,255,.025); border-radius:8px; }
.layer-feed-status[data-state="error"] { color:#ffd29b; }
.world-advanced { border-top:1px solid var(--line); padding-top:15px; }
.world-advanced .world-card-header { margin-bottom:12px; }
.optics-label { color:#c9dae7; font-size:11px; display:block; margin-bottom:6px; }
#world-optics { width:100%; padding:10px; background:#081625; border:1px solid rgba(255,255,255,.2); color:white; border-radius:8px; min-height:44px; }
.layer-attribution { font-size:10px; line-height:1.9; color:#adc2d2; margin-top:auto; }.layer-attribution a { color:#b5d4e6; }
.world-stage { min-height:540px; height:calc(100dvh - 170px); max-height:none; border-radius:16px; }
.world-stage-top { top:13px; }.world-stage-top .world-stage-tag { font-size:9px; }
.world-sidebar { gap:12px; max-height:calc(100dvh - 170px); overflow-y:auto; scrollbar-width:thin; }
.world-card { border-radius:13px; padding:15px; }.world-card h2 { margin:12px 0 4px; }
.world-event-markers { position:absolute; inset:0; pointer-events:none; z-index:2; }
.world-event-marker { position:absolute; translate:-50% -50%; border-radius:50%; background:rgba(255,177,81,.85); border:2px solid #ffdc93; box-shadow:0 0 0 4px rgba(255,150,55,.19),0 0 21px rgba(255,155,68,.5); cursor:pointer; pointer-events:auto; padding:0; min-width:11px; min-height:11px; }
.world-event-marker:focus-visible,.world-event-marker.active { outline:2px solid #fff; outline-offset:5px; background:#fff; }
.world-event-marker[hidden] { display:none; }
.classification.reported { color:#ffd190; background:rgba(255,171,66,.12); border:1px solid rgba(255,171,66,.24); }
.world-contact-result { margin-top:10px; font-size:12px; line-height:1.55; }
.world-contact-result h2 { font-size:18px; line-height:1.3; overflow-wrap:anywhere; }.world-contact-result p { color:#bdcedd; }
.world-contact-result a { color:#b3e4f6; }.world-contact-result .quake-magnitude { display:block; font-size:40px; font-weight:800; line-height:1.3; color:#ffd090; }
.world-events { display:grid; gap:5px; max-height:280px; overflow-y:auto; scrollbar-width:thin; margin-top:11px; }
.world-events button { display:flex; align-items:center; gap:9px; text-align:left; padding:9px; border:1px solid transparent; background:rgba(255,255,255,.025); border-radius:9px; color:#ecf5fa; cursor:pointer; min-height:44px; }
.world-events button[aria-pressed="true"] { border-color:rgba(255,181,89,.55); background:rgba(255,166,52,.1); }
.world-events button span { font-size:13px; font-weight:800; color:#ffc681; flex:0 0 40px; }
.world-events button small { color:#b8cad7; font-size:11px; line-height:1.4; }
.world-weather[hidden], .world-places[hidden], .world-contact[hidden], .world-event-list[hidden] { display:none!important; }
.density-switch { display:flex; border:1px solid rgba(151,188,214,.22); border-radius:11px; padding:3px; gap:2px; background:rgba(11,28,44,.84); flex-shrink:0; }
.density-switch button { border:0; border-radius:8px; background:transparent; color:#b4cadc; min-height:39px; padding:0 13px; font-size:12px; cursor:pointer; }
.density-switch button[aria-pressed="true"] { background:rgba(82,176,220,.22); color:white; box-shadow:inset 0 0 0 1px rgba(117,212,239,.25); }
.world-layout[data-density="simple"] .world-event-list,.world-layout[data-density="simple"] .world-advanced,.world-layout[data-density="simple"] .world-places,.world-layout[data-density="simple"] .world-explainer { display:none!important; }
.world-layout[data-density="standard"] .world-advanced,.world-layout[data-density="standard"] .world-explainer,.world-layout[data-density="standard"] .world-coordinates-form { display:none!important; }
.world-layout[data-optics="night"] #earth-canvas { filter:hue-rotate(32deg) saturate(.65) brightness(.7); }
.world-layout[data-optics="contrast"] #earth-canvas { filter:contrast(1.45) saturate(1.1); }
.world-layout[data-density="simple"] .world-heading p { display:none; }
@media(max-width:1150px) { .world-grid { grid-template-columns: minmax(165px,190px) minmax(0,1fr); }.world-sidebar { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:none; overflow:visible; }.world-stage { height:min(70vh,740px); }.world-layer-panel{gap:9px;} }
@media(max-width:700px) { .world-heading { align-items:start; flex-direction:column; gap:12px; }.world-heading h1 { font-size:27px; }.density-switch{width:100%;}.density-switch button{flex:1;}.world-grid{display:flex; flex-direction:column;}.world-layer-panel { order:2; width:100%; display:grid; grid-template-columns:1fr 1fr; align-items:center; }.world-layer-panel>.world-card-header,.layer-feed-status,.layer-attribution,.world-advanced{grid-column:1/-1;}.layer-switch{min-width:0;gap:5px;padding:8px 5px;}.layer-switch small{font-size:9px;}.world-stage { order:1; width:100%; min-height:370px; height:min(105vw,520px); }.world-sidebar { order:3; display:grid; grid-template-columns:1fr; width:100%; }.world-events{max-height:250px;}.world-stage-top .world-stage-tag { font-size:8px; }.globe-zoom{top:57px;right:8px;} }
@media(prefers-reduced-motion:reduce){.world-event-marker{box-shadow:none;}}

.nature-led { background:#de95ff; }
.world-natural-contact[hidden],.world-natural-list[hidden],#nature-feed-state[hidden] { display:none!important; }
.world-natural-contact .world-contact-result h2 { color:#f3deff; }
.world-event-marker.nature-marker { background:rgba(195,110,243,.85); border-color:#ebc4ff; box-shadow:0 0 0 4px rgba(166,83,225,.19),0 0 18px rgba(180,95,229,.38); }
.world-event-marker.nature-marker.active { background:white; }
.world-natural-list .world-events button span { color:#dda8fb; }
.world-natural-list .world-events button[aria-pressed="true"] { border-color:rgba(199,128,247,.55); background:rgba(160,87,207,.13); }
.world-layout[data-density="simple"] .world-natural-list { display:none!important; }

.world-marker-group { position:absolute; inset:0; pointer-events:none; }
.layer-feed-status[hidden],.world-marker-group[hidden] { display:none!important; }

/* Received aircraft are point reports, never animated or extrapolated paths. */
.aircraft-led { background:#7ce3db; }
.classification.aircraft-class { color:#91f4dd; background:rgba(51,177,162,.12); border:1px solid rgba(80,207,182,.25); font-size:9px; }
.world-event-marker.aircraft-marker { width:21px!important; height:21px!important; min-width:21px; min-height:21px; background:#083c4a; color:#a9fff0; border:1px solid #85ecdc; border-radius:50%; display:grid; place-items:center; font-size:13px; line-height:1; box-shadow:0 0 0 2px rgba(82,219,205,.2); }
.world-event-marker.aircraft-marker.active { outline-color:#aeffee; color:#00333d; background:#b3fff0; }
.world-aircraft-list .world-events button span { flex:0 0 76px; min-width:0; font-size:11px; overflow-wrap:anywhere; color:#8ff0df; }
.world-aircraft-list .world-events button[aria-pressed="true"] { border-color:rgba(96,219,199,.58); background:rgba(44,159,144,.13); }
.world-aircraft-contact .world-contact-result h2 { color:#b1f7e7; }
.world-aircraft-contact[hidden],.world-aircraft-list[hidden],#aircraft-feed-state[hidden] { display:none!important; }
.world-layout[data-density="simple"] .world-aircraft-list { display:none!important; }

.world-event-marker.aircraft-marker[hidden] { display:none!important; }
@media(max-width:700px){ #world-stage-status { max-width:58%; overflow-wrap:anywhere; text-align:right; } }


/* 0.3.3: Globe-first floating console. Panels are optional overlays, not columns. */
.world-layout { padding: 10px clamp(10px, 1.5vw, 24px) 16px; }
.world-heading { position:relative; z-index:12; margin: 0 0 10px; gap:16px; align-items:center; }
.world-heading h1 { font-size:clamp(22px,2.25vw,33px); }
.world-heading p { color:#a5bfd0; }
.world-toolbar { display:flex; gap:7px; margin-left:auto; }
.world-panel-button { min-height:44px; border-radius:11px; border:1px solid rgba(113,186,221,.27); padding:0 15px; background:linear-gradient(155deg,rgba(40,79,112,.7),rgba(13,33,53,.9)); color:#e1f6ff; cursor:pointer; font-size:12px; font-weight:700; white-space:nowrap; }
.world-panel-button span { font-size:17px; vertical-align:middle; margin-right:5px; }
.world-panel-button[aria-expanded="true"] { border-color:rgba(106,227,243,.8); box-shadow:inset 0 0 0 1px rgba(99,212,240,.15),0 0 19px rgba(24,122,176,.12); }
.world-grid { display:block; position:relative; min-height:640px; isolation:isolate; }
.world-stage { width:100%; height:calc(100dvh - 187px); min-height:min(620px,calc(100dvh - 185px)); max-height:none; border-radius:20px; border:1px solid rgba(132,210,250,.19); background:radial-gradient(ellipse at 50% 52%,rgba(24,65,102,.45),transparent 44%),radial-gradient(ellipse at 12% 80%,rgba(14,67,99,.28),transparent 36%),radial-gradient(ellipse at 92% 15%,rgba(27,47,85,.4),transparent 42%),#030915; box-shadow:inset 0 0 90px rgba(4,24,49,.6),0 19px 70px rgba(0,0,0,.3); }
.world-stage::before { opacity:.78; }
.world-layer-panel,.world-sidebar { position:absolute; z-index:9; border:1px solid rgba(155,207,235,.24); background:linear-gradient(150deg,rgba(13,30,48,.88),rgba(6,17,30,.9)); backdrop-filter:blur(24px) saturate(1.15); -webkit-backdrop-filter:blur(24px) saturate(1.15); box-shadow:0 14px 45px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.06); scrollbar-width:thin; }
.world-layer-panel { top:15px; left:15px; width:min(285px,calc(100% - 30px)); max-height:calc(100% - 30px); overflow:auto; border-radius:17px; padding:13px; display:flex; flex-direction:column; gap:8px; }
.world-sidebar { top:15px; right:15px; width:min(352px,calc(100% - 30px)); max-height:calc(100% - 30px); overflow:auto; border-radius:17px; padding:12px; display:grid; gap:9px; align-content:start; }
.world-layer-panel[hidden],.world-sidebar[hidden] { display:none!important; }
.floating-panel-head { display:flex; justify-content:space-between; align-items:center; color:#9fdff2; font-size:10px; letter-spacing:.15em; font-weight:800; padding:0 1px 8px; border-bottom:1px solid rgba(255,255,255,.12); }
.floating-panel-close { width:40px; height:40px; border:1px solid rgba(185,221,242,.17); border-radius:10px; background:rgba(255,255,255,.035); color:#e0f6ff; cursor:pointer; font-size:22px; line-height:1; }
.floating-panel-close:hover,.world-panel-button:hover { background:rgba(46,122,160,.29); }
.world-layer-panel>.world-card-header { margin-top:3px; }
.layer-switch { min-height:52px; padding:8px 9px; background:rgba(11,36,56,.34); }
.layer-switch strong { font-size:13px; }.layer-switch small { font-size:10px; }
.layer-feed-status { font-size:10px; padding:6px 8px; }
.world-sidebar .world-card { background:linear-gradient(145deg,rgba(25,48,72,.75),rgba(9,23,39,.77)); border:1px solid rgba(161,206,229,.13); padding:13px; box-shadow:none; }
.world-sidebar .world-card-header { font-size:10px; }
.world-sidebar .world-events { max-height:190px; }
.world-stage-top { top:16px; left:clamp(13px,2vw,27px); right:clamp(13px,2vw,27px); }
.world-stage-bottom { bottom:14px; left:clamp(13px,2vw,27px); right:clamp(13px,2vw,27px); }
.world-stage-top .world-stage-tag { padding:7px 10px; background:rgba(5,16,29,.74); border:1px solid rgba(109,185,223,.2); }
.globe-zoom { top:72px; right:clamp(13px,2vw,27px); }
.globe-zoom button { background:rgba(7,27,45,.75); backdrop-filter:blur(10px); }
.world-event-marker.aircraft-marker { box-shadow:0 0 0 2px rgba(82,219,205,.14),0 0 14px rgba(59,230,219,.23); }
.world-event-marker.nature-marker { box-shadow:0 0 0 3px rgba(166,83,225,.12),0 0 13px rgba(180,95,229,.28); }
.world-event-marker:focus-visible { outline:3px solid #fff; outline-offset:5px; }
:where(.world-panel-button,.floating-panel-close):focus-visible { outline:3px solid #95f0ff; outline-offset:3px; }
@media(max-width:1100px) { .world-grid{display:block;} .world-layer-panel { width:260px; } .world-sidebar { width:320px; max-height:calc(100% - 30px); display:grid; grid-template-columns:1fr; overflow:auto; } .world-stage{height:calc(100dvh - 187px);min-height:min(570px,calc(100dvh - 185px));} }
@media(max-width:700px) {
  .world-layout { padding:9px 8px 12px; }
  .world-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:0 4px; }
  .world-heading>div:first-child { grid-column:1/-1; } .world-heading h1{font-size:23px;} .world-heading p{font-size:11px;}
  .world-toolbar { grid-column:1; grid-row:2; margin:0; gap:5px; } .world-panel-button { padding:0 12px; }
  .density-switch { grid-column:2; grid-row:2; width:auto; } .density-switch button { min-height:44px; padding:0 8px; font-size:11px; }
  .world-grid { display:block; min-height:570px; }
  .world-stage { order:initial; width:100%; height:calc(100dvh - 245px); min-height:min(570px,calc(100dvh - 235px)); max-height:none; border-radius:15px; }
  .world-layer-panel { display:flex; grid-template-columns:none; top:9px; left:9px; right:9px; width:auto; max-height:min(70dvh,530px); padding:12px; gap:7px; }
  .world-sidebar { display:grid; grid-template-columns:1fr; top:auto; bottom:9px; left:9px; right:9px; width:auto; max-height:min(59dvh,460px); overflow-y:auto; padding:10px; }
  .world-layer-panel>.world-card-header,.layer-feed-status,.layer-attribution,.world-advanced { grid-column:auto; }
  .world-stage-top { top:10px; left:10px;right:10px; } .world-stage-top .world-stage-tag { font-size:8px; }
  #world-stage-status { max-width:60%; overflow-wrap:anywhere; text-align:right; }
  .world-stage-bottom { left:9px;right:9px;bottom:10px; font-size:9px; }
  .globe-zoom { top:64px;right:10px; }
  .world-sidebar .world-events { max-height:135px; }
}
@media(max-width:390px){.world-panel-button{padding:0 9px;font-size:11px}.density-switch button{padding:0 6px;font-size:10px}.world-toolbar{gap:3px}}
@media(prefers-reduced-motion:reduce){.world-panel-button,.floating-panel-close{transition:none}}


/* 0.3.4: one viewport, one subject at a time. No document-length control tower. */
html:has(body.nimbus-explorer), body.nimbus-explorer {height:100%; overflow:hidden; overscroll-behavior:none;}
body.nimbus-explorer .app-shell {height:100dvh; min-height:0; overflow:hidden; display:flex; flex-direction:column;}
body.nimbus-explorer .topbar {height:56px; min-height:56px; position:relative; padding:0 clamp(10px,1.7vw,25px);}
body.nimbus-explorer .world-layout {position:relative; flex:1; min-height:0; height:auto; padding:0; max-width:none; margin:0; overflow:hidden;}
body.nimbus-explorer .world-heading {position:absolute; z-index:14; top:9px; left:clamp(12px,1.6vw,25px); right:clamp(12px,1.6vw,25px); margin:0; padding:0; pointer-events:none;}
body.nimbus-explorer .world-heading > div,body.nimbus-explorer .world-toolbar,body.nimbus-explorer .density-switch {pointer-events:auto;}
body.nimbus-explorer .world-heading h1 {font-size:clamp(19px,2vw,26px); margin:1px 0 2px;}
body.nimbus-explorer .world-heading p {font-size:11px;}
body.nimbus-explorer .world-grid {position:absolute; inset:0; display:block; min-height:0; height:100%; width:100%;}
body.nimbus-explorer .world-stage {position:absolute; inset:0; width:100%; height:100%; min-height:0; max-height:none; border:0; border-radius:0; box-shadow:none;}
body.nimbus-explorer .world-stage-top {top:93px;left:20px;right:20px;}
body.nimbus-explorer .world-stage-bottom {bottom:12px;left:20px;right:20px;}
body.nimbus-explorer .world-layer-panel {top:130px; left:16px; max-height:calc(100% - 148px);}
body.nimbus-explorer .world-sidebar {top:130px; right:16px; max-height:calc(100% - 148px);}
body.nimbus-explorer .globe-zoom {top:155px;right:22px;}
body.nimbus-explorer .world-grid:has(.world-sidebar:not([hidden])) .globe-zoom {right:385px;}
body.nimbus-explorer .world-grid:has(.world-sidebar:not([hidden])) .world-stage-top #world-stage-status {display:none;}
body.nimbus-explorer .globe-zoom #view-mode {font-size:11px;font-weight:700;padding:0 9px;}
body.nimbus-explorer .globe-zoom #view-mode[aria-pressed="true"] {color:#84f2e7;border-color:#72d8d3;}
body.nimbus-explorer #zoom-readout {font-size:10px;text-align:center;color:#b8dce9;background:rgba(3,18,32,.75);padding:6px 3px;border-radius:7px;}
body.nimbus-explorer .globe-zoom button:last-child {font-size:11px;}
body.nimbus-explorer .world-sidebar .world-events {max-height:min(23dvh,175px);}
body.nimbus-explorer .intel-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;position:sticky;top:-12px;z-index:2;padding:5px 0 7px;background:#0a1b2c;}
body.nimbus-explorer .intel-tabs button {min-height:39px;border:1px solid rgba(129,187,219,.14);border-radius:8px;background:rgba(255,255,255,.025);font-size:10px;color:#a7c5d7;cursor:pointer;}
body.nimbus-explorer .intel-tabs button[aria-pressed="true"] {background:rgba(47,153,180,.22);border-color:#59bfd5;color:#e2fbff;}
body.nimbus-explorer .world-sidebar[data-intel="aircraft"] :is(.world-contact,.world-event-list,.world-natural-contact,.world-natural-list,.world-weather,.world-places),
body.nimbus-explorer .world-sidebar[data-intel="earthquakes"] :is(.world-aircraft-contact,.world-aircraft-list,.world-natural-contact,.world-natural-list,.world-weather,.world-places),
body.nimbus-explorer .world-sidebar[data-intel="nature"] :is(.world-aircraft-contact,.world-aircraft-list,.world-contact,.world-event-list,.world-weather,.world-places),
body.nimbus-explorer .world-sidebar[data-intel="weather"] :is(.world-aircraft-contact,.world-aircraft-list,.world-natural-contact,.world-natural-list,.world-contact,.world-event-list) {display:none!important;}
body.nimbus-explorer .world-sidebar .world-explainer {display:none!important;}
body.nimbus-explorer .aircraft-shortcut {border-color:rgba(93,222,205,.52);background:rgba(17,75,82,.73);}
body.nimbus-explorer .aircraft-shortcut span {font-size:12px; margin-right:0;}
body.nimbus-explorer .world-detail-map {position:absolute;inset:0;z-index:1;overflow:hidden;touch-action:none;cursor:grab;background:#0a1724;}
body.nimbus-explorer .world-detail-map.dragging {cursor:grabbing;}
body.nimbus-explorer .world-detail-tiles {position:absolute;inset:0;overflow:hidden;pointer-events:none;}
body.nimbus-explorer .world-detail-tiles img {position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;user-select:none;}
body.nimbus-explorer .world-layout[data-map-view="true"] #earth-canvas {display:none;}
body.nimbus-explorer .world-layout[data-map-view="true"] .world-stage::before {display:none;}
body.nimbus-explorer .world-layout[data-map-view="true"] .world-stage-bottom {display:none;}
body.nimbus-explorer .world-map-attribution {position:absolute;z-index:7;bottom:11px;right:20px;background:rgba(3,18,30,.82);color:#ebf9ff;font-size:10px;padding:6px 9px;border-radius:6px;max-width:65%;line-height:1.4;}
body.nimbus-explorer .world-map-attribution a {text-decoration:underline;}
body.nimbus-explorer .world-map-attribution[hidden] {display:none!important;}
@media(max-width:900px){
 body.nimbus-explorer .world-heading p {display:none;}
 body.nimbus-explorer .world-heading h1 {font-size:20px;}
 body.nimbus-explorer .world-toolbar {gap:4px;}
 body.nimbus-explorer .world-panel-button {padding:0 9px;font-size:11px;}
 body.nimbus-explorer .world-panel-button span {font-size:11px;}
 body.nimbus-explorer .world-stage-top {top:98px;}
 body.nimbus-explorer .world-layer-panel {top:142px;}
 body.nimbus-explorer .world-sidebar {top:142px;}
 body.nimbus-explorer .world-grid:has(.world-sidebar:not([hidden])) .globe-zoom {right:340px;}
}
@media(max-width:700px){
 body.nimbus-explorer .topbar {height:52px;min-height:52px;}
 body.nimbus-explorer .brand-copy small {display:none;}
 body.nimbus-explorer .world-heading {top:8px;left:9px;right:9px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;}
 body.nimbus-explorer .world-heading>div:first-child {flex:1 1 100%;}
 body.nimbus-explorer .world-heading .world-eyebrow {font-size:8px;}
 body.nimbus-explorer .world-heading h1 {font-size:18px;}
 body.nimbus-explorer .world-toolbar {margin:0;flex:1 1 auto;}
 body.nimbus-explorer .world-panel-button {min-height:40px;padding:0 8px;}
 body.nimbus-explorer .density-switch {margin-left:auto;flex:0 0 auto;}
 body.nimbus-explorer .density-switch button {min-height:40px;font-size:10px;padding:0 6px;}
 body.nimbus-explorer .world-stage-top {top:99px;left:9px;right:9px;}
 body.nimbus-explorer .world-stage-top .world-stage-tag {font-size:8px;padding:4px 6px;}
 body.nimbus-explorer .world-stage-bottom {bottom:7px;left:10px;right:10px;max-width:calc(100% - 20px);font-size:9px;}
 body.nimbus-explorer .world-layer-panel {top:141px;left:8px;right:8px;width:auto;max-height:calc(100% - 155px);}
 body.nimbus-explorer .world-sidebar {top:141px;bottom:8px;left:8px;right:8px;width:auto;max-height:calc(100% - 150px);}
 body.nimbus-explorer .globe-zoom {top:154px;right:9px;}
 body.nimbus-explorer .world-grid:has(.world-sidebar:not([hidden])) .globe-zoom {right:9px;top:auto;bottom:21px;}
 body.nimbus-explorer .world-grid:has(.world-layer-panel:not([hidden])) .globe-zoom {right:9px;top:auto;bottom:21px;}
 body.nimbus-explorer .globe-zoom button {min-width:42px;height:42px;}
 body.nimbus-explorer .world-map-attribution {bottom:9px;left:9px;right:auto;max-width:75%;}
}
@media(max-width:370px){body.nimbus-explorer .world-panel-button {padding:0 6px;font-size:10px;}body.nimbus-explorer .density-switch button {padding:0 4px;font-size:9px;}body.nimbus-explorer .aircraft-shortcut span {font-size:10px;}}

/* Mobile globe controls must remain operable even with an intelligence panel open. */
body.nimbus-explorer .world-map-attribution {z-index:11;}
@media(max-width:700px){
 body.nimbus-explorer .globe-zoom,body.nimbus-explorer .world-grid:has(.world-sidebar:not([hidden])) .globe-zoom,body.nimbus-explorer .world-grid:has(.world-layer-panel:not([hidden])) .globe-zoom {display:flex;align-items:center;justify-content:flex-end;gap:4px;position:absolute;top:142px;left:8px;right:8px;bottom:auto;z-index:12;}
 body.nimbus-explorer .globe-zoom button {width:auto;min-width:41px;height:40px;padding:0 7px;flex:0 0 auto;}
 body.nimbus-explorer .globe-zoom #view-mode {font-size:10px;padding:0 7px;}
 body.nimbus-explorer .globe-zoom #zoom-readout {font-size:9px;padding:5px 4px;white-space:nowrap;}
 body.nimbus-explorer .world-layer-panel {top:193px;max-height:calc(100% - 204px);}
 body.nimbus-explorer .world-sidebar {top:193px;max-height:calc(100% - 204px);}
 body.nimbus-explorer .world-map-attribution {bottom:4px;left:7px;right:auto;max-width:calc(100% - 14px);font-size:9px;padding:3px 5px;}
}
@media(max-width:370px){body.nimbus-explorer .globe-zoom{gap:2px;}body.nimbus-explorer .globe-zoom button{min-width:38px;padding:0 4px;}body.nimbus-explorer .globe-zoom #view-mode{padding:0 4px;font-size:9px;}}

/* Compact selected aircraft information; optional metadata stays one tap away. */
body.nimbus-explorer .aircraft-callsign {font-size:21px;margin:5px 0 3px;letter-spacing:.02em;}
body.nimbus-explorer .aircraft-last-received {font-size:11px;margin:2px 0 9px;color:#aed2df;}
body.nimbus-explorer .aircraft-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
body.nimbus-explorer .aircraft-stats div {display:grid;gap:4px;padding:8px 5px;background:rgba(31,99,113,.2);border:1px solid rgba(103,218,211,.11);border-radius:8px;}
body.nimbus-explorer .aircraft-stats span {font-size:9px;color:#a3c6cd;}
body.nimbus-explorer .aircraft-stats strong {font-size:12px;white-space:nowrap;}
body.nimbus-explorer .aircraft-more {border-top:1px solid rgba(148,194,215,.12);margin-top:10px;padding-top:8px;font-size:11px;}
body.nimbus-explorer .aircraft-more summary {cursor:pointer;color:#a5dce7;min-height:29px;}
body.nimbus-explorer .world-aircraft-contact>.world-muted {font-size:10px;line-height:1.35;margin:8px 0 0;}
@media(max-width:700px){body.nimbus-explorer .world-sidebar{top:auto;bottom:29px;max-height:min(43dvh,380px);}body.nimbus-explorer .world-layer-panel{top:193px;max-height:min(65dvh,530px);}body.nimbus-explorer .globe-zoom{z-index:13;}}
