/* Golden Era · Earth. Scene first; one task panel at a time. */
.earth-explorer {
  --earth-header:64px; --earth-gutter:24px; --earth-panel-width:344px;
  --earth-panel-bg:#111714; --earth-line:#d9dece24; --earth-muted:#aeb7ae;
  display:block; width:100%; height:100dvh; min-height:0; overflow:hidden;
  background:#030706; color:var(--text,#f1f0e7); isolation:isolate;
  font-family:var(--font-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
}
.earth-explorer [hidden] { display:none!important; }
.earth-explorer > .star-field { display:none; }
.earth-explorer :is(button,input,select) { font:inherit; }
.earth-explorer button,.earth-explorer summary { cursor:pointer; -webkit-tap-highlight-color:transparent; }
.earth-explorer :is(button,select):disabled { opacity:.5; cursor:wait; }
.earth-explorer :is(button,a,input,summary,select):focus-visible { outline:2px solid var(--accent,#d8bc83); outline-offset:3px; }
.earth-explorer svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.earth-explorer summary { min-height:44px; align-content:center; font-size:13px; color:#e4e5dc; }
.earth-explorer .earth-topbar {
  position:absolute; inset:0 0 auto; z-index:30; display:flex; align-items:center; justify-content:space-between;
  gap:16px; height:var(--earth-header); min-height:var(--earth-header); padding:0 24px;
  background:#0b100ee8; border-bottom:1px solid var(--earth-line); backdrop-filter:none;
}
.earth-explorer .earth-topbar .brand-lockup { gap:16px; }
.earth-explorer .earth-topbar :is(.nav-btn,.back-btn) { display:inline-flex; align-items:center; min-height:44px; padding:0 12px; border:0; color:#c5cdc3; background:transparent; font-size:13px; }
.earth-explorer .earth-topbar :is(.nav-btn,.back-btn):hover { color:var(--accent); background:#ffffff08; }
.earth-explorer .earth-topbar .top-actions { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
.earth-explorer .earth-topbar .login-trigger { width:44px; height:44px; min-height:44px; box-shadow:none; }
.earth-explorer .earth-wordmark { margin:0; color:#eceee4; font-family:var(--display,Georgia,serif); font-size:21px; font-weight:400; letter-spacing:-.025em; }
.earth-explorer .earth-wordmark span { margin-left:12px; color:#99a597; font-family:var(--font-ui); font-size:12px; letter-spacing:.02em; }
.earth-explorer .earth-viewport { position:absolute; inset:var(--earth-header) 0 0; z-index:0; width:100%; height:calc(100% - var(--earth-header)); overflow:hidden; background:#030706; touch-action:none; }
.earth-explorer .earth-viewport :is(.cesium-viewer,.cesium-viewer-cesiumWidgetContainer,.cesium-widget) { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
.earth-explorer .earth-viewport canvas { display:block; width:100%; height:100%; outline:0; }
.earth-explorer .earth-viewport:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
/* Search stays available when the optional exploration content is closed. */
.earth-explorer :is(.earth-panel,.earth-location-panel,.earth-popover,.earth-observation-bar) { position:absolute; border:1px solid var(--earth-line); border-radius:12px; color:#eceee4; background:var(--earth-panel-bg); box-shadow:0 8px 32px #0003; }
.earth-explorer .earth-panel { top:calc(var(--earth-header) + var(--earth-gutter)); left:var(--earth-gutter); z-index:15; width:var(--earth-panel-width); max-width:calc(100% - 2 * var(--earth-gutter)); overflow:hidden; }
.earth-explorer .earth-panel-header { display:flex; align-items:center; gap:4px; min-height:48px; padding:4px 8px 0 12px; }
.earth-explorer .earth-panel-tabs { display:flex; flex:1; min-width:0; gap:4px; }
.earth-explorer .earth-panel-tabs button { min-height:44px; padding:8px 12px; color:#aeb7ae; background:none; border:0; border-radius:8px; font-size:13px; }
.earth-explorer .earth-panel-tabs button[aria-selected="true"] { color:var(--accent); }
.earth-explorer .earth-panel-tabs button:hover { color:#fff; background:#ffffff06; }
.earth-explorer #earthPanelToggle { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; color:#c9cfbf; background:none; border:0; border-radius:8px; font-size:12px; }
.earth-explorer #earthPanelToggle::after { content:""; width:6px; height:6px; border-right:1px solid; border-bottom:1px solid; transform:rotate(45deg); margin-top:-3px; }
.earth-explorer #earthPanelToggle[aria-expanded="true"]::after { transform:rotate(225deg); margin-top:4px; }
.earth-explorer .earth-panel-body { max-height:calc(100dvh - var(--earth-header) - 2 * var(--earth-gutter) - 160px); padding:0 12px 12px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#626e5d transparent; }
.earth-explorer[data-panel="collapsed"] .earth-browse-content,.earth-explorer[data-panel="collapsed"] .earth-web-panel > :not(form) { display:none; }
.earth-explorer .earth-place-form { display:flex; gap:4px; align-items:center; min-height:50px; padding:4px; border:1px solid #d1d9c533; border-radius:8px; background:#080e0b; }
.earth-explorer .earth-place-form:focus-within { border-color:var(--accent); }
.earth-explorer .earth-place-form input { flex:1; width:0; min-width:0; min-height:44px; padding:4px 8px; border:0; outline:0; border-radius:4px; background:transparent; color:#f0f0e5; font-size:14px; }
.earth-explorer input::placeholder { color:#929e90; opacity:1; }
.earth-explorer .earth-place-form button { min-height:44px; padding:8px 12px; border:0; border-radius:5px; background:var(--accent,#d8bc83); color:#171c14; font-size:13px; font-weight:600; }
.earth-explorer .earth-browse-content { padding:4px 4px 0; }
.earth-explorer .earth-place-status { margin:12px 0 4px; color:var(--earth-muted); font-size:12px; line-height:1.6; }
.earth-explorer .earth-place-results { display:grid; gap:4px; }
.earth-explorer .earth-place-result { display:grid; gap:4px; min-height:56px; padding:12px; text-align:left; border:0; border-bottom:1px solid var(--earth-line); border-radius:6px; background:transparent; color:#f0f0e7; }
.earth-explorer .earth-place-result:hover { background:#ffffff08; }
.earth-explorer .earth-place-result strong { font-size:14px; font-weight:500; }
.earth-explorer .earth-place-result span { font-size:12px; color:var(--earth-muted); }
.earth-explorer :is(.earth-destinations,.earth-guided-views,.earth-ecosystems) { margin-top:12px; padding-top:4px; border-top:1px solid var(--earth-line); }
.earth-explorer :is(.earth-region-grid,.earth-destination-grid) { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:8px 0; }
.earth-explorer :is(.earth-region-grid,.earth-destination-grid) button { min-height:44px; padding:10px 8px; border:0; border-radius:6px; background:#ffffff04; text-align:left; color:#d8dfd1; font-size:13px; }
.earth-explorer :is(.earth-region-grid,.earth-destination-grid) button:hover { background:#d8bc8314; color:var(--accent); }
.earth-explorer .earth-destination-grid button { display:grid; gap:4px; min-height:60px; }
.earth-explorer .earth-destination-grid small { font-size:12px; color:var(--earth-muted); }
.earth-explorer .earth-guide { padding:8px 0; }
.earth-explorer .earth-guide > label { display:block; margin-bottom:8px; color:var(--earth-muted); font-size:12px; }
.earth-explorer select { width:100%; min-height:44px; padding:8px 28px 8px 10px; border:1px solid #d1d9c533; border-radius:8px; color:#eeeede; background:#0b120e; font-size:14px; }
.earth-explorer .earth-guide-mode { margin:16px 0 8px; font-size:12px; color:var(--accent); }
.earth-explorer #earthGuideTitle { margin:8px 0; font-family:var(--display,Georgia,serif); font-size:24px; font-weight:400; line-height:1.2; }
.earth-explorer #earthGuideDescription { margin:8px 0; font-size:14px; line-height:1.65; color:var(--earth-muted); }
.earth-explorer .earth-observation-sources { margin-top:12px; font-size:12px; line-height:1.6; }
.earth-explorer .earth-observation-sources a { color:var(--accent); }
.earth-explorer .earth-restore { display:block; width:calc(100% - 24px); min-height:44px; margin:0 12px 12px; border:1px solid #d8bc8340; border-radius:8px; color:var(--accent); background:transparent; font-size:13px; text-align:center; }
/* Altitude is an immediately available action, separate from advanced controls. */
.earth-explorer .earth-observation-bar { left:var(--earth-gutter); bottom:calc(var(--earth-footer-height,52px) + 16px); z-index:10; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; width:var(--earth-panel-width); max-width:calc(100% - 2 * var(--earth-gutter)); padding:16px; }
.earth-explorer .earth-altitude-control { display:contents; }
.earth-explorer .earth-altitude-control > label { grid-column:1; grid-row:1; color:#d5ddcd; font-size:13px; }
.earth-explorer #earthAltitudeRange { grid-column:1; grid-row:2; width:100%; min-height:44px; margin:0; padding:0; accent-color:var(--accent); cursor:ew-resize; }
.earth-explorer .earth-altitude-input { grid-column:2; grid-row:1; display:flex; align-items:center; gap:4px; font-size:12px; color:var(--earth-muted); }
.earth-explorer #earthAltitudeKm { width:100px; min-height:44px; padding:4px 6px; border:0; border-bottom:1px solid #d1d9c533; border-radius:0; background:transparent; text-align:right; color:#f0f0e7; font-size:16px; font-variant-numeric:tabular-nums; }
.earth-explorer .earth-altitude-scale { display:none; }
.earth-explorer #earthViewToggle { grid-column:2; grid-row:2; display:flex; align-items:center; justify-content:space-between; gap:8px; width:auto; min-height:44px; margin:0; padding:8px; border:0; background:none; color:#dedfce; font-size:12px; }
.earth-explorer #earthViewToggle:hover { color:var(--accent); }
.earth-explorer .earth-altitude-status { grid-column:1/-1; margin:4px 0 0; font-size:12px; line-height:1.5; color:var(--earth-muted); }
.earth-explorer .earth-altitude-status[data-state="ready"] { display:none; }
.earth-explorer .earth-altitude-status[data-state="error"] { color:#efba9b; }
/* Context stays quiet until a place is selected. */
.earth-explorer .earth-location-panel { z-index:9; left:var(--earth-gutter); top:calc(var(--earth-header) + 156px); width:var(--earth-panel-width); max-height:calc(100dvh - var(--earth-header) - 390px); padding:16px; overflow:auto; scrollbar-width:thin; }
.earth-explorer[data-panel="expanded"] .earth-location-panel { visibility:hidden; pointer-events:none; }
.earth-explorer .earth-eyebrow { margin:0 0 8px; color:var(--earth-muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.earth-explorer #earthLocationName { margin:0 0 4px; font-family:var(--display,Georgia,serif); font-size:24px; font-weight:400; line-height:1.25; overflow-wrap:anywhere; }
.earth-explorer .earth-location-details { border-top:1px solid var(--earth-line); margin-top:12px; }
.earth-explorer .earth-location-coordinates { font-size:13px; font-variant-numeric:tabular-nums; color:var(--accent); user-select:text; }
.earth-explorer .earth-location-meta { color:var(--earth-muted); font-size:13px; line-height:1.6; }
.earth-explorer .earth-location-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.earth-explorer .earth-location-actions button { min-height:44px; padding:8px 10px; border:1px solid var(--earth-line); border-radius:8px; background:none; color:#dedfce; font-size:12px; }
.earth-explorer .earth-related-resources { display:grid; gap:8px; margin-top:12px; }
.earth-explorer .earth-related-resources button { min-height:44px; padding:8px; border:0; border-radius:6px; background:#ffffff06; color:var(--accent); text-align:left; font-size:13px; }
/* Camera navigation, zoom and display are separate groups. */
.earth-explorer .earth-controls { position:absolute; right:var(--earth-gutter); bottom:calc(var(--earth-footer-height,52px) + 16px); z-index:18; display:flex; flex-direction:column; gap:12px; width:48px; }
.earth-explorer .earth-tool-group { display:flex; flex-direction:column; padding:1px; border:1px solid var(--earth-line); border-radius:10px; background:var(--earth-panel-bg); }
.earth-explorer .earth-control { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:10px; border:0; border-radius:8px; background:transparent; color:#d5ddcd; }
.earth-explorer .earth-control:hover { color:var(--accent); background:#ffffff08; }
.earth-explorer .earth-control[aria-pressed="true"],.earth-explorer .earth-control[aria-expanded="true"] { background:#d8bc8314; color:var(--accent); }
.earth-explorer #earthNorth svg { transform:rotate(var(--earth-heading,0rad)); }
.earth-explorer .earth-tools-menu { position:relative; margin:0; border:1px solid var(--earth-line); border-radius:10px; background:var(--earth-panel-bg); }
.earth-explorer .earth-tools-menu > summary { display:grid; place-items:center; width:44px; height:44px; padding:10px; list-style:none; }
.earth-explorer .earth-tools-menu > summary::-webkit-details-marker { display:none; }
.earth-explorer .earth-more-tools { position:absolute; right:calc(100% + 8px); bottom:-1px; display:flex; padding:2px; border:1px solid var(--earth-line); border-radius:10px; background:#111714; }
.earth-explorer .earth-more-tools .earth-control { flex:none; }
/* View, layers and help occupy one shared, dismissible panel position. */
.earth-explorer .earth-popover { z-index:22; left:var(--earth-gutter); top:calc(var(--earth-header) + var(--earth-gutter)); width:368px; max-width:calc(100% - 2 * var(--earth-gutter)); max-height:calc(100dvh - var(--earth-header) - var(--earth-footer-height,52px) - 2 * var(--earth-gutter)); padding:20px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.earth-explorer .earth-popover-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.earth-explorer .earth-popover-head h2 { margin:0; font-family:var(--display,Georgia,serif); font-size:27px; font-weight:400; line-height:1.2; }
.earth-explorer .earth-popover-head > button { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; border-radius:8px; color:#d5ddcd; background:transparent; font-size:24px; }
.earth-explorer .earth-popover p { color:var(--earth-muted); font-size:13px; line-height:1.65; }
.earth-explorer .earth-observer-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; }
.earth-explorer .earth-observer-grid label { display:grid; gap:8px; align-content:start; color:var(--earth-muted); font-size:12px; }
.earth-explorer .earth-popover .compact-btn { min-height:44px; padding:8px 12px; margin:16px 0 8px; border:1px solid var(--earth-line); border-radius:8px; color:#d5ddcd; background:none; font-size:13px; }
.earth-explorer .earth-technical-details { margin-top:8px; padding-top:8px; border-top:1px solid var(--earth-line); }
.earth-explorer .earth-popover a { color:var(--accent); }
.earth-explorer .earth-layers-panel > label { display:flex; align-items:center; gap:12px; min-height:52px; color:#d5ddcd; font-size:14px; }
.earth-explorer .earth-layers-panel input { width:18px; height:18px; accent-color:var(--accent); }
.earth-explorer .earth-layers-panel small { margin-left:8px; color:var(--earth-muted); font-size:12px; }
.earth-explorer .earth-layers-panel > .earth-quality-label { margin-top:16px; min-height:32px; font-size:12px; color:var(--earth-muted); }
.earth-explorer .earth-help-panel dl { margin:0; }
.earth-explorer .earth-help-panel dt { margin:16px 0 8px; font-size:14px; color:#d5ddcd; }
.earth-explorer .earth-help-panel dd { margin:0; font-size:14px; line-height:1.65; color:var(--earth-muted); }
/* Status is useful context; credits remain readable and accessible. */
.earth-explorer .earth-statusbar { position:absolute; inset:auto 0 0; z-index:8; display:grid; grid-template-columns:1fr auto; gap:4px 24px; width:100%; padding:8px 24px; color:#aab7a1; background:#030706d9; font-size:10px; line-height:1.6; pointer-events:none; }
.earth-explorer #earthCameraStatus { font-variant-numeric:tabular-nums; }
.earth-explorer #earthTimeBadge { grid-column:1; grid-row:1; text-align:left; font-size:12px; font-variant-numeric:tabular-nums; }
.earth-explorer #earthTimeBadge[data-mode="demo"] { color:var(--accent); font-weight:600; }
.earth-explorer #earthTileStatus { grid-column:1/-1; grid-row:2; font-size:12px; }
.earth-explorer #earthTileStatus[data-state="ready"] { display:none; }
.earth-explorer #earthTileStatus[data-state="error"] { color:#efba9b; }
.earth-explorer #earthCredits { grid-column:2; grid-row:1; min-width:0; text-align:right; pointer-events:auto; }
.earth-explorer #earthCredits :is(a,button) { color:#c3ccb9; font:inherit; text-underline-offset:2px; }
.earth-explorer #earthCredits .cesium-widget-credits { position:static; display:inline; font:inherit; color:inherit; }
.earth-explorer #earthCredits .cesium-credit-textContainer { display:inline; }
.earth-explorer #earthCredits .cesium-credit-logoContainer { display:inline-flex; vertical-align:middle; }
.earth-explorer #earthCredits img { width:auto; height:auto; max-width:85px; max-height:15px; vertical-align:middle; }
.earth-explorer #earthImageryRetry { grid-column:1; grid-row:3; justify-self:start; min-height:36px; padding:4px 10px; border:1px solid var(--earth-line); border-radius:8px; background:#111714; color:var(--accent); pointer-events:auto; font-size:12px; }
.earth-explorer .earth-loading { position:absolute; top:50%; left:50%; z-index:25; width:310px; max-width:calc(100% - 48px); padding:24px; transform:translate(-50%,-50%); border:1px solid var(--earth-line); border-radius:12px; background:#111714f5; color:#e2e5d9; text-align:center; font-size:14px; line-height:1.7; pointer-events:none; }
.earth-explorer .earth-loading[data-state="error"] { border-color:#eab69b77; pointer-events:auto; }
.earth-explorer .earth-loading p { margin:0; }
.earth-explorer .earth-loading button { min-height:44px; margin-top:16px; padding:8px 16px; border:1px solid var(--earth-line); border-radius:8px; color:var(--accent); background:none; font-size:14px; }
.earth-explorer .earth-loading-indicator { display:block; width:6px; height:6px; margin:0 auto 12px; border-radius:50%; background:var(--accent); }
/* Open-web search reuses the site's actual search and catalog events. */
.earth-explorer .earth-web-panel { padding:8px 4px; }
.earth-explorer .earth-web-panel .earth-panel-title { margin:8px 0 20px; font-family:var(--display,Georgia,serif); font-size:28px; font-weight:400; line-height:1.2; }
.earth-explorer .earth-web-search { display:flex; gap:4px; width:100%; padding:4px; border:1px solid var(--earth-line); border-radius:8px; background:#080e0b; }
.earth-explorer .earth-web-search input { flex:1; width:0; min-width:0; min-height:44px; padding:8px; border:0; background:none; color:#f0f0e7; font-size:14px; }
.earth-explorer .earth-web-search button { min-height:44px; padding:8px 12px; border:0; border-radius:5px; color:#171c14; background:var(--accent); font-size:13px; }
.earth-explorer .search-scope-bar { display:flex; flex-wrap:wrap; gap:4px; margin:12px 0; }
.earth-explorer .scope-btn { min-height:44px; padding:8px; border:1px solid var(--earth-line); border-radius:6px; color:#aeb7ae; background:none; font-size:12px; }
.earth-explorer .scope-btn.is-selected { color:var(--accent); border-color:#d8bc8366; }
.earth-explorer :is(.region-rail,.cloud-rail) { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:8px 0; }
.earth-explorer :is(.region,.cloud) { width:auto; min-height:44px; padding:8px; border:0; border-radius:6px; background:#ffffff06; color:#c6d0bf; font-size:12px; }
.earth-explorer .earth-engine-panel { margin-top:20px; }
.earth-explorer .engine-kicker { font-size:12px; color:var(--earth-muted); letter-spacing:.08em; }
.earth-explorer .engine-title { margin:8px 0; font-family:var(--display,Georgia,serif); font-size:24px; }
.earth-explorer .engine-subtitle,.earth-explorer .search-message { font-size:13px; line-height:1.65; color:var(--earth-muted); }
.earth-explorer .engine-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.earth-explorer .engine-card { min-height:72px; padding:10px; border:1px solid var(--earth-line); border-radius:8px; background:none; box-shadow:none; }
.earth-explorer .engine-card::before,.earth-explorer .engine-card::after { display:none; }
.earth-explorer .engine-card.is-selected { border-color:#d8bc8366; }
.earth-explorer .engine-icon { width:28px; height:28px; background:#d8bc831a; color:var(--accent); box-shadow:none; }
.earth-explorer .engine-name { color:#d5ddcd; font-size:13px; }
.earth-explorer .engine-scope { color:var(--earth-muted); font-size:12px; }
@media(min-width:1800px) { .earth-explorer { --earth-gutter:32px; } }
@media(max-width:1000px) { .earth-explorer { --earth-gutter:16px; --earth-panel-width:320px; } .earth-explorer .earth-statusbar { grid-template-columns:1fr; padding:6px 16px; gap:2px; } .earth-explorer #earthTimeBadge { grid-column:1;grid-row:1;text-align:left; } .earth-explorer #earthTileStatus { grid-row:3; } .earth-explorer #earthCredits { grid-column:1;grid-row:2;text-align:left; } .earth-explorer #earthImageryRetry { grid-row:4; } }
@media(max-width:700px) {
 .earth-explorer { --earth-header:60px; --earth-gutter:12px; --earth-panel-width:calc(100% - 24px); }
 .earth-explorer .earth-topbar { gap:8px; padding:0 12px; }
 .earth-explorer .earth-topbar .brand-lockup { gap:4px; }
 .earth-explorer .earth-topbar :is(.nav-btn,.back-btn) { padding:0 8px; font-size:12px; }
 .earth-explorer .earth-wordmark { font-size:18px; }
 .earth-explorer .earth-wordmark span { display:none; }
 .earth-explorer .earth-topbar .top-actions { gap:4px; }
 .earth-explorer .earth-topbar .login-trigger { width:44px; min-width:44px; }
 .earth-explorer .earth-panel { top:72px; }
 .earth-explorer .earth-panel-header { min-height:44px; padding-top:0; }
 .earth-explorer .earth-panel-body { max-height:max(100px,calc(100dvh - 390px)); padding-bottom:10px; }
 .earth-explorer .earth-place-form input,.earth-explorer select,.earth-explorer .earth-web-search input { font-size:16px; }
 .earth-explorer .earth-viewport { bottom:140px; height:calc(100% - var(--earth-header) - 140px); }
 .earth-explorer .earth-observation-bar { bottom:calc(var(--earth-footer-height,84px) + 72px); padding:12px; }
 .earth-explorer .earth-altitude-control { gap:4px 8px; }
 .earth-explorer .earth-altitude-scale { display:none; }
 .earth-explorer #earthViewToggle { position:static; width:auto; min-height:44px; margin:0; padding:8px; border:0; gap:8px; font-size:12px; }
 .earth-explorer #earthViewToggle svg { width:16px; }
 .earth-explorer .earth-altitude-status { max-width:100%; margin:4px 0; font-size:12px; }
 .earth-explorer .earth-controls { right:12px; bottom:calc(var(--earth-footer-height,84px) + 12px); flex-direction:row; gap:8px; width:auto; }
 .earth-explorer .earth-tool-group { flex-direction:row; }
 .earth-explorer .earth-more-tools { bottom:calc(100% + 8px); right:0; }
 .earth-explorer .earth-location-panel { top:calc(var(--earth-header) + 136px); padding:12px 16px; max-height:max(100px,calc(100dvh - 460px)); }
 .earth-explorer .earth-location-panel .earth-eyebrow { display:none; }
 .earth-explorer #earthLocationName { font-size:22px; }
 .earth-explorer .earth-location-details { margin-top:8px; }
 .earth-explorer .earth-popover { top:72px; padding:16px; max-height:calc(100dvh - var(--earth-footer-height,84px) - 156px); width:calc(100% - 24px); }
 .earth-explorer .earth-popover-head { margin-bottom:12px; }
 .earth-explorer .earth-popover-head h2 { font-size:25px; }
 .earth-explorer .earth-statusbar { padding:6px 12px max(6px,env(safe-area-inset-bottom)); font-size:9px; }
 .earth-explorer .earth-loading { top:43%; }
}
@media(max-height:620px) and (min-width:701px) {
 .earth-explorer .earth-panel-body { max-height:calc(100dvh - 220px); }
 .earth-explorer .earth-observation-bar { padding:8px 12px; }
 .earth-explorer .earth-altitude-scale { display:none; }
 .earth-explorer .earth-controls { flex-direction:row; width:auto; }
 .earth-explorer .earth-tool-group { flex-direction:row; }
 .earth-explorer .earth-location-panel { left:auto; right:76px; top:calc(var(--earth-header) + 16px); max-height:calc(100dvh - 220px); width:280px; }
}
@media(max-height:500px) and (max-width:700px) {
 .earth-explorer { --earth-header:52px; --earth-panel-width:300px; }
 .earth-explorer .earth-panel { top:64px; }
 .earth-explorer .earth-panel-body { max-height:max(100px,calc(100dvh - 208px)); }
 .earth-explorer .earth-panel-body { padding:0 8px; }
 .earth-explorer .earth-place-form { min-height:46px; padding:0; }
 .earth-explorer .earth-viewport { left:312px; top:52px; bottom:0; width:calc(100% - 312px); height:calc(100% - 52px); }
 .earth-explorer .earth-observation-bar { bottom:calc(var(--earth-footer-height,48px) + 12px); gap:0 12px; padding:4px 12px; }
 .earth-explorer .earth-altitude-status { margin:0; }
 .earth-explorer[data-panel="expanded"] .earth-observation-bar { visibility:hidden; pointer-events:none; }
 .earth-explorer .earth-location-panel { left:auto; right:12px; top:64px; max-height:max(100px,calc(100dvh - 208px)); width:300px; }
 .earth-explorer .earth-popover { top:64px; width:368px; max-height:max(120px,calc(100dvh - var(--earth-footer-height,48px) - 80px)); }
 .earth-explorer .earth-statusbar { grid-template-columns:1fr auto; }
 .earth-explorer #earthTimeBadge { grid-column:1; grid-row:1; }
 .earth-explorer #earthCredits { grid-column:2; grid-row:1; max-width:340px; }
 .earth-explorer #earthTileStatus { grid-column:1/-1; grid-row:2; }
 .earth-explorer #earthImageryRetry { grid-row:3; }
}
@media(prefers-reduced-motion:no-preference) {
 .earth-explorer :is(.earth-control,.earth-restore,.earth-place-result,.earth-panel-tabs button) { transition:background-color 140ms ease-out,color 140ms ease-out,border-color 140ms ease-out; }
 .earth-explorer .earth-control:active { background:#d8bc8324; }
}
