:root {
  color-scheme:dark;
  --ink:#e8e6f1; --muted:#b4b0c6; --paper:#070813; --line:#bcb4e138; --light:#f2eefb; --accent:#c4d0f5;
  --mono:"IBM Plex Mono","Courier New",monospace; --sans:"IBM Plex Sans",sans-serif;
  --page:min(1160px,calc(100% - 96px));
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; background:var(--paper); scroll-padding-top:24px; }
body { margin:0; color:var(--ink); font:400 17px/1.7 var(--sans); }
body>main,.site-footer { position:relative; z-index:1; }
::selection { background:#c7bdf3; color:#080912; }
a { color:inherit; text-underline-offset:5px; text-decoration-thickness:1px; }
button { color:inherit; font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
a:hover { text-decoration-color:transparent; }
button:disabled { opacity:.35; cursor:not-allowed; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:10; padding:12px 20px; color:var(--ink); background:var(--paper); }
.skip-link:focus { top:20px; }
.chamber { position:relative; min-height:680px; height:100svh; max-height:1080px; color:var(--light); isolation:isolate; background:transparent; overflow:hidden; }
.chamber:focus { outline:none; }
.site-backdrop { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; background:#04050b; }
.matter,.chamber-shade,.field,.sky-veil { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.matter { background:url("assets/backgrounds/user-starfield.png") 48% 50% / cover no-repeat; opacity:.42; transform:scale(1.12); transform-origin:38% 48%; animation:matter-drift 36s ease-in-out infinite alternate; will-change:transform; }
.sky-veil { background:radial-gradient(ellipse at 18% 25%,#364a841a,transparent 62%),linear-gradient(180deg,#04051108,#04051130 72%,#04051155); }
.chamber-shade { z-index:-1; background:linear-gradient(180deg,#04051150,transparent 25%,transparent 60%,#070813a8 100%),linear-gradient(90deg,transparent 36%,#06081372 66%,#060813ad 100%); }
.field { opacity:.85; }
.site-header { position:relative; display:flex; justify-content:space-between; gap:24px; align-items:center; padding:20px 40px; font:400 12px/1.5 var(--mono); }
.brand { display:flex; align-items:center; gap:20px; text-decoration:none; }
.brand>span:first-child { font-size:20px; letter-spacing:-.08em; }
.brand-note { opacity:.85; }
.site-header nav { display:flex; gap:26px; align-items:center; }
.site-header nav a,.site-header button { display:inline-flex; align-items:center; min-height:44px; }
.site-header nav a { text-decoration:none; }
.site-header nav a:hover { text-decoration:underline; }
.site-header button { border:0; border-bottom:1px solid var(--line); background:transparent; padding:0; font:inherit; }
.date-observation { position:absolute; top:18%; right:6%; width:31%; max-width:460px; }
.eyebrow { margin:0 0 26px; font:400 12px/1.6 var(--mono); }
.date-observation .eyebrow { color:var(--muted); }
.eyebrow span[aria-hidden] { padding:0 8px; }
h1 { font:400 clamp(30px,3.45vw,52px)/1.28 var(--mono); letter-spacing:-.065em; margin:0; max-width:12ch; text-wrap:balance; }
.date-year { display:block; font-size:14px; line-height:2; letter-spacing:.12em; color:var(--muted); margin-top:6px; }
.observation-line { margin:26px 0 0; color:var(--ink); font-size:17px; line-height:1.7; }
.slice-pattern { margin:24px 0 0; font:400 13px/1.6 var(--mono); color:var(--accent); }
.slice-pattern::before { content:"↳ "; }
.slice-pattern:empty { display:none; }
.read-link { display:flex; align-items:center; justify-content:space-between; max-width:290px; min-height:50px; border-bottom:1px solid var(--line); margin-top:20px; text-decoration:none; font:400 13px var(--mono); }
.read-link span { font-size:21px; transition:transform 200ms ease; }
.read-link:hover span { transform:translateY(4px); }
.release-meta { display:flex; gap:22px; color:var(--muted); font:400 12px/1.6 var(--mono); margin-top:20px; }
.spatial-field { position:absolute; width:66%; height:68%; top:12%; left:-2%; }
.date-core { position:absolute; left:47%; top:45%; width:172px; height:172px; transform:translate(-50%,-50%); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:9px; text-decoration:none; background:radial-gradient(circle,#060610d9, #06061075 55%,transparent 73%); text-shadow:0 2px 12px #000; }
.core-date { font:400 25px var(--mono); letter-spacing:-.08em; }
.core-caption { font:400 12px var(--mono); color:var(--muted); }
.event-constellation { position:absolute; inset:0; pointer-events:none; }
.event-node { pointer-events:auto; position:absolute; left:var(--x); top:var(--y); display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:11px 16px; min-width:96px; min-height:60px; text-decoration:none; border:1px solid var(--line); background:#080813de; color:var(--ink); transition:background 200ms ease,border-color 200ms ease; }
.event-node::before { content:""; position:absolute; top:-3px; left:-3px; width:5px; height:5px; border-radius:50%; background:white; box-shadow:0 0 12px 3px #daf6ff99; }
.node-year { font:400 20px/1.3 var(--mono); letter-spacing:-.05em; }
.node-label { font:400 11px/1.5 var(--mono); }
.event-node:hover { background:#161429ed; border-color:var(--accent); }
.field-note { position:absolute; bottom:9%; left:18%; font:400 12px var(--mono); color:var(--muted); }
.chamber-footer { position:absolute; bottom:0; left:40px; right:40px; display:flex; justify-content:space-between; align-items:end; gap:32px; padding:26px 0 28px; border-top:1px solid var(--line); }
.date-index { min-width:0; }
.rail-heading { display:flex; gap:14px; align-items:center; font:400 12px var(--mono); color:var(--muted); margin-bottom:8px; }
.rail-heading #release-count { opacity:.65; }
.date-list { display:flex; gap:4px; margin:0; padding:0; list-style:none; overflow-x:auto; max-width:70vw; }
.date-button { min-width:64px; min-height:50px; padding:8px 13px; border:1px solid transparent; background:transparent; color:var(--ink); font:400 13px var(--mono); }
.date-button:hover { border-color:#d7e5df70; }
.date-button[aria-current="date"] { border-color:#cec4ed; background:#1c1933ed; color:#f1ecff; box-shadow:inset 0 -2px #cfc0ed; }
.system-state { display:flex; align-items:center; gap:9px; font:400 12px var(--mono); padding-bottom:16px; white-space:nowrap; color:var(--muted); }
.state-light { width:4px; height:4px; border-radius:50%; background:#a1b1a9; }
.state-light.is-live { background:var(--accent); box-shadow:0 0 12px #b6c5f566; }
.record-room { width:var(--page); margin:0 auto; padding:68px 32px 54px; background:linear-gradient(180deg,#080a15dd,#080a15ed 34%,#080a15e8); border:1px solid var(--line); border-bottom:0; }
.room-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.room-heading h2 { font:400 14px var(--mono); margin:0; }
.room-heading>a,.room-heading>span { font:400 12px/1.5 var(--mono); color:var(--muted); }
.release-stage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:36px 0 76px; }
.visual-card { margin:0; min-width:0; }
.visual-card a { text-decoration:none; display:block; }
.visual-card img { width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:#10121f; display:block; border:1px solid #c5bce238; box-shadow:0 12px 40px #03040b66; transition:filter 350ms ease,box-shadow 350ms ease; }
.visual-card a:hover img { filter:brightness(1.06); box-shadow:0 12px 44px #9b8ab12c; }
.visual-card figcaption { padding-top:14px; display:grid; grid-template-columns:auto 1fr; column-gap:20px; row-gap:6px; font:400 12px/1.5 var(--mono); }
.visual-card .figure-title { grid-column:1/-1; font:400 17px/1.45 var(--sans); }
.figure-index { color:var(--muted); }
.visual-placeholder { aspect-ratio:4/5; background:#10121f; display:grid; place-items:center; font:400 12px var(--mono); }
.release-reading { display:grid; grid-template-columns:1fr 2fr; gap:70px; border-top:1px solid var(--line); padding:64px 0 76px; }
.pattern-column h2 { font:400 clamp(25px,2.7vw,36px)/1.28 var(--sans); margin:0; text-wrap:balance; }
.reading-note { margin-top:26px; font:400 12px/1.7 var(--mono); color:var(--muted); }
.interpretation { max-width:66ch; font-size:18px; line-height:1.8; }
.interpretation p { margin:0 0 24px; }
.interpretation p:last-child { margin-bottom:0; }
.event-entry { border-bottom:1px solid var(--line); scroll-margin-top:30px; }
.event-summary { display:grid; grid-template-columns:35px 65px 1fr 22px; align-items:baseline; gap:22px; text-align:left; width:100%; padding:24px 0; border:0; background:transparent; }
.event-number,.event-year,.event-toggle { font:400 12px var(--mono); }
.event-number { color:var(--muted); }
.event-name { font-size:19px; line-height:1.5; }
.event-toggle { justify-self:end; font-size:20px; transition:transform 200ms ease; }
.event-summary:hover .event-name { text-decoration:underline; text-underline-offset:5px; }
.event-summary[aria-expanded="true"] .event-toggle { transform:rotate(45deg); }
.event-detail { display:grid; grid-template-columns:1.5fr 1fr; gap:56px; padding:0 0 36px 144px; }
.event-description { margin:0; font-size:17px; }
.event-sources { display:grid; gap:12px; align-content:start; }
.event-sources a { font:400 12px/1.6 var(--mono); padding:8px 0; overflow-wrap:anywhere; }
.event-sources a { color:#c6c9f6; }
.event-sources a:visited { color:#d0b5e8; }
.release-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:40px; font:400 12px var(--mono); }
.release-controls button { padding:12px 0; min-height:44px; border:0; border-bottom:1px solid var(--line); background:transparent; font:inherit; }
.method { width:var(--page); margin:0 auto 64px; padding:64px 32px 72px; background:#080a15e8; border:1px solid var(--line); }
.method h2 { max-width:26ch; font:400 30px/1.4 var(--sans); margin:0; text-wrap:balance; }
.method>p:not(.eyebrow) { max-width:65ch; font-size:17px; margin:26px 0; }
.method>a { display:inline-flex; align-items:center; min-height:44px; font:400 12px var(--mono); }
.site-footer { border-top:1px solid var(--line); padding:30px 48px; display:flex; justify-content:space-between; gap:30px; font:400 12px/1.6 var(--mono); background:#070813d9; }
.site-footer a { min-height:44px; display:inline-flex; align-items:center; }
.site-footer>span { align-self:center; color:var(--muted); }
.load-error,.noscript-message { padding:40px; font-size:17px; }
.is-paused .matter { animation-play-state:paused; }
@keyframes matter-drift {
  0% { transform:scale(1.12) rotate(-1.6deg) translate3d(-.8%,.4%,0); opacity:.36; }
  50% { transform:scale(1.15) rotate(.3deg) translate3d(.1%,-.5%,0); opacity:.46; }
  100% { transform:scale(1.12) rotate(1.6deg) translate3d(.8%,.3%,0); opacity:.36; }
}
@media(min-width:1600px) { .date-observation { right:9%; } }
@media(max-width:1000px) {
  :root { --page:calc(100% - 56px); }
  .site-header { padding:16px 28px; }
  .site-header nav { gap:18px; }
  .brand-note { display:none; }
  .date-observation { right:5%; width:36%; }
  .spatial-field { left:-2%; width:64%; }
  .event-node { min-width:84px; padding:9px 12px; }
  .chamber-footer { left:28px; right:28px; }
  .system-state { display:none; }
  .date-list { max-width:calc(100vw - 56px); }
  .release-reading { grid-template-columns:1fr 2fr; gap:36px; }
  .release-stage { gap:22px; }
  .event-detail { padding-left:0; gap:32px; }
}
@media(max-width:640px) {
  :root { --page:calc(100% - 40px); }
  .chamber { display:flex; flex-direction:column; min-height:920px; height:auto; max-height:none; }
  .site-header { padding:14px 20px; align-items:flex-start; }
  .site-header nav { gap:6px 16px; justify-content:flex-end; flex-wrap:wrap; max-width:260px; font-size:11px; }
  .site-header nav a,.site-header button { min-height:44px; }
  .matter { background-position:36% 50%; }
  .chamber-shade { background:linear-gradient(180deg,#02020580,#020205b8 33%,#02020510 51%,#02020510 68%,#020205d9 90%,#020205 100%); }
  .date-observation { position:relative; inset:auto; width:auto; max-width:none; margin:20px 24px 0; }
  .date-observation .eyebrow { margin-bottom:16px; }
  h1 { font-size:34px; max-width:none; }
  .date-year { display:inline; margin-left:16px; }
  .observation-line { font-size:16px; margin-top:16px; }
  .observation-line br { display:none; }
  .slice-pattern { margin-top:16px; }
  .read-link { margin-top:10px; max-width:none; }
  .release-meta { margin-top:12px; }
  .spatial-field { position:relative; inset:auto; width:100%; height:320px; flex:0 0 320px; margin-top:32px; }
  .date-core { width:128px; height:128px; left:48%; top:42%; }
  .core-date { font-size:21px; }
  .core-caption { font-size:11px; }
  .event-node { padding:7px 9px; min-width:72px; min-height:49px; }
  .node-year { font-size:16px; }
  .node-label { font-size:10px; }
  .field-note { bottom:-10px; left:24px; font-size:11px; }
  .chamber-footer { position:relative; inset:auto; margin:44px 20px 0; padding:18px 0 24px; }
  .date-list { max-width:calc(100vw - 40px); gap:2px; }
  .date-button { min-width:48px; padding:8px 9px; font-size:12px; }
  .record-room { padding:36px 18px 40px; width:calc(100% - 24px); }
  .room-heading { gap:18px; align-items:center; }
  .room-heading h2 { font-size:13px; }
  .room-heading>a,.room-heading>span { max-width:17ch; font-size:11px; }
  .room-heading>a { min-height:44px; display:flex; align-items:center; }
  .release-stage { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:24px 0 36px; }
  .visual-card { flex:0 0 78%; scroll-snap-align:start; }
  .release-reading { grid-template-columns:1fr; gap:28px; padding:36px 0 44px; }
  .pattern-column .eyebrow { margin-bottom:12px; }
  .reading-note { margin:16px 0 0; }
  .reading-note br { display:none; }
  .interpretation { font-size:17px; line-height:1.75; }
  .event-summary { grid-template-columns:46px 1fr 18px; gap:12px; }
  .event-number { display:none; }
  .event-name { font-size:17px; }
  .event-detail { grid-template-columns:1fr; gap:18px; }
  .release-controls { font-size:11px; gap:12px; }
  .method { padding:36px 18px 48px; width:calc(100% - 24px); margin-bottom:28px; }
  .method h2 { font-size:26px; }
  .site-footer { padding:24px 20px; flex-wrap:wrap; gap:12px 30px; }
  .site-footer>span { width:100%; order:3; }
}

.event-map { position:absolute; inset:0; }
.planet-toggle { display:inline-flex; align-items:center; min-height:44px; margin-top:14px; padding:0; border:0; border-bottom:1px solid var(--line); background:transparent; font:400 12px var(--mono); }
.planet-toggle[aria-pressed="true"] { color:#d7c5ff; }
.planet-map { position:absolute; inset:-4% 0 0; margin:0; background:radial-gradient(ellipse at 50% 44%,#020205b8 20%,#02020580 48%,transparent 73%); display:flex; flex-direction:column; align-items:center; }
.planet-map svg { display:block; width:100%; min-height:0; flex:1; overflow:visible; }
.planet-map figcaption { text-align:center; font:400 10px/1.7 var(--mono); color:#d5d2e2; background:#020205a6; padding:7px 14px; }
.planet-map figcaption a { display:inline-flex; min-height:24px; align-items:center; }
.planet-label { fill:#f5efff; font:400 17px var(--mono); paint-order:stroke; stroke:#050510; stroke-width:5px; stroke-linejoin:round; }
.planet-orbit { fill:none; stroke:#d8dcff; opacity:.12; stroke-width:.7; stroke-dasharray:2 6; }
.planet-leader { fill:none; stroke:#d4caff; opacity:.55; stroke-width:.7; }
.planet-method { margin:30px 0; max-width:72ch; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0; scroll-margin-top:24px; }
.planet-method summary { cursor:pointer; padding:8px 0; font:400 13px var(--mono); }
.planet-method p { font-size:15px; }
@media(max-width:640px) {
  .spatial-field:has(.planet-map:not([hidden])) { height:410px; flex-basis:410px; }
  .planet-map { inset:0; }
  .planet-map figcaption { font-size:10px; }
  .planet-label { font-size:20px; }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .matter { animation:none; }
  *,*::before,*::after { transition:none !important; }
}
