/* An optional landscape presentation; the original atlas remains available. */
.terrain-toggle {display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;}
.terrain-toggle svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
.terrain-toggle[aria-pressed="true"] {background:var(--accent);color:#fff;border-color:var(--accent);}
.explore-tools {gap:4px;}
.explore-tools #eventFilter {flex:1 1 78px;min-width:70px;max-width:156px;width:auto;text-overflow:ellipsis;}
.explore-tools .view-switch {flex-shrink:0;margin-right:auto;}
.explore-tools .btn,.explore-tools .btn.toggle {flex-shrink:0;}
@media(max-width:440px){
  .explore-tools .btn,.explore-tools .btn.toggle {padding-inline:7px;}
  .terrain-toggle svg {display:none;}
  .explore-tools .view-switch {margin-right:0;}
}
@media(max-width:355px){
  .explore-tools {gap:3px;}
  .explore-tools .btn,.explore-tools .btn.toggle {font-size:10px;padding-inline:5px;}
  .explore-tools #eventFilter {min-width:64px;font-size:11px;}
}
body[data-terrain="true"] {
  --bg:#07131b;--paper:#142631;--paper-2:#1c3440;--ink:#eef3ed;--ink-soft:#c0d0ce;
  --muted:#96aaa8;--line:#304953;--accent:#92d3bd;--accent-soft:#20493f;--accent-2:#d6be8d;
  --chip:#233c42;--shadow:0 12px 35px #0005;
  background:radial-gradient(ellipse at 50% 0,#152e37,#07131b 70%);
}
body[data-terrain="true"] .shell {padding-top:calc(env(safe-area-inset-top) + 6px);}
body[data-terrain="true"] .topbar {margin-bottom:3px;}
body[data-terrain="true"] .brand h1 {color:#f1f0e8;letter-spacing:.025em;}
body[data-terrain="true"] .btn,body[data-terrain="true"] .icon-btn,body[data-terrain="true"] select {box-shadow:none;}
body[data-terrain="true"] .btn {background:#142631;color:#dbe8e2;border-color:#354c56;}
body[data-terrain="true"] .explore-tools select {background:#142731;border-color:#354c56;color:#dde8e3;border-radius:9px;}
body[data-terrain="true"] .btn.toggle[aria-pressed="true"],body[data-terrain="true"] .terrain-toggle[aria-pressed="true"],body[data-terrain="true"] .view-switch .btn[aria-pressed="true"] {background:#d2e7db;color:#153a36;border-color:#d2e7db;}
body[data-terrain="true"] .stage {border:1px solid #273d48;box-shadow:0 18px 65px #0004;border-radius:16px;}
body[data-terrain="true"] .globe-view,body[data-terrain="true"] .earth-view {
  background-color:#030a12;
  background-image:radial-gradient(ellipse at 43% 44%,#16293660,transparent 66%),radial-gradient(circle at 11% 24%,#d8e6ed75 0 .6px,transparent 1px),radial-gradient(circle at 87% 14%,#d8e6ed65 0 .7px,transparent 1px),radial-gradient(circle at 80% 78%,#d8e6ed5c 0 .7px,transparent 1px),radial-gradient(circle at 26% 83%,#d8e6ed59 0 .6px,transparent 1px),radial-gradient(circle at 91% 51%,#d8e6ed55 0 .6px,transparent 1px),radial-gradient(circle at 39% 10%,#d8e6ed48 0 .5px,transparent 1px);
}
body[data-terrain="true"] .map-age {background:#081923dc;color:#f0f3ec;border:1px solid #b8d4da20;letter-spacing:.01em;}
body[data-terrain="true"] .global-highlights {background:#102632e8;border:1px solid #c4dae01c;}
body[data-terrain="true"] .global-highlight {color:#f0d7a7;}
body[data-terrain="true"] .nav-cluster button {background:#122430e6;border:1px solid #55727e;color:#f1f4ed;box-shadow:0 3px 12px #0004;}
body[data-terrain="true"] .globe-pin {text-shadow:0 1px 2px #001018,0 0 4px #001018,1px 0 2px #001018,-1px 0 2px #001018;}
body[data-terrain="true"] .globe-pin::after {background:#174b55;border-color:#effaf1;box-shadow:0 1px 4px #0009;}
body[data-terrain="true"] .globe-pin.pole-pin::after {background:#dae8ef;}
body[data-terrain="true"] .atmosphere {box-shadow:none;}
body[data-terrain="true"] #globe {overflow:visible;}
body[data-terrain="true"] .dock {background:linear-gradient(180deg,#182c34,#10212a);border:1px solid #314b53;box-shadow:0 10px 26px #0003;padding-top:8px;}
body[data-terrain="true"] .timeline-context {font-size:14px;gap:10px;margin-bottom:3px;}
body[data-terrain="true"] #timelineAge {font-weight:650;color:#f4f2e8;}
body[data-terrain="true"] .timeline-era {color:#aecbbb;border-left-color:#547268;}
body[data-terrain="true"] .timeline-era:not(:disabled) {color:#edcd91;}
body[data-terrain="true"] .ticks {color:#b5c5c4;}
body[data-terrain="true"] .ticks span::before {border-color:#8ea2a4;}
body[data-terrain="true"] input[type="range"]::-webkit-slider-runnable-track {height:7px;background:var(--terrain-track,linear-gradient(90deg,#c48770,#707792,#668b90,#8da980));box-shadow:inset 0 0 0 1px #c9ded21c;border-radius:4px;}
body[data-terrain="true"] input[type="range"]::-webkit-slider-thumb {width:25px;height:25px;margin-top:-9px;background:#e5f4e9;border:4px solid #2b5b53;box-shadow:0 0 0 1px #a4cfbd,0 2px 8px #0007;}
body[data-terrain="true"] input[type="range"]::-moz-range-track {height:7px;background:var(--terrain-track,linear-gradient(90deg,#c48770,#707792,#668b90,#8da980));border-radius:4px;}
body[data-terrain="true"] input[type="range"]::-moz-range-progress {background:transparent;}
body[data-terrain="true"] input[type="range"]::-moz-range-thumb {width:18px;height:18px;background:#e5f4e9;border:4px solid #2b5b53;box-shadow:0 0 0 1px #a4cfbd;}
body[data-terrain="true"] .era-divider {background:#e8dcc3;box-shadow:0 0 0 3px #12222c;}
body[data-terrain="true"] .play {background:#d2e7db;color:#153a36;border-color:#d2e7db;}
body[data-terrain="true"] .controls .btn {color:#d5e1db;background:transparent;border-color:#405b63;}
body[data-terrain="true"] .toast {background:#f7e9d9;color:#442b23;}
body[data-terrain="true"] .lineage-target {color:var(--ink);}
#terrainSourceList {font-size:12px;line-height:1.7;}
#terrainSourceList p {margin-block:10px;}
@media(max-width:400px){body[data-terrain="true"] .timeline-context{font-size:12px;gap:7px;}}
/* Give the optional primordial landscape more room without cropping its sphere. */
@media(max-width:599px){body[data-terrain="true"] .atmosphere,body[data-terrain="true"] .atmosphere[data-visual]{width:min(96cqw,96cqh);height:min(96cqw,96cqh);}}
/* Preserve the old frame's aspect while a resized drawing buffer catches up. */
#mapGlobeCanvas,#flatCanvas,#earthSpinCanvas {object-fit:contain;}

/* Terrain controls stay in sync; chronology and categories work in either theme. */
.settings-menu .projection-setting {display:flex;align-items:stretch;flex-direction:column;gap:7px;padding:10px 12px;border-top:1px solid var(--line);}
.settings-menu select {font:inherit;min-height:44px;width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);}
.settings-menu {max-height:calc(100dvh - 90px);overflow:auto;min-width:220px;}
input#timeline::-webkit-slider-runnable-track {background:var(--terrain-track);}
input#timeline::-moz-range-track {background:var(--terrain-track);}
input#timeline::-moz-range-progress {background:transparent;}
body .globe-pin:not(.pole-pin) {font-size:var(--pin-font-size,16px);max-width:220px;white-space:nowrap;}
body .globe-pin.dot-only {font-size:0;}
body .globe-pin:not(.pole-pin)::after {width:var(--pin-dot-size,12px);height:var(--pin-dot-size,12px);left:calc(50% - var(--pin-dot-size,12px)/2 + var(--pin-offset,0px));background:var(--pin-color,#72d9ee);border:2px solid #fff;box-sizing:border-box;}
body .earth-event-pins .earth-pin::after {background:var(--pin-color,#72d9ee);border-color:#fff;}
.earth-pins[hidden] {display:none;}

.timeline-bands {position:relative;height:35px;margin:0 12px 1px;line-height:18px;}
.timeline-band {position:absolute;top:0;height:19px;box-sizing:border-box;text-align:center;font-size:11px;font-weight:650;color:var(--ink);border-bottom:4px solid var(--era-color);white-space:nowrap;}
.timeline-band+.timeline-band {border-left:1px solid var(--paper);}
.timeline-unit {position:absolute;top:21px;height:12px;border-left:1px solid var(--muted);box-sizing:border-box;font-size:9px;line-height:11px;text-align:center;color:var(--muted);overflow:hidden;white-space:nowrap;}
.timeline-milestones {position:relative;height:28px;margin-top:10px;}
.timeline-milestone {position:absolute;top:0;transform:translateX(-50%);width:28px;height:28px;padding:0;background:transparent;border:0;cursor:pointer;border-radius:6px;}
.timeline-milestone::after {content:'';position:absolute;left:12px;top:8px;width:4px;height:11px;background:var(--ink-soft);border-radius:2px;}
.timeline-milestone::before {content:'';position:absolute;left:14px;top:3px;width:max(var(--anchor-offset,0px),calc(-1 * var(--anchor-offset,0px)));transform:scaleX(var(--connector-direction,1));transform-origin:0 50%;height:1px;background:var(--muted);}
.timeline-milestone:hover,.timeline-milestone:focus-visible {background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px;}
.timeline-milestones[hidden],.timeline-bands[hidden] {display:none;}
.dock .tl-wrap {padding-bottom:0;}
@media(max-width:400px){.timeline-band{font-size:10px;}.timeline-unit{font-size:8px;}}

body .globe-pin:not(.pole-pin)::after {bottom:calc(-1 * var(--pin-dot-size,12px)/2);}
body .globe-pin.dot-only {transform:translate(-50%,-50%);}
body .globe-pin.dot-only::after {bottom:calc(50% - var(--pin-dot-size,12px)/2);}
body .globe-pin.dot-only::before {bottom:50%;}
body .earth-pin[data-topic]::after {background:#72d9ee;border-color:#fff;}

body input#timeline::-webkit-slider-thumb {background:var(--timeline-accent,#8db6a4);border-color:var(--paper);box-shadow:0 0 0 2px var(--timeline-accent,#8db6a4),0 2px 5px #0005;}
body input#timeline::-moz-range-thumb {background:var(--timeline-accent,#8db6a4);border-color:var(--paper);box-shadow:0 0 0 2px var(--timeline-accent,#8db6a4),0 2px 5px #0005;}

.earth-event-pins .earth-pin {font-size:var(--pin-font-size,16px);}
.earth-event-pins .earth-pin::after {width:var(--pin-dot-size,12px);height:var(--pin-dot-size,12px);left:calc(50% - var(--pin-dot-size,12px)/2);}

body .globe-pin:not(.pole-pin)::before {left:calc(50% + var(--pin-offset,0px));}
body .globe-pin.edge-top:not(.pole-pin)::after {top:calc(-1 * var(--pin-dot-size,12px)/2);bottom:auto;}
body .globe-pin.edge-top:not(.pole-pin)::before {top:0;bottom:auto;}
body .globe-pin.dot-only {--pin-offset:0px;}
