.ridge-marker {
  position:absolute; z-index:2; display:grid; place-items:center;
  width:44px; height:44px; padding:0; transform:translate(-50%,-50%);
  border:0; border-radius:50%; background:transparent; color:#fcf5db;
  font:600 12px/1.2 system-ui,sans-serif; cursor:pointer;
}
.ridge-marker[hidden] {display:none}
.ridge-marker::before {
  content:""; width:12px; height:12px; border-radius:50%;
  border:2px solid #152924; background:#f6cd72; box-shadow:0 0 0 2px #fff1bb;
}
.ridge-marker span {
  position:absolute; left:calc(50% + 11px); top:50%; transform:translateY(-50%);
  padding:6px 8px; border:1px solid #d3b774; border-radius:4px;
  background:#132624; white-space:nowrap;
}
.ridge-marker-flip span {left:auto; right:calc(50% + 11px)}
.ridge-marker:hover span,.ridge-marker:focus-visible span {background:#29463d}
.ridge-marker:focus-visible,.ridge-details :focus-visible {outline:2px solid #ffdb8a; outline-offset:3px}
.ridge-details {
  margin:12px 0; padding:10px 12px; border:1px solid #536e68; border-radius:4px;
  background:#122a2b; color:#e6eee5; font:400 13px/1.5 system-ui,sans-serif;
}
.ridge-details summary {color:#fcdf9a; font-weight:650; cursor:pointer}
.ridge-details p {margin:8px 0; color:#d5e4de}
.ridge-details nav {display:flex; flex-flow:row wrap; align-items:baseline; gap:8px 14px}
.ridge-details nav a {color:#d8eee2; text-decoration:underline; text-underline-offset:3px}
.tharp-mode #globe {isolation:isolate}
.ridge-trace {position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1}
.ridge-trace path {stroke-linejoin:round; stroke-linecap:round}
.ridge-trace-exposed,.ridge-trace-buried,.ridge-trace-force {
  fill:none; stroke-width:2.4px; filter:drop-shadow(0 0 1px #101e25);
}
.ridge-trace-exposed,.ridge-trace-buried {stroke:#8bf2df}
.ridge-trace-buried {stroke-dasharray:1 4}
.ridge-trace-force {stroke:#ffd487; stroke-dasharray:5 4; stroke-width:2.8px}
.ridge-trace-arrow {fill:#ffd487; stroke:#241e14; stroke-width:1px}
.ridge-trace-pulse {
  fill:#fff0be; stroke:#372a1b; stroke-width:2px;
  filter:drop-shadow(0 0 4px #ffc975);
}
.ridge-trace-bend {
  fill:#fff2cf; stroke:#172923; stroke-width:3px; paint-order:stroke;
  font:700 12px system-ui,sans-serif;
}
.ridge-overlays {
  margin:10px 0; padding:9px 12px; border:1px solid #536e68; border-radius:4px;
  color:#e6eee5; background:#122a2b; font:400 13px/1.45 system-ui,sans-serif;
}
.ridge-overlay-toggle {display:flex; align-items:center; gap:9px; min-height:36px; cursor:pointer}
.ridge-overlay-toggle input {accent-color:#ffd487}
.ridge-legend {display:flex; align-items:baseline; gap:8px; font-size:12px}
.ridge-legend::before {
  content:""; width:22px; flex:none; align-self:center; border-top:2px solid #8bf2df;
}
.ridge-legend[data-ridge-buried-legend]::before {border-top-style:dotted}
.ridge-legend[data-ridge-book-legend]::before {border-top:2px dashed #ffd487}
.ridge-overlays[hidden],.ridge-legend[hidden] {display:none}
.ridge-play-button,#tharp-ridge-play {
  min-height:40px; padding:7px 13px; border:1px solid #d3b774; border-radius:4px;
  background:#f3cf86; color:#201c13; font:650 13px system-ui,sans-serif; cursor:pointer;
}
.ridge-play-button:hover,#tharp-ridge-play:hover {background:#ffe2a8}
.ridge-play-button:focus-visible,#tharp-ridge-play:focus-visible {
  outline:2px solid #ffdb8a; outline-offset:3px;
}
.ridge-play-button:disabled {opacity:.5; cursor:default}
.home-globe-frame .ridge-play-button {position:absolute; z-index:3; left:8px; bottom:8px}
.ridge-play-status,#tharp-ridge-status {font:400 12px/1.35 system-ui,sans-serif; color:#d5e4de}
#tharp-ridge-playback {margin-top:9px}
.tharp-mode #tharp-ridge-playback button {pointer-events:auto}

.tharp-fracture-panel {
  border:1px solid #31535b;
  border-radius:9px;
  background:#102530;
  margin:0 0 22px;
  padding:16px;
}
.tharp-fracture-panel h3 {font:400 24px/1.15 Georgia,serif;margin:8px 0 12px}
.tharp-fracture-panel p {color:#c1d4d8;font-size:12px;line-height:1.55;margin:10px 0}
.tharp-fracture-panel #tharp-fracture-status {color:#eaf7f6;font-weight:600;min-height:2.8em}
.tharp-fracture-panel label {color:#c1d4d8;display:block;font-size:12px;margin:0 0 10px}
.tharp-fracture-panel label[hidden] {display:none}
.tharp-fracture-panel button {width:100%;min-height:42px;margin:0 0 6px}
#tharp-fracture-play {background:#b9e1d9;color:#102530;border-color:#b9e1d9;font-weight:650}
#tharp-fracture-play:hover,#tharp-fracture-play:focus-visible {background:#e0f6ef}
.tharp-fracture-swatch {display:inline-block;width:16px;border-top:2px solid #aeeaf2;margin-right:5px;vertical-align:middle}
#tharp-fracture-book-key .tharp-fracture-swatch {border-color:#ffb46b}
#tharp-fracture-offset-key .tharp-fracture-swatch {border-color:#f4a6e6;border-top-style:dashed}
#tharp-fracture-zone-key .tharp-fracture-swatch {border-color:#b5ddf1;border-top-style:dashed}
#tharp-pangaea-key .tharp-fracture-swatch {border-color:#9ed3c5}
.tharp-impact-tilt:not([hidden]) {
  position:absolute;top:22px;right:72px;z-index:3;display:flex;align-items:center;gap:8px;
  padding:5px 9px;border:1px solid #4a6770;border-radius:5px;background:#102733ed;color:#e3f4f1;
}
.tharp-impact-tilt svg {width:44px;height:52px;flex-shrink:0}
.tharp-impact-tilt strong {display:block;color:#ffdf9a;font:650 19px/1.2 system-ui,sans-serif}
.tharp-impact-tilt a {display:block;color:#b8d9db;font:11px/1.3 system-ui,sans-serif}
.tharp-entry-summary {margin:10px 0;padding:9px 10px;border:1px solid #42656c;border-radius:5px;color:#e2f3f2;font:12px/1.45 system-ui,sans-serif}
.tharp-fracture-panel .tharp-entry-summary p {margin:5px 0}
.tharp-entry-summary a {font-size:11px}
@media(max-width:650px) {.tharp-impact-tilt:not([hidden]) {top:unset;bottom:220px;right:18px}}
.tharp-fracture-sources {display:flex;flex-wrap:wrap;gap:9px 13px;font-size:12px;line-height:1.45}
.tharp-fracture-crack,.tharp-fracture-tip {filter:drop-shadow(0 0 3px #ef834e)}
.tharp-fracture-corridor {filter:drop-shadow(0 1px 1px #07151c)}
.tharp-fractures-active #tharp-ridge-playback,
.tharp-fracture-playing #cutaway-open,
.tharp-fracture-playing #anomaly-open {display:none}
.tharp-fracture-steps:not([hidden]) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin-top:5px}
.tharp-fracture-steps button {font-size:11px;line-height:1.3}
.tharp-spreading-key {
  list-style:none; margin:12px 0; padding:9px 10px;
  border:1px solid #395763; border-radius:4px;
  color:#e0edf0; font-size:12px; line-height:1.45;
}
.tharp-spreading-key li {display:flex; align-items:center; gap:8px}
.tharp-spreading-key li + li {margin-top:5px}
.tharp-spreading-key span {flex:0 0 13px; height:8px; border-radius:2px}
.tharp-spreading-fresh {background:#ffdca1}
.tharp-spreading-recent {background:#72b5ac}
.tharp-spreading-earlier {background:#657f9a}
.tharp-network-active .tharp-global-ridge-axes {
  stroke-width:2.25px; filter:drop-shadow(0 0 1.6px #112435);
}
.tharp-network-active .tharp-force-guide {
  stroke:#ffe09b; stroke-width:2px; stroke-opacity:.94;
  filter:drop-shadow(0 0 1.6px #322314);
}
.tharp-network-active .stage-top h1 {max-width:240px;font-size:20px}
.tharp-network-active.comet-exploring .source-label {max-width:255px!important}
.tharp-network-active .source-label strong {font-size:19px}
.tharp-network-active #station-location {display:none}
.tharp-junction-steps:not([hidden]) {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
}
.tharp-junction-steps button {font-size:11px}
.tharp-junction-detail {padding:10px 12px;margin:8px 0 12px;border:1px solid #42656c;border-radius:5px}
.tharp-junction-detail h4 {margin:0;font:650 13px system-ui,sans-serif;color:#e7f5f4}
.tharp-junction-detail ul {margin:6px 0;padding-left:16px;color:#c4e5e6;font:12px/1.55 system-ui,sans-serif}
.tharp-junction-detail li + li {margin-top:5px}
.tharp-junction-detail small {display:block;color:#b4cfd5;font-size:11px}
.tharp-junction-motion-key span[aria-hidden] {font-weight:750;margin-right:2px}
.tharp-motion-spread {color:#a6f8c4}
.tharp-motion-converge {color:#f2c8fb}
.tharp-junction-detail a {font-size:11px}
@media(max-width:1100px) {
  .tharp-mode.tharp-fractures-active:not(.presenting) .workspace {grid-template-areas:'stage' 'panel' 'time'}
}
.ridge-impact-link {
  display:inline-flex; align-items:center; min-height:40px; margin:8px 0;
  padding:7px 12px; border:1px solid #c9a967; border-radius:4px;
  color:#ffe2a8; background:#142a2c; font:650 13px system-ui,sans-serif;
  text-decoration:none; pointer-events:auto;
}
.ridge-impact-link:hover {background:#29463d}
.ridge-impact-link:focus-visible {outline:2px solid #ffdb8a; outline-offset:3px}
#tharp-ridge-playback .ridge-impact-link {margin:0 0 0 6px}
.impact-force-dissolve {
  position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none;
}
.impact-force-contact {
  position:absolute; z-index:2; transform:translate(11px,-50%); padding:4px 7px;
  border:1px solid #c9a967; border-radius:4px; color:#ffe2a8; background:#132624;
  font:650 13px system-ui,sans-serif; white-space:nowrap; pointer-events:none;
}
.impact-force-contact::before {
  content:""; position:absolute; left:-17px; top:50%; transform:translateY(-50%);
  width:9px; height:9px; border-radius:50%; background:#fff0be;
  border:2px solid #372a1b; box-shadow:0 0 7px #ffc975;
}
#impact-globe .impact-force-dissolve[hidden],.impact-force-contact[hidden] {display:none}
html[data-impact-journey] .force-route-switch,
html[data-impact-force-route] :is(.impact-appearance,.delivery-camera-controls,.ice-delivery-controls,
  .earth-motion-controls,.impact-panel > .scale-label,#relief,#cutaway-open,.impact-budget,
  .story-stops,.globe-tools,.camera-follow,#timeline,.playback-actions > label,
  .globe-caption > span:last-child),
html[data-impact-force-route] .motion-hud {display:none}
.force-route-switch a {color:#ffe2a8; text-underline-offset:3px}
.impact-workspace .story-stops[hidden],.impact-budget[hidden] {display:none}
@media(min-width:761px){#impact-route-stops {grid-template-columns:repeat(9,minmax(0,1fr))}}
.impact-water-marker {transform:translate(12px,-140%)}
.impact-seafloor-marker {transform:translate(12px,190%)}
.impact-seafloor-marker::before {top:12%}
.lava-steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;margin:.8rem 0 .45rem}
.lava-steps button {padding:.38rem .53rem;border:1px solid #416271;border-radius:5px;background:#102b37;color:#d9efee;font:600 11px/1.2 system-ui,sans-serif;cursor:pointer}
.lava-steps button[aria-current="step"] {background:#ba722f;border-color:#f1a75d;color:#091823}
.crust-age-key:not([hidden]) {padding:.5rem .55rem;margin:.55rem 0;border:1px solid #34515b;border-radius:5px;background:#102633}
.crust-age-key p {margin:0 0 .42rem;color:#bfe5e2;font:600 11px/1.3 system-ui,sans-serif}
.crust-age-strip {display:grid;grid-template-columns:1fr auto 1fr;gap:.25rem;text-align:center;color:#9fc6c9;font:550 10px/1.2 system-ui,sans-serif}
.crust-age-strip span {padding:.32rem 0;border-top:2px solid #5e828d}
.crust-age-strip span:nth-child(2) {padding-inline:.25rem;border-color:#9fddd4;color:#e0f4f0}
.impact-strike-marker {transform:translate(calc(-100% - 12px),-150%)}
.impact-strike-marker::before {left:auto;right:-18px;top:105%}
.impact-remnant {border-left:2px solid #dfbd83;padding:.3rem 0 .3rem .8rem;margin-block:1rem}
.impact-remnant h3 {margin-block:0 .35rem}
.impact-ridge-marker {border-color:#a2cdd2;color:#e1f6f4;background:#102f3a}
.impact-ridge-marker::before {background:#b6e1e0;border-color:#12323c;box-shadow:0 0 6px #6c9da6}
[data-force-phase="atlantic-ridge"] .impact-ridge-marker {transform:translate(16px,22px)}
[data-force-phase="atlantic-ridge"] .impact-ridge-marker::before {left:-23px;top:-29px;transform:none}
[data-force-phase="atlantic-ridge"] .impact-ridge-marker::after {
  content:""; position:absolute; left:-13px; top:-17px; width:23px; height:1px;
  background:#a2cdd2; transform:rotate(51deg); transform-origin:left;
}
#force-controls {
  position:absolute; z-index:3; left:18px; bottom:47px;
  display:flex; align-items:center; gap:7px;
}
#force-controls[hidden] {display:none}
#uplift-controls.impact-route-uplift {position:static;width:auto;margin-top:12px}
#uplift-controls {
  position:absolute; left:0; bottom:calc(100% + 8px);
  width:min(370px, calc(100vw - 58px)); padding:7px 9px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center;
  border:1px solid #52716d; border-radius:4px; background:#10252ef2;
}
#uplift-controls[hidden] {display:none}
#uplift-controls .uplift-range {
  display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:6px; align-items:center;
}
#uplift-controls label {
  justify-content:space-between; gap:5px; color:#ecf2e7; font-size:11px;
}
#uplift-progress-value {color:#ffe2a8; font-size:11px; font-variant-numeric:tabular-nums}
#uplift-progress {
  grid-column:1/-1; display:block; width:100%; height:26px; margin:0;
  accent-color:#f3cf86; cursor:pointer;
}
#uplift-controls #uplift-replay {
  padding:6px 9px; font-size:11px; color:#ffe2a8; white-space:nowrap;
}
#uplift-controls :focus-visible {outline:2px solid #ffdb8a; outline-offset:2px}
.uplift-label {
  position:absolute; z-index:2; transform:translate(-50%,-100%); padding:4px 7px;
  border:1px solid #52716d; border-radius:4px; color:#ecf2e7; background:#12292be8;
  font:650 12px system-ui,sans-serif; white-space:nowrap; pointer-events:none;
}
.uplift-label[hidden] {display:none}
.uplift-bend {border-color:#c9a967; color:#ffe2a8}
.uplift-label[data-place="India"] {border-color:#c9a967; color:#ffe2a8}
.uplift-label[data-place="Eurasia"] {border-color:#7aada8; color:#d4f3ea}
@media(max-width:520px) {
  .uplift-label {padding:3px 5px; font-size:10px}
  .uplift-label[data-place="Tibetan Plateau"] {display:none}
}
