.planetarium {
  --pt-text:#e8edf8;
  --pt-muted:#93a1b8;
  --pt-line:#ffffff13;
  --pt-accent:#aedfcf;
  background:#080e1a;
  color:var(--pt-text);
  padding:0 0 28px;
  font-family:Inter,system-ui,sans-serif;
  border-radius:0;
  margin:0;
  width:100%;
  max-width:none;
  color-scheme:dark;
}

.planetarium * {
  box-sizing:border-box;
}


.pt-eyebrow {
  font-size:10px;
  letter-spacing:2px;
  color:var(--pt-muted);
  font-weight:600;
}






.pt-workspace {
  overflow:hidden;
  display:block;
  background:#101827;
}

.pt-observatory {
  position:relative;
  height:clamp(480px, 72vh, 900px);
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 50%,#111c31,#080f1d 75%);
}

.pt-observatory canvas {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  touch-action:none;
  cursor:grab;
  outline-offset:-3px;
}

.pt-observatory canvas:active {
  cursor:grabbing;
}

.pt-content-shell {
  width:100%;
  max-width:var(--chat-bubble-container-width);
  margin-left:auto;
  margin-right:auto;
}

.pt-map-heading {
  position:absolute;
  top:24px;
  left:28px;
  right:28px;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:start;
  pointer-events:none;
}

.pt-map-heading h2 {
  font-size:16px;
  font-weight:500;
  margin:4px 0;
  max-width:320px;
  text-shadow:0 1px 12px #000;
}

.pt-badge {
  border:1px solid #ffffff24;
  border-radius:20px;
  padding:5px 10px;
  font-size:10px;
  background:#111d2bbd;
  white-space:nowrap;
  color:#d2e3ed;
}

.pt-map-bottom {
  position:absolute;
  bottom:22px;
  left:28px;
  right:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
  color:#9cabbe;
  font-size:9px;
  letter-spacing:1.4px;
}

.pt-map-bottom small {
  font-size:10px;
  letter-spacing:0;
  color:#778ba7;
  display:inline-block;
  margin-top:7px;
}

.planetarium button {
  cursor:pointer;
  transition:background .15s,color .15s;
}

.planetarium button:hover {
  background:#25394c;
  color:white;
}

.planetarium :focus-visible {
  outline:2px solid var(--pt-accent);
  outline-offset:3px;
}

.pt-sidebar {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  border-top:1px solid var(--pt-line);
  background:#101827;
}

.pt-panel {
  padding:22px;
  border-bottom:1px solid var(--pt-line);
}

.pt-panel:last-child {
  border:0;
}

.pt-panel h2 {
  font-size:12px;
  font-weight:600;
  margin:0 0 17px;
}

.pt-panel h2>span {
  font-size:9px;
  color:#6d819a;
  margin-right:9px;
  letter-spacing:1px;
}

.pt-panel label {
  font-size:10px;
  color:var(--pt-muted);
  display:block;
}

.planetarium input:not([type=checkbox]):not([type=range]):not(.search-input):not(.pt-search-input),.planetarium select {
  background:#080f1c;
  border:1px solid #ffffff20;
  border-radius:6px;
  font:inherit;
  color:var(--pt-text);
  padding:10px;
  width:100%;
  margin-top:7px;
  min-width:0;
}

.pt-location-button {
  font-size:11px;
  background:transparent;
  color:var(--pt-accent);
  border:0;
  padding:11px 0 2px;
}

.pt-coordinates {
  font-size:10px;
  color:#7d8ca2;
  font-variant-numeric:tabular-nums;
  margin:8px 0;
}

.pt-status {
  font-size:11px;
  color:#eacba4;
  line-height:1.5;
  margin:0;
}

.pt-status:not(:empty) {
  margin-top:9px;
}

.planetarium summary {
  cursor:pointer;
}

.pt-results button {
  display:block;
  width:100%;
  background:#17263a;
  border:1px solid #ffffff18;
  text-align:left;
  font-size:11px;
  padding:10px;
  color:#d9e6f6;
  line-height:1.5;
}

.pt-results {
  margin-top:6px;
  max-height:195px;
  overflow:auto;
}











.pt-explore select {
  font-size:11px;
  margin-bottom:16px;
}

.pt-object {
  padding:16px;
  border:1px solid #b4cfec18;
  border-radius:8px;
  background:linear-gradient(125deg,#1b2a3e,#131d2c);
  min-height:122px;
}

.pt-object h3 {
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:normal;
  margin:7px 0;
}

.pt-object p {
  font-size:11px;
  line-height:1.7;
  color:#9cabc1;
  margin:4px 0;
}

.pt-object .pt-eyebrow {
  font-size:8px;
  letter-spacing:1.5px;
  color:#afdccc;
}

.pt-visible {
  font-size:10px;
  color:#8394ac;
  margin-top:12px;
  line-height:1.6;
}

.pt-time {
  grid-column:1/-1;
  border-top:1px solid var(--pt-line);
  padding:23px 28px;
  display:flex;
  gap:32px;
  align-items:center;
  background:#101827;
}

.pt-time-controls {
  flex:1;
}

.pt-presets {
  display:flex;
  gap:7px;
}

.pt-presets button {
  background:#1a2638;
  color:#b9c7dc;
  border:1px solid #ffffff10;
  padding:7px 14px;
  border-radius:6px;
  font-size:11px;
  white-space:nowrap;
}

.pt-presets button[aria-pressed=true] {
  background:#1b302e;
  border-color:#39564e;
  color:#a2beb4;
}

.pt-scrubber {
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:15px;
  font-size:9px;
  color:#7e90aa;
}

.pt-scrubber input {
  width:100%;
  accent-color:var(--pt-accent);
  cursor:pointer;
}



.pt-footnote {
  display:flex;
  justify-content:space-between;
  gap:40px;
  font-size:10px;
  line-height:1.8;
  color:#7e8ea5;
  margin-top:20px;
}

.pt-footnote>p {
  max-width:660px;
  margin:0;
}

.pt-footnote strong {
  color:#afbdd0;
  font-weight:500;
}

.pt-footnote details {
  max-width:350px;
}

.pt-footnote a {
  text-decoration:underline;
}

.pt-loading {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:#0c1423e6;
  border:1px solid #ffffff25;
  border-radius:10px;
  padding:18px;
  color:#b8d8df;
  font-size:13px;
  text-align:center;
  max-width:80%;
}

.pt-loading[hidden] {
  display:none;
}


@media(max-width:1000px) {
  .planetarium {
    padding:0 0 24px;
  }
  .pt-panel {
    padding:18px;
  }
  .pt-time {
    gap:18px;
    flex-wrap:wrap;
  }
  .pt-map-heading {
    left:18px;
    right:18px;
  }
  .pt-map-heading h2 {
    max-width:180px;
  }
  .pt-badge {
    font-size:9px;
  }
  .pt-map-bottom {
    left:18px;
  }
  .pt-map-bottom>span {
    max-width:180px;
    line-height:1.6;
  }
}

@media(max-width:700px) {
  .planetarium {
    margin:0;
    border-radius:0;
    padding:0 0 22px;
  }
  .pt-observatory {
    height:65svh;
    min-height:420px;
  }
  .pt-sidebar {
    border-left:0;
    border-top:1px solid var(--pt-line);
    display:grid;
    grid-template-columns:1fr;
  }
  .pt-panel {
    padding:18px 14px;
  }
  .pt-time {
    padding:20px 16px;
    gap:20px;
  }
  .pt-time-controls {
    flex-basis:100%;
    order:3;
  }
  .pt-presets button {
    flex:1;
    padding:8px 9px;
  }
  .pt-footnote {
    display:block;
  }
  .pt-footnote details {
    margin-top:12px;
    max-width:none;
  }
  .pt-map-heading h2 {
    max-width:210px;
  }
  .pt-map-bottom small {
    font-size:9px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .planetarium * {
    transition:none!important;
  }
}



.pt-map-bottom > span {
  max-width: 48%;
  line-height: 1.7;
}
@media (max-width: 700px) {
  .pt-map-bottom > span { max-width: 44%; font-size: 8px; }
}

.pt-map-bottom {
  text-shadow: 0 1px 5px #000, 0 0 10px #000;
}
.pt-map-heading {
  text-shadow: 0 1px 8px #000;
}

.pt-footnote {
  margin-left:clamp(16px, 4vw, 64px);
  margin-right:clamp(16px, 4vw, 64px);
}
.pt-content-shell.pt-footnote {
  margin-left:auto;
  margin-right:auto;
}
.pt-content-shell .pt-time {
  padding-left:0;
  padding-right:0;
}
.pt-time { flex-wrap:wrap; }
.pt-map-bottom > span { max-width:100%; }
.pt-sidebar > .pt-panel { border-bottom:0; }
.pt-sidebar > .pt-panel + .pt-panel { border-left:1px solid var(--pt-line); }
@media(max-width:700px) {
  .pt-sidebar > .pt-panel + .pt-panel { border-left:0; border-top:1px solid var(--pt-line); }
}

.pt-address-panel {
  padding:24px clamp(16px, 4vw, 64px) 18px;
  background:var(--color-body-background);
  color:var(--color-rich-text-color);
  color-scheme:light;
}
.pt-address-panel .search-input {
  border:0;
  margin:0;
  color-scheme:light;
}
.pt-address-submit {
  height:56px;
  padding:0 18px 0 16px;
  display:flex;
  align-items:center;
  border:0;
  background:transparent;
  border-radius:0 18px 18px 0;
}
.planetarium .pt-address-submit:hover { background:#f5f5f4; }
.pt-address-meta {
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:8px;
}
.pt-address-meta .pt-location-button { padding:0; }
.pt-address-meta .pt-coordinates { margin:0; }

.pt-address-panel .pt-location-button,
.pt-address-panel .pt-coordinates {
  color:var(--color-big-list-header);
}
.pt-address-panel .pt-location-button:hover {
  color:var(--color-rich-text-color);
  background:transparent;
  text-decoration:underline;
}
.pt-address-panel .pt-status { color:#92400e; }
.pt-address-panel .pt-results button {
  background:white;
  border-color:#e7e5e4;
  color:var(--color-rich-text-color);
}
.pt-address-panel .pt-results button:hover { background:#f5f5f4; }
.pt-address-panel :focus-visible { outline-color:#78716c; }

.pt-page-heading { margin-bottom:24px; }
.pt-location-shell {
  width:100%;
  max-width:var(--chat-bubble-container-width);
  margin:0 auto;
}

/* Immersive planetarium page. */
html.planetarium-page,
.planetarium-page body,
.planetarium-page .planetarium,
.planetarium-page .pt-workspace {
  background:#021310;
  color-scheme:dark;
}
.planetarium-page body { margin:0; }
.planetarium-page .pt-observatory {
  height:calc(100svh - 150px);
  min-height:0;
}
.planetarium:fullscreen .pt-observatory {
  height:100svh;
}
.planetarium:fullscreen .pt-map-heading > div:first-child,
.planetarium:fullscreen .pt-map-bottom,
.planetarium:fullscreen .pt-loading {
  display:none;
}
.planetarium:fullscreen .pt-map-heading { justify-content:flex-end; }
.planetarium-page .pt-content-shell {
  width:calc(100% - 32px);
}
.pt-controls { padding:16px 0; }
.pt-search {
  display:flex;
  align-items:stretch;
  border:1px solid #ffffff20;
  border-radius:8px;
  background:#101a26;
  overflow:hidden;
}
.planetarium .pt-search .pt-search-input {
  flex:1;
  min-width:0;
  background:transparent;
  border:0;
  margin:0;
  padding:12px 14px;
  color:#95aaa4;
  font:inherit;
  font-size:14px;
}
.pt-search-input::placeholder { color:#7c8d9f; }
.planetarium .pt-search .pt-search-input:focus {
  outline:none;
  box-shadow:none;
}
.pt-search:focus-within { border-color:#39564e; }
.pt-search button {
  padding:12px 14px;
  font-size:12px;
  color:#9ac6b8;
  white-space:nowrap;
}
.pt-controls .pt-presets { margin-top:10px; }
.pt-controls .pt-presets button { flex:1; }
.pt-timebar { display:flex; align-items:center; gap:12px; margin-top:10px; }
.pt-play { flex:0 0 38px; width:38px; height:34px; padding:0; border:1px solid #ffffff18; border-radius:6px; background:#172638; color:#9bb8ad; font-size:14px; line-height:1; }
.pt-play:hover, .pt-play[aria-pressed=true] { background:#1b302e; color:#b9d5c9; }
.pt-time-slider { flex:1; min-width:0; accent-color:#7aa9ff; cursor:pointer; }
.pt-timebar .pt-play-time { min-width:58px; text-align:right; white-space:nowrap; }
.pt-play-time { color:#8fa79e; font-size:11px; }
.pt-light-pollution { display:flex; align-items:center; justify-content:flex-start; gap:12px; margin-top:12px; color:#7f948d; font-size:11px; }
.pt-light-pollution span { white-space:nowrap; }
.pt-light-pollution select { margin:0; padding:7px 10px; width:200px; color:#9fb3ac; background:#101a26; border-color:#ffffff20; cursor:pointer; justify-self:end; }
.pt-map-actions { display:flex; gap:8px; margin-top:8px; pointer-events:auto; }
.pt-zoom-out, .pt-zoom-in { pointer-events:auto; width:36px; height:36px; padding:8px; border:1px solid #ffffff22; border-radius:7px; background:#0d1824bb; color:#9bb8ad; }
.pt-zoom-out:hover:not(:disabled), .pt-zoom-in:hover:not(:disabled) { background:#172a35; color:#d9eee5; }
.pt-zoom-out:disabled, .pt-zoom-in:disabled { opacity:.35; cursor:default; }
.pt-zoom-out svg, .pt-zoom-in svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pt-labels-toggle { pointer-events:auto; width:36px; height:36px; padding:8px; border:1px solid #ffffff22; border-radius:7px; background:#0d1824bb; color:#9bb8ad; }
.pt-labels-toggle:hover, .pt-labels-toggle[aria-pressed=true] { background:#172a35; color:#d9eee5; }
.pt-labels-toggle svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pt-fullscreen { pointer-events:auto; width:36px; height:36px; padding:8px; border:1px solid #ffffff22; border-radius:7px; background:#0d1824bb; color:#9bb8ad; }
.pt-fullscreen:hover { background:#172a35; color:#d9eee5; }
.pt-fullscreen svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pt-controls .pt-address-meta { font-size:11px; }
.pt-controls .pt-status:empty,
.pt-controls .pt-results:empty { display:none; }
.planetarium-page .pt-sidebar { background:transparent; }
.planetarium-page .pt-panel { padding:20px 0; }
.planetarium-page .pt-footnote { width:calc(100% - 32px); }
.pt-brand {
  display:flex;
  justify-content:center;
  padding:36px 16px 12px;
  opacity:.65;
}
.pt-brand { font-size:12px; }
.pt-brand a { text-decoration:underline; text-underline-offset:3px; }

.pt-star-popup {
  position:absolute;
  z-index:5;
  right:24px;
  top:90px;
  width:min(340px, calc(100% - 32px));
  max-height:calc(100% - 110px);
  overflow:auto;
  padding:22px;
  border:1px solid #39564e;
  border-radius:12px;
  background:#0c1c19f5;
  box-shadow:0 16px 48px #0008;
  color:#c0d0c9;
}
.pt-star-popup[hidden], .pt-star-popup [hidden] { display:none; }
.pt-star-popup h3 { margin:8px 24px 14px 0; font-size:21px; color:#dae6df; }
.pt-star-popup p { margin:14px 0; font-size:14px; line-height:1.65; }
.pt-star-close { position:absolute; top:10px; right:10px; width:32px; height:32px; border-radius:6px; font-size:24px; }
.pt-star-image { display:block; }
.pt-star-image img { width:100%; max-height:170px; object-fit:contain; border-radius:6px; background:#030b09; }
.pt-star-source { color:#99b5a9; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:500px) { .pt-star-popup { right:16px; top:80px; max-height:calc(100% - 96px); padding:16px; } }
