@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-mono-400-latin.woff2") format("woff2")}@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/dm-mono-500-latin.woff2") format("woff2")}@font-face{font-family:"Manrope";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/manrope-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Manrope";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#070b12;--panel:#0c121c;--line:#202a38;--text:#f1f3f2;--muted:#87909d;--orange:#ff9b64;--blue:#83a9ff;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);min-width:320px}.noise{position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");z-index:20}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);font-size:12px;letter-spacing:.18em}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:700}.brand b{color:var(--orange)}.brand-mark{width:25px;height:25px;border:1px solid #485364;border-radius:50%;position:relative}.brand-mark:after{content:"";position:absolute;width:35px;border-top:1px solid var(--orange);transform:rotate(-22deg);top:12px;left:-6px}.brand-mark i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--orange);top:4px;right:2px}.live{color:#aeb5be;font-family:var(--mono)}.live span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#66db9a;box-shadow:0 0 10px #66db9a;margin-right:8px}main{width:min(1440px,90vw);margin:auto}.hero{min-height:530px;padding:86px 0 56px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.label{font:500 11px var(--mono);letter-spacing:.19em;color:var(--orange)}h1{font-size:clamp(48px,7.5vw,112px);line-height:.9;letter-spacing:-.065em;margin:25px 0 70px;font-weight:500}h1 em{font-style:normal;color:#737b86}.hero-bottom{display:grid;grid-template-columns:1fr 1.6fr;align-items:end;gap:8vw}.hero-bottom>p{color:#a6adb7;line-height:1.7;max-width:440px;margin:0;font-size:14px}.epoch-panel{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;gap:24px}.epoch-panel div{display:grid;gap:8px}.epoch-panel span{font:10px var(--mono);letter-spacing:.12em;color:var(--muted)}.epoch-panel strong{font:500 13px var(--mono);letter-spacing:.03em}button{border:1px solid #3b4655;background:transparent;color:var(--text);padding:13px 18px;font:600 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}button:hover{background:var(--text);color:var(--bg);border-color:var(--text)}button span{font-size:15px;margin-right:7px}.dashboard{border-top:1px solid var(--line);padding:32px 0 110px}.section-head,.section-head>div{display:flex;justify-content:space-between;align-items:baseline}.section-head>div{gap:20px}.section-number{font:11px var(--mono);color:var(--orange)}h2{font-size:25px;letter-spacing:-.03em;margin:0}.elapsed{font:10px var(--mono);color:var(--muted);letter-spacing:.12em}.elapsed strong{color:var(--text);font-weight:400;margin-left:14px}.clock-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:30px}.card{min-height:285px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.018),transparent 65%);transition:background .3s}.card:hover{background:rgba(255,255,255,.035)}.card.earth{background:linear-gradient(145deg,rgba(73,113,190,.18),rgba(8,15,26,.5));box-shadow:inset 0 0 0 1px rgba(115,159,255,.35)}.card-top{display:flex;align-items:center;justify-content:space-between}.body-name{font-size:12px;letter-spacing:.16em;font-weight:700}.body-symbol{font:22px var(--sans);color:var(--body-color)}.clock{font:500 clamp(28px,3vw,46px) var(--mono);letter-spacing:-.06em;margin:34px 0 7px;white-space:nowrap}.rotation{font:10px var(--mono);color:var(--muted);letter-spacing:.05em}.card-bottom{position:absolute;left:27px;right:27px;bottom:25px}.progress-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:10px var(--mono);color:var(--muted);letter-spacing:.08em}.progress-meta strong{font-size:12px;color:var(--text);font-weight:400}.track{height:2px;background:#28313d;position:relative}.track span{position:absolute;inset:0 auto 0 0;width:0;background:var(--body-color);box-shadow:0 0 9px color-mix(in srgb,var(--body-color),transparent 30%)}.reference{font-size:9px;color:#626c79;margin-top:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.method{border-top:1px solid var(--line);padding:32px 0 100px}.method-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;margin-top:70px}.formula{border:1px solid var(--line);padding:32px;background:#0a1019}.formula p{font:clamp(17px,2vw,27px) var(--mono);margin:42px 0 8px;white-space:nowrap}.formula i{color:var(--orange);font-style:normal}.explanation{font-size:16px;line-height:1.8;color:#c3c8cf}.explanation p{margin:0 0 24px}.explanation .muted{font-size:13px;color:var(--muted);padding-left:18px;border-left:1px solid var(--orange)}footer{border-top:1px solid var(--line);height:100px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:.12em;color:#69727e}footer p{text-align:center}
@media(max-width:900px){.hero-bottom,.method-grid{grid-template-columns:1fr}.clock-grid{grid-template-columns:repeat(2,1fr)}.hero-bottom{gap:35px}.method-grid{gap:30px}.formula p{white-space:normal}.hero{padding-top:60px}.epoch-panel{flex-wrap:wrap}}
@media(max-width:600px){main{width:calc(100% - 32px)}.topbar{padding:0 16px}.clock-grid{grid-template-columns:1fr}.card{min-height:250px}.hero{min-height:620px}.epoch-panel{align-items:stretch}.epoch-panel button{width:100%}.section-head{align-items:flex-start;gap:20px}.elapsed{display:grid;gap:7px;text-align:right}.elapsed strong{margin:0}.method{padding-bottom:70px}footer{padding:25px 16px;height:auto;gap:20px;flex-wrap:wrap}footer p{order:3;text-align:left;width:100%;margin:0}h1{margin-bottom:50px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Dual-cycle planet cards */
.clock-grid{grid-template-columns:repeat(2,1fr)}
.card{min-height:0;padding:28px;position:relative}
.card-top{margin-bottom:20px}.card-top>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.body-name{font-size:13px}.body-symbol{font-size:26px}
.retrograde{border:1px solid #6d4d45;color:#d89982;padding:4px 6px;font:8px var(--mono);letter-spacing:.08em}
.civil{border:1px solid rgba(131,169,255,.3);padding:13px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;color:#a9bde8;font:9px var(--mono);letter-spacing:.1em}.civil strong{font:500 20px var(--mono);color:var(--text);letter-spacing:-.03em}
.metric{padding:18px 0}.metric+.metric{border-top:1px dashed #313b49}.metric-label{display:flex;align-items:center;gap:8px;font:600 10px var(--sans);letter-spacing:.15em;color:var(--body-color)}
.help{border:1px solid #48515e;border-radius:50%;width:17px;height:17px;padding:0;font:10px var(--mono);color:var(--muted)}.help:hover{background:var(--body-color);border-color:var(--body-color)}
.metric-clock{font:500 clamp(27px,3.2vw,46px) var(--mono);letter-spacing:-.06em;margin:15px 0 5px;white-space:nowrap}.metric-total{font:9px var(--mono);color:var(--muted);letter-spacing:.06em}
.metric .progress-meta{margin:17px 0 10px;font-size:9px;letter-spacing:.05em;gap:15px}.metric .progress-meta strong{font-size:9px;text-align:right}.metric .track{height:3px}.metric-solar .track span{opacity:.55}.metric-solar .metric-label{color:#b6bfcb}
.insight{min-height:42px;margin:18px 0 14px;padding-left:12px;border-left:1px solid var(--body-color);font-size:11px;line-height:1.55;color:#aeb5bf}.reference{margin-top:0;font-size:8px}.body-note{font-size:9px;color:#707986;margin:8px 0 0}.card.sun{align-self:start}
@media(max-width:900px){.clock-grid{grid-template-columns:1fr}}
@media(max-width:600px){.card{min-height:0;padding:22px}.progress-meta{align-items:flex-start}.civil{gap:12px}}

/* Planetary years — separate compact comparison keeps the clock cards readable. */
.years{border-top:1px solid var(--line);padding:32px 0 110px}.year-epoch{font:9px var(--mono);color:var(--muted);letter-spacing:.1em}.year-epoch strong{color:var(--text);font-weight:400;margin-left:12px}.years-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:45px 0 30px;color:#aeb5bf;font-size:13px;line-height:1.7}.years-intro p{margin:0}.years-intro b{color:var(--text)}
.year-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.year-card{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.018),transparent);min-width:0}.year-card.earth{background:linear-gradient(145deg,rgba(73,113,190,.16),rgba(8,15,26,.4))}.year-card header{display:flex;align-items:center;justify-content:space-between}.year-card header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dwarf{font:7px var(--mono);color:#baaa9d;border:1px solid #514942;padding:3px 5px;letter-spacing:.08em}.year-number{font:10px var(--mono);color:var(--muted);margin:28px 0 24px;letter-spacing:.1em}.year-number strong{display:block;color:var(--text);font-size:clamp(28px,3vw,43px);letter-spacing:-.05em;margin-top:5px;font-weight:500}.year-facts{display:grid;gap:8px}.year-facts span{display:flex;justify-content:space-between;gap:12px;font:8px var(--mono);color:#6f7884;letter-spacing:.05em}.year-facts b{color:#bcc2ca;font-weight:400;text-align:right}.year-progress-meta{display:flex;justify-content:space-between;margin:23px 0 9px;font:9px var(--mono);letter-spacing:.06em;color:var(--muted)}.year-progress-meta strong{color:var(--text);font-weight:400}.year-track span{background:var(--body-color)}.year-source{font:8px var(--mono);color:#59626e;margin-top:12px}.historical-note{max-width:800px;margin:28px 0 0;padding-left:14px;border-left:1px solid var(--orange);font-size:10px;line-height:1.65;color:#747d89}
@media(max-width:1000px){.year-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.years{padding-bottom:75px}.year-grid{grid-template-columns:1fr}.years-intro{grid-template-columns:1fr;gap:14px;margin-top:30px}.year-epoch{display:grid;gap:6px;text-align:right}.year-epoch strong{margin:0}.year-card{padding:22px}.year-number strong{font-size:34px}}

/* Comfortable reading distance on large and ultrawide displays. */
@media(min-width:1600px){
  main{width:min(1680px,88vw)}
  .topbar{font-size:14px}
  .eyebrow,.label,.section-number{font-size:13px}
  .hero-bottom>p{font-size:16px;max-width:520px}
  .epoch-panel span,.elapsed{font-size:12px}
  .epoch-panel strong{font-size:15px}
  button{font-size:12px}
  h2{font-size:29px}
  .body-name{font-size:15px}
  .retrograde,.dwarf{font-size:10px}
  .civil,.metric-label{font-size:12px}
  .civil strong{font-size:24px}
  .metric-total,.metric .progress-meta,.metric .progress-meta strong{font-size:11px}
  .insight{font-size:13px;line-height:1.65}
  .reference,.body-note,.year-source{font-size:10px}
  .years-intro{font-size:15px}
  .year-epoch,.year-number,.year-progress-meta{font-size:11px}
  .year-facts span{font-size:10px}
  .historical-note{font-size:12px;max-width:940px}
  .explanation{font-size:18px}
  .explanation .muted{font-size:15px}
  footer{font-size:11px}
}

@media(min-width:2400px){
  main{width:min(1880px,84vw)}
  .hero-bottom>p,.years-intro{font-size:17px}
  .body-name{font-size:16px}
  .metric-label,.civil{font-size:13px}
  .metric-total,.metric .progress-meta,.metric .progress-meta strong,.year-facts span{font-size:12px}
  .insight{font-size:14px}
  .reference,.body-note,.year-source{font-size:11px}
  .year-epoch,.year-number,.year-progress-meta{font-size:12px}
}

/* Readable, indexable background information below the interactive data. */
.seo-guide{border-top:1px solid var(--line);padding:32px 0 110px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:42px}.guide-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.guide-grid h3,.sources h3{font-size:15px;line-height:1.4;margin:0 0 14px;letter-spacing:-.01em}.guide-grid p,.sources p{font-size:13px;line-height:1.75;color:#aeb5bf;margin:0}.sources{margin-top:28px;max-width:980px;padding:24px 0 0 24px;border-left:1px solid var(--orange)}.sources a,footer a{color:#c9d0d9;text-decoration-color:#56606d;text-underline-offset:3px}.sources a:hover,footer a:hover{color:var(--orange)}footer a{color:inherit}
@media(min-width:1600px){.guide-grid h3,.sources h3{font-size:18px}.guide-grid p,.sources p{font-size:15px}.sources{max-width:1160px}}
@media(max-width:700px){.seo-guide{padding-bottom:75px}.guide-grid{grid-template-columns:1fr;margin-top:30px}.guide-grid article{padding:22px}.sources{padding:20px 0 0 16px}.guide-grid h3,.sources h3{font-size:16px}.guide-grid p,.sources p{font-size:13px}}

/* Deep-space map */
.spacecraft-section{border-top:1px solid var(--line);padding:32px 0 110px}.spacecraft-freshness{font:10px var(--mono);letter-spacing:.1em;color:var(--muted)}.spacecraft-freshness.stale{color:#e5a66e}.spacecraft-intro{display:grid;grid-template-columns:1fr auto;gap:8vw;align-items:end;margin:42px 0 28px}.spacecraft-intro>p{max-width:670px;margin:0;color:#aeb5bf;font-size:15px;line-height:1.7}.scale-notice{display:grid;gap:6px;border-left:1px solid var(--orange);padding-left:18px}.scale-notice span{font:9px var(--mono);color:var(--orange);letter-spacing:.14em}.scale-notice strong{font:500 12px var(--mono)}.scale-notice small{font:9px var(--mono);color:var(--muted)}
.space-map-shell{height:min(68vw,760px);min-height:460px;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(255,155,100,.08),transparent 14%),#080d15;position:relative;overflow:hidden}.space-map-shell canvas{width:100%;height:100%;display:block}.map-compass{position:absolute;inset:25px;pointer-events:none;font:9px var(--mono);color:#68717e}.map-compass span{position:absolute}.map-compass span:nth-child(1){top:0;left:50%}.map-compass span:nth-child(2){top:50%;left:0}.map-compass b{position:absolute;top:50%;left:50%;color:var(--orange);font-size:18px}.map-compass span:nth-child(4){top:50%;right:0}.map-compass span:nth-child(5){bottom:0;left:50%}.map-legend{position:absolute;left:22px;bottom:18px;display:flex;gap:18px;flex-wrap:wrap;font:8px var(--mono);letter-spacing:.08em;color:#78818d}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{display:inline-block;width:11px;height:2px;background:#8f98a5}.map-legend .legend-planet{border-radius:50%;width:6px;height:6px}.map-legend .legend-craft{background:var(--orange);height:6px;width:6px;transform:rotate(45deg)}.map-legend .legend-velocity{background:#83a9ff}.map-caption{font:9px var(--mono);letter-spacing:.08em;color:#717a87;margin:12px 0 34px}
.map-time-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) auto;gap:16px 24px;align-items:end;margin:0 0 18px;padding:18px 20px;border:1px solid var(--line);background:#080d15}.map-time-readout,.map-time-date,.map-time-actions label{display:grid;gap:7px}.map-time-controls span{font:8px var(--mono);letter-spacing:.12em;color:var(--muted)}.map-time-readout strong{font:500 16px var(--mono)}.map-time-controls input,.map-time-controls select{min-width:0;color:var(--text);color-scheme:dark;background:#080d15;border:1px solid #343e4b;padding:10px;font:11px var(--mono)}.map-time-actions{display:flex;align-items:end;gap:8px}.map-time-actions button{padding:11px 13px;white-space:nowrap}.map-time-actions select{padding:10px 8px}.map-time-slider{grid-column:1/-1}.map-time-slider input{width:100%;padding:0;accent-color:var(--orange)}.map-time-limits{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:-10px;font:8px var(--mono);color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.spacecraft-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.spacecraft-card{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;background:linear-gradient(145deg,rgba(255,255,255,.02),transparent)}.spacecraft-card header{display:flex;justify-content:space-between;gap:15px}.spacecraft-card h3{font-size:13px;letter-spacing:.14em;margin:0}.mission-status{font:8px var(--mono);color:#67d9a0;border:1px solid rgba(103,217,160,.35);padding:5px 7px;white-space:nowrap}.mission-copy{min-height:54px;color:#8f98a5;font-size:11px;line-height:1.55;margin:18px 0}.craft-primary{border-top:1px dashed #303947;border-bottom:1px dashed #303947;padding:18px 0}.craft-primary span,.craft-metrics dt{font:8px var(--mono);color:#747e8b;letter-spacing:.08em}.craft-primary strong{display:block;font:500 clamp(25px,2.5vw,38px) var(--mono);letter-spacing:-.05em;margin:6px 0}.craft-primary small{font:9px var(--mono);color:#8f98a5}.craft-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;margin:21px 0}.craft-metrics div{min-width:0}.craft-metrics dt{margin-bottom:6px}.craft-metrics dd{margin:0;font:11px var(--mono);line-height:1.5;overflow-wrap:anywhere}.craft-human{color:#b8bec7;font-size:11px;line-height:1.55;margin:0;padding-left:12px;border-left:1px solid #465467}.spacecraft-notes{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px;margin-top:28px;color:#747e8b;font-size:10px;line-height:1.65}.spacecraft-notes p{margin:0}.spacecraft-notes a{color:#b9c1ca;text-underline-offset:3px}
@media(max-width:950px){.spacecraft-grid{grid-template-columns:1fr}.spacecraft-card{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.spacecraft-card header,.mission-copy,.craft-human{grid-column:1/-1}.spacecraft-notes{grid-template-columns:1fr}.space-map-shell{min-height:420px}}
@media(max-width:650px){.spacecraft-section{padding-bottom:75px}.spacecraft-heading{display:grid}.spacecraft-intro{grid-template-columns:1fr;gap:22px;margin-top:30px}.space-map-shell{height:115vw;min-height:390px}.map-legend{right:15px}.spacecraft-card{display:block;padding:22px}.craft-primary strong{font-size:31px}.spacecraft-freshness{text-align:right}.map-compass{inset:15px}}
@media(max-width:760px){.map-time-controls{grid-template-columns:1fr}.map-time-actions,.map-time-slider,.map-time-limits{grid-column:1}.map-time-actions{flex-wrap:wrap}.map-time-actions label{flex:1}}
.map-time-slider{position:relative;z-index:1;cursor:pointer}.map-time-slider input{display:block;height:22px;cursor:grab;pointer-events:auto}.map-time-slider input:active{cursor:grabbing}
/* The trajectory viewport is intentionally 20% taller than the original map. */
.space-map-shell{height:min(81.6vw,912px);min-height:552px}
@media(max-width:950px){.space-map-shell{min-height:504px}}
@media(max-width:650px){.space-map-shell{height:138vw;min-height:468px}}

/* User-selected reference date and the independent planetary-age comparison. */
.epoch-panel{position:relative}.epoch-picker[hidden]{display:none}.epoch-picker{position:absolute;z-index:20;right:0;top:calc(100% + 12px);width:min(430px,88vw);padding:22px;border:1px solid #3c4654;background:#0b111b;box-shadow:0 22px 70px rgba(0,0,0,.55);display:grid;gap:16px}.picker-head,.picker-row,.picker-actions{display:flex;gap:12px}.picker-head{align-items:center;justify-content:space-between;font:10px var(--mono);letter-spacing:.12em}.picker-close{border:0;padding:3px 8px;font-size:22px}.epoch-picker label{display:grid;gap:7px;flex:1}.epoch-picker label>span,.age-summary span{font:8px var(--mono);letter-spacing:.12em;color:var(--muted)}.epoch-picker input,.epoch-picker select{min-width:0;color:var(--text);color-scheme:dark;background:#080d15;border:1px solid #343e4b;padding:11px;font:12px var(--mono)}.picker-privacy,.picker-error{margin:0;font-size:9px;line-height:1.5;color:#737d89}.picker-error{color:#e79272;min-height:14px}.picker-actions{flex-wrap:wrap}.picker-actions button{padding:10px 12px}.button-muted{color:#89929e;border-color:#343e4b}
.ages{border-top:1px solid var(--line);padding:32px 0 110px}.age-status{font:9px var(--mono);letter-spacing:.1em;color:var(--orange)}.age-empty{margin-top:40px;padding:38px;border:1px dashed #343e4b;max-width:760px;background:linear-gradient(120deg,rgba(255,155,100,.06),transparent)}.age-empty strong{font-size:18px}.age-empty p{margin:13px 0 0;color:#9ba4af;font-size:13px;line-height:1.7}.age-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:34px 0 24px}.age-summary>div{padding:18px 20px;display:grid;gap:7px}.age-summary>div+div{border-left:1px solid var(--line)}.age-summary strong{font:500 12px var(--mono)}.age-summary .future-date strong{color:#e5a66e}.age-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.age-card{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.018),transparent);min-width:0}.age-card.earth{background:linear-gradient(145deg,rgba(73,113,190,.16),rgba(8,15,26,.4))}.age-card header{display:flex;justify-content:space-between;align-items:center}.age-card header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.age-value{margin:27px 0 5px;font:500 clamp(26px,3vw,42px) var(--mono);letter-spacing:-.05em}.age-calendar{min-height:17px;font:9px var(--mono);color:#89939f}.age-facts{display:grid;gap:8px;margin:22px 0 11px}.age-facts span{display:flex;justify-content:space-between;gap:12px;font:8px var(--mono);letter-spacing:.05em;color:#707a86}.age-facts b{color:#c2c8cf;font-weight:400}.age-track span{background:var(--body-color)}.age-copy,.age-next{font-size:10px;line-height:1.55;color:#aab2bc;margin:18px 0 0;padding-left:11px;border-left:1px solid var(--body-color)}.age-next{border:0;padding:0;margin-top:10px;color:#747e8b}.age-card.future{opacity:.7}.age-month-note{max-width:800px;margin:25px 0 0;padding-left:14px;border-left:1px solid var(--orange);font-size:10px;line-height:1.65;color:#747d89}
@media(max-width:1000px){.age-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.epoch-picker{position:fixed;inset:80px 16px auto;width:auto;max-height:calc(100vh - 100px);overflow:auto}.picker-row{display:grid}.picker-actions button{flex:1}.ages{padding-bottom:75px}.age-grid,.age-summary{grid-template-columns:1fr}.age-summary>div+div{border-left:0;border-top:1px solid var(--line)}.age-card{padding:22px}.age-value{font-size:32px}.age-status{text-align:right}}
.epoch-panel{flex-wrap:wrap}.epoch-explanation{flex-basis:100%;max-width:560px;margin:0!important;font-size:9px!important;line-height:1.55!important;color:#747e8b!important}

/* Stronger separation between adjacent planet cards. */
.clock-grid,.year-grid,.age-grid{border-top-color:#465264;border-left-color:#465264}
.card,.year-card,.age-card{border-right-color:#465264;border-bottom-color:#465264;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.card:hover,.year-card:hover,.age-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--body-color),transparent 68%)}
.card.earth,.year-card.earth,.age-card.earth{box-shadow:inset 0 0 0 1px rgba(115,159,255,.48)}

/* Human conditions: static planetary environment data plus a local mass input. */
.human-conditions{border-top:1px solid var(--line);padding:32px 0 110px}.conditions-head{align-items:flex-start}.mass-control{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 18px}.mass-control>span:first-child{font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}.mass-input{display:flex;align-items:center;gap:8px;font:11px var(--mono)}.mass-input input{width:92px;padding:10px 12px;border:1px solid #465264;background:#080d15;color:var(--text);font:500 15px var(--mono);color-scheme:dark}.mass-input input[aria-invalid=true]{border-color:#e79272}.mass-control small{grid-column:1/-1;min-height:13px;text-align:right;color:#e79272;font:8px var(--mono)}.conditions-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:38px 0 28px}.conditions-intro p{margin:0;color:#9ba4af;font-size:13px;line-height:1.7}.conditions-intro b{color:var(--text)}.conditions-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #465264;border-left:1px solid #465264}.condition-card{padding:24px;border-right:1px solid #465264;border-bottom:1px solid #465264;background:linear-gradient(145deg,rgba(255,255,255,.018),transparent);min-width:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.condition-card.earth{background:linear-gradient(145deg,rgba(73,113,190,.16),rgba(8,15,26,.4));box-shadow:inset 0 0 0 1px rgba(115,159,255,.48)}.condition-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;min-height:38px}.condition-card>header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.condition-severity{max-width:145px;text-align:right;color:var(--body-color);font:7px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase}.no-surface{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:9px 11px;border:1px solid #514942;color:#baaa9d;font:8px var(--mono);letter-spacing:.07em}.condition-gravity,.condition-temperature,.condition-survival{display:grid;gap:8px;padding:19px 0;border-top:1px dashed #313b49}.condition-gravity{margin-top:14px}.condition-gravity>span,.condition-temperature>span,.condition-survival>span,.condition-weight>span{display:flex;align-items:center;gap:7px;color:var(--muted);font:8px var(--mono);letter-spacing:.1em}.condition-gravity>strong,.condition-temperature>strong{font:500 27px var(--mono);letter-spacing:-.05em}.condition-gravity>small,.condition-temperature>small{color:#818b97;font:8px var(--mono)}.condition-weight{padding:19px 0;border-top:1px dashed #313b49}.condition-weight>span b{color:var(--text);font-weight:500}.condition-weight dl{display:grid;gap:8px;margin:14px 0 0}.condition-weight dl>div{display:flex;justify-content:space-between;gap:15px}.condition-weight dt{color:#6f7985;font:8px var(--mono);letter-spacing:.06em}.condition-weight dd{margin:0;color:#c4cad1;font:10px var(--mono);text-align:right}.condition-survival>strong{color:#e6e8e9;font-size:12px;line-height:1.45}.condition-survival p{margin:0;color:#969faa;font-size:10px;line-height:1.55}.condition-survival small{padding-left:10px;border-left:1px solid var(--body-color);color:#777f8a;font:8px/1.55 var(--mono)}.condition-source{color:#59626e;font:7px var(--mono)}.conditions-sources{margin-top:25px;padding-left:14px;border-left:1px solid var(--orange)}.conditions-sources p{margin:0;color:#747e8b;font-size:9px;line-height:1.65}.conditions-sources a{color:#b9c1ca;text-underline-offset:3px}
@media(max-width:1000px){.conditions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.human-conditions{padding-bottom:75px}.conditions-head{display:grid;gap:22px}.mass-control{width:100%;grid-template-columns:1fr auto}.conditions-intro,.conditions-grid{grid-template-columns:1fr}.conditions-intro{gap:13px;margin-top:30px}.condition-card{padding:22px}.condition-gravity>strong,.condition-temperature>strong{font-size:25px}}

/* Match human-condition card typography to the other planet cards. */
.condition-severity{max-width:165px;font-size:9px}
.condition-gravity>span,.condition-temperature>span,.condition-survival>span,.condition-weight>span{font-size:10px}
.condition-gravity>strong,.condition-temperature>strong{font-size:31px}
.condition-gravity>small,.condition-temperature>small,.condition-weight dt{font-size:10px}
.condition-weight dd{font-size:12px}.condition-survival>strong{font-size:13px}.condition-survival p{font-size:12px}.condition-survival small{font-size:10px}.condition-source{font-size:9px}
@media(max-width:650px){.condition-gravity>strong,.condition-temperature>strong{font-size:29px}}

/* One more readability step for every element in condition cards. */
.condition-card .body-name{font-size:15px}.condition-card .dwarf{font-size:9px}.condition-card .no-surface{font-size:10px}
.condition-severity{font-size:11px}
.condition-gravity>span,.condition-temperature>span,.condition-survival>span,.condition-weight>span{font-size:12px}
.condition-gravity>strong,.condition-temperature>strong{font-size:33px}
.condition-gravity>small,.condition-temperature>small,.condition-weight dt{font-size:12px}
.condition-weight dd{font-size:14px}.condition-survival>strong{font-size:15px}.condition-survival p{font-size:14px}.condition-survival small{font-size:12px}.condition-source{font-size:11px}
@media(max-width:650px){.condition-gravity>strong,.condition-temperature>strong{font-size:31px}}

.condition-travel{display:grid;gap:11px;padding:19px 0;border-top:1px dashed #313b49}.condition-travel>span{display:flex;align-items:center;gap:7px;color:var(--muted);font:12px var(--mono);letter-spacing:.1em}.condition-travel dl{display:grid;gap:12px;margin:0}.condition-travel dl>div{display:flex;justify-content:space-between;gap:16px}.condition-travel dt{color:#6f7985;font:11px/1.45 var(--mono);letter-spacing:.06em}.condition-travel dd{margin:0;color:#d0d5db;font:13px/1.4 var(--mono);text-align:right}.condition-travel dd small{display:block;margin-top:3px;color:#838d99;font-size:10px}.condition-travel>p{margin:0;color:#8f98a3;font-size:11px;line-height:1.55}.condition-travel>small{color:#646e7a;font:10px/1.5 var(--mono)}.condition-travel .travel-loading,.condition-travel .travel-unavailable{color:#7d8793;font:11px var(--mono)}.condition-travel .travel-here{color:#83a9ff;font-size:15px}.condition-travel .travel-history{padding-left:10px;border-left:1px solid var(--body-color)}.condition-travel .travel-history b{color:#bbc2ca;font:10px var(--mono);letter-spacing:.06em}

/* Readable 18px minimum across every data card, with collision-safe wrapping. */
.card,.year-card,.age-card,.condition-card,.spacecraft-card{font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.card .body-name,.year-card .body-name,.age-card .body-name,.spacecraft-card h3{font-size:18px;line-height:1.4}
.card .retrograde,.card .civil,.card .metric-label,.card .metric-total,.card .progress-meta,.card .progress-meta strong,.card .insight,.card .reference,.card .body-note{font-size:18px;line-height:1.5}
.card .reference{white-space:normal;overflow:visible;text-overflow:clip}.card .civil{flex-wrap:wrap;gap:12px}.card .civil strong{font-size:22px}.card .metric .progress-meta{align-items:flex-start;flex-wrap:wrap}.card .metric .progress-meta strong{text-align:left}
.year-card .dwarf,.year-card .year-epoch,.year-card .year-number,.year-card .year-facts span,.year-card .year-progress-meta,.year-card .year-source{font-size:18px;line-height:1.5}.year-card .year-facts{gap:14px}.year-card .year-facts span{align-items:flex-start;flex-wrap:wrap}.year-card .year-facts b{text-align:left}
.age-card .dwarf,.age-card .age-calendar,.age-card .age-facts span,.age-card .progress-meta,.age-card .progress-meta strong,.age-card .age-copy,.age-card .age-next{font-size:18px;line-height:1.5}.age-card .age-facts{gap:14px}.age-card .age-facts span,.age-card .progress-meta{align-items:flex-start;flex-wrap:wrap}
.condition-card .body-name,.condition-card .dwarf,.condition-card .condition-severity,.condition-card .no-surface,.condition-card .condition-gravity>span,.condition-card .condition-temperature>span,.condition-card .condition-survival>span,.condition-card .condition-weight>span,.condition-card .condition-gravity>small,.condition-card .condition-temperature>small,.condition-card .condition-weight dt,.condition-card .condition-weight dd,.condition-card .condition-survival>strong,.condition-card .condition-survival p,.condition-card .condition-survival small,.condition-card .condition-source,.condition-card .condition-travel>span,.condition-card .condition-travel dt,.condition-card .condition-travel dd,.condition-card .condition-travel dd small,.condition-card .condition-travel>p,.condition-card .condition-travel>small,.condition-card .condition-travel .travel-loading,.condition-card .condition-travel .travel-unavailable,.condition-card .condition-travel .travel-history b{font-size:18px;line-height:1.5}
.condition-card>header{flex-wrap:wrap;min-height:0}.condition-card .condition-severity{max-width:none;text-align:left}.condition-card .no-surface{flex-wrap:wrap}.condition-card .condition-weight dl>div,.condition-card .condition-travel dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);align-items:start;gap:10px 18px}.condition-card .condition-weight dd,.condition-card .condition-travel dd{text-align:right}
.spacecraft-card .mission-status,.spacecraft-card .mission-copy,.spacecraft-card .craft-primary span,.spacecraft-card .craft-primary small,.spacecraft-card .craft-metrics dt,.spacecraft-card .craft-metrics dd,.spacecraft-card .craft-human{font-size:18px;line-height:1.5}.spacecraft-card header{flex-wrap:wrap}.spacecraft-card .mission-status{white-space:normal}.spacecraft-card .mission-copy{min-height:0}.spacecraft-card .craft-metrics{grid-template-columns:1fr;gap:20px}
@media(max-width:1400px){.year-grid,.age-grid,.conditions-grid,.spacecraft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.year-grid,.age-grid,.conditions-grid,.spacecraft-grid{grid-template-columns:1fr}.condition-card .condition-weight dl>div,.condition-card .condition-travel dl>div{grid-template-columns:1fr}.condition-card .condition-weight dd,.condition-card .condition-travel dd{text-align:left}}

/* One locally hosted typeface throughout every card. */
:where(.card,.year-card,.age-card,.condition-card,.spacecraft-card),:where(.card,.year-card,.age-card,.condition-card,.spacecraft-card) *{font-family:var(--sans);font-variant-numeric:tabular-nums}
