:root{--void: #05060f;--paper: #0d0c12;--ink: #f7f0de;--ink-2: #cdbd94;--ink-3: #8d8368;--ox: #f0c869;--rule: rgba(240, 200, 105, .25);--t-war: #ff6b5c;--t-politics: #7c8cff;--t-religion: #e8b34d;--t-economy: #57c98a;--t-science: #4fd6c0;--t-culture: #c98fe0;--t-disaster: #ff9662;--t-exploration: #2fe0a0;--t-revolution: #e26fc4;--t-empire: #a7b4c9;--serif: "EB Garamond", et-book, Palatino, "Palatino Linotype", Georgia, serif;--mono: "IBM Plex Mono", Menlo, Consolas, monospace;--page-pad: clamp(16px, 4vw, 56px);--halo: 0 1px 3px rgba(0, 0, 0, .9), 0 0 10px rgba(0, 0, 0, .65), 0 0 22px rgba(0, 0, 0, .42);--b-fill: color-mix(in srgb, var(--void) 72%, transparent);--b-border: color-mix(in srgb, var(--ox) 50%, transparent);--notch: polygon(3px 0, calc(100% - 3px) 0, 100% 3px, 100% calc(100% - 3px) , calc(100% - 3px) 100%, 3px 100%, 0 calc(100% - 3px) , 0 3px);color-scheme:dark}:root[data-galaxy=deep-violet]{--void: #0a0714;--paper: #0d0a1a;--ink: #eee8fb;--ink-2: #b4a9d6;--ink-3: #7a6f9c;--ox: #9b7bd4;--rule: rgba(155, 123, 212, .28)}:root[data-galaxy=observatory-mono]{--void: #060a0d;--paper: #0a1213;--ink: #e7f3f1;--ink-2: #9fc4bf;--ink-3: #5f8783;--ox: #6fd8d1;--rule: rgba(111, 216, 209, .22)}:root[data-galaxy=amber-dusk]{--void: #120a08;--paper: #150d09;--ink: #fbe8d1;--ink-2: #d9ac82;--ink-3: #8f6a4c;--ox: #e8954a;--rule: rgba(232, 149, 74, .25)}:root[data-galaxy=phosphor-tide]{--void: #030a0c;--paper: #04100f;--ink: #dffff7;--ink-2: #8fd9cd;--ink-3: #4f8f86;--ox: #3fd8c7;--rule: rgba(63, 216, 199, .22)}:root[data-galaxy=magenta-vapor]{--void: #0a0512;--paper: #140a1e;--ink: #fbe9fb;--ink-2: #d9a8d9;--ink-3: #8f6a91;--ox: #d94fb0;--rule: rgba(217, 79, 176, .25)}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{background:var(--void);color:var(--ink);margin:0}body{font-family:var(--serif);padding-inline:var(--page-pad);padding-block:0 40px;transition:background .4s,color .4s}.wrap{max-width:1280px;margin:0 auto;display:grid;gap:22px;position:relative;z-index:1;padding-top:28px}.galaxy-bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}@media (prefers-reduced-motion: reduce){body{transition:none}}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;margin-inline:calc(-1 * var(--page-pad));background:var(--void);border-bottom:1px solid var(--rule);box-sizing:border-box}.topbar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px;padding-inline:var(--page-pad);box-sizing:border-box}.topbar-name{font-family:var(--serif);font-size:1.05rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.theme-switch{position:relative;flex:none}.theme-btn{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);background:var(--b-fill);border:1px solid var(--ox);border-radius:0;clip-path:var(--notch);padding:7px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.theme-btn:hover{color:var(--ink)}.theme-btn .cur-swatch{width:9px;height:9px;border-radius:2px;background:var(--ox);flex:none}.theme-btn .chev{font-size:9px;opacity:.7}.theme-menu{position:absolute;right:0;top:calc(100% + 8px);width:250px;max-width:calc(100vw - 32px);background:var(--b-fill);border:1px solid var(--ox);border-radius:0;clip-path:var(--notch);padding:6px;list-style:none;margin:0;z-index:21;box-shadow:0 12px 28px color-mix(in srgb,var(--void) 80%,transparent)}.theme-menu[hidden]{display:none}.theme-row{width:100%;display:flex;align-items:center;gap:10px;padding:7px 8px;background:none;border:0;border-radius:3px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);cursor:pointer;text-align:left}.theme-row:hover,.theme-row:focus-visible{background:#ffffff0f;color:var(--ink)}.theme-row[aria-checked=true]{color:var(--ink);font-weight:600}.theme-row[aria-checked=true]:before{content:"✓";font-size:10px;flex:none;width:10px}.theme-row:not([aria-checked=true]):before{content:"";flex:none;width:10px}.row-swatches{display:flex;gap:3px;flex:none}.row-swatches span{width:8px;height:8px;border-radius:2px;box-shadow:inset 0 0 0 1px #fff3}.row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-default-tag{font-size:9px;letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--rule);border-radius:2px;padding:1px 5px;flex:none}.theme-menu-divider{height:1px;background:var(--rule);margin:6px 2px}.set-default-btn{width:100%;font-family:var(--mono);font-size:10.5px;color:var(--ink-2);background:none;border:1px dashed var(--rule);border-radius:3px;padding:7px 8px;cursor:pointer;text-align:center}.set-default-btn:hover,.set-default-btn:focus-visible{color:var(--ink);border-color:var(--ink-2)}@media (max-width: 480px){.theme-btn-prefix{display:none}.topbar-inner{padding-inline:16px}#themeBtnLabel{max-width:22vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}}header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px}.hero-plate,.era-plate{width:fit-content;max-width:100%}h1{font-weight:400;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1;margin:2px 0 8px;letter-spacing:.01em;text-wrap:balance;text-shadow:var(--halo)}h1:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;margin-bottom:2px;background:var(--ox)}.dek{font-size:1.2rem;line-height:1.45;max-width:58ch;margin:0;color:var(--ink);text-shadow:var(--halo)}.meta{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-2);display:flex;gap:8px;flex-wrap:wrap}.meta span{border:1px solid var(--ink-2);border-radius:4px;padding:3px 7px;text-shadow:var(--halo)}.meta .accent-chip{border-color:var(--ox);color:var(--ox)}.layout{display:grid;gap:30px;grid-template-areas:"stagecol" "narrative";grid-template-columns:minmax(0,1fr)}.stage-col{grid-area:stagecol;min-width:0}.narrative{grid-area:narrative;display:grid;gap:14px;align-content:start}.era-rail-wrap{position:relative}.era-rail{position:absolute;left:0;top:0;width:38px;image-rendering:pixelated;pointer-events:none}.era-list{display:grid;gap:16px;padding-left:48px;padding-bottom:70vh}@media (min-width: 861px){.layout{grid-template-areas:"narrative stagecol";grid-template-columns:400px minmax(0,1fr);align-items:start;gap:32px}.stage-col{position:sticky;top:calc(70px + env(safe-area-inset-top,0px))}}@media (min-width: 861px) and (max-width: 1240px){.stage{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1241px){.panel{height:calc(100vh - 70px - env(safe-area-inset-top,0px))}.stream{max-height:none;flex:1 1 auto}}.era-sec{scroll-margin-top:50vh;min-height:172px;display:flex;flex-direction:column;justify-content:center}.era-plate{width:auto}.era-sec h2{font-weight:400;font-size:1.4rem;margin:0 0 8px;text-shadow:var(--halo)}.era-sec p{font-family:var(--serif);font-size:.98rem;line-height:1.55;margin:0;color:var(--ink);max-width:56ch;background:var(--b-fill);border:1px solid var(--b-border);border-radius:0;clip-path:var(--notch);padding:10px 14px}.narrative-note{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--ink-2);margin:0;display:inline-block;text-shadow:var(--halo)}.landmark-card{scroll-margin-top:50vh;display:flex;align-items:baseline;gap:9px;margin:0;font-size:.85rem;line-height:1.4;color:var(--ink);text-shadow:var(--halo)}.landmark-card:before{content:"";width:5px;height:5px;background:var(--ox);flex:none;align-self:center}.landmark-year{font-family:var(--mono);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.landmark-title{font-family:var(--serif);color:var(--ink)}.stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}@media (max-width: 860px){.stage{grid-template-columns:1fr}}.globe-box{position:relative;aspect-ratio:1 / 1;max-width:100%}.globe-box canvas{position:absolute;inset:0;width:100%;height:100%}.hover{position:absolute;pointer-events:none;background:var(--paper);border:1px solid var(--b-border);border-radius:6px;padding:8px 10px;font-size:15px;line-height:1.3;max-width:240px}.hover small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--ink-2);margin-top:4px}.timeline{display:grid;gap:10px;margin-top:14px}.tl-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.btn{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;background:var(--b-fill);color:var(--ink);border:1px solid var(--ox);border-radius:0;clip-path:var(--notch);padding:9px 16px;cursor:pointer}.btn:hover{filter:brightness(1.2)}.btn:active{filter:brightness(.85)}.btn:focus-visible,.speed button:focus-visible,#tlHandle:focus-visible,.theme-btn:focus-visible,.theme-row:focus-visible,.set-default-btn:focus-visible{outline:2px solid var(--ox);outline-offset:2px}.speed{display:flex;gap:6px}.speed button{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;background:var(--b-fill);border:1px solid var(--ox);border-radius:0;clip-path:var(--notch);padding:9px 13px;cursor:pointer;color:var(--ink-2)}.speed button[aria-pressed=true]{background:var(--ox);color:var(--void);font-weight:600}.tl-stage{position:relative;height:34px;margin-top:34px;touch-action:none;cursor:pointer}.tl-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.tl-handle{position:absolute;top:-6px;bottom:-6px;width:3px;margin-left:-1.5px;background:var(--ox);border-radius:0;cursor:grab;box-shadow:0 0 0 1px var(--paper)}.tl-handle:active{cursor:grabbing}.tl-handle-label{position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:8px;font-family:var(--mono);font-size:11px;font-weight:600;background:var(--ink);color:var(--paper);padding:2px 6px;border-radius:0;white-space:nowrap;pointer-events:none}.tl-ticks{position:relative;height:16px;font-family:var(--mono);font-size:10px;color:var(--ink-2)}.tl-ticks span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-family:var(--mono);text-align:center;margin-top:6px}.stats b{display:block;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.stats span{font-size:10.5px;color:var(--ink-2)}#sTheme{color:var(--ox)}.panel{display:flex;flex-direction:column;gap:16px;min-height:0}.era-summary{flex:none}.judgments{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.label{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);display:flex;justify-content:space-between;gap:8px;background:var(--b-fill);border:1px solid var(--b-border);border-radius:0;clip-path:var(--notch);padding:6px 10px;box-sizing:border-box;flex:none}.card{border:1px solid var(--b-border);border-radius:0;clip-path:var(--notch);padding:12px 14px;background:var(--b-fill)}.q{font-family:var(--mono);font-size:11.5px;display:flex;gap:8px;align-items:baseline;margin-bottom:10px;line-height:1.35}.tag{font-family:var(--mono);font-size:10px;font-weight:600;border:1px solid currentColor;border-radius:3px;padding:1px 5px;letter-spacing:.06em;color:var(--ox);flex:none}.bars{display:grid;gap:5px}.bar{display:grid;grid-template-columns:72px 1fr 36px;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--ink-3);transition:color .3s}.bar.win{color:var(--ink);font-weight:600}.track{height:8px;background-image:radial-gradient(circle,var(--rule) 1px,transparent 1.3px);background-size:4px 4px;position:relative;border-radius:1px}.fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--c, var(--ox));opacity:.4;transition:width .55s cubic-bezier(.2,.8,.2,1),opacity .3s}.bar.win .fill{opacity:1}.era .fill{transition:none}.num{text-align:right;font-variant-numeric:tabular-nums}.conf{font-family:var(--mono);font-size:10.5px;color:var(--ink-2);margin-top:8px;display:flex;justify-content:space-between}.impact{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}.impact div{font-family:var(--mono);font-size:9.5px;color:var(--ink-3);text-align:center}.impact i{display:block;height:6px;border:1px solid var(--b-border);border-radius:2px;margin-bottom:3px;background:var(--paper);transition:background .4s}.impact i.on{background:var(--ox);border-color:var(--ox)}.stream{--stream-gutter: 16px;display:grid;align-content:start;gap:10px;min-height:0;max-height:min(50vh,420px);overflow-y:auto;overscroll-behavior:contain;width:calc(100% + var(--stream-gutter));margin-right:calc(-1 * var(--stream-gutter));padding-right:var(--stream-gutter);padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--ox) transparent}.stream::-webkit-scrollbar{width:6px}.stream::-webkit-scrollbar-track{background:transparent}.stream::-webkit-scrollbar-thumb{background:var(--ox);border-radius:3px}.stream.has-more{mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent)}.stream .card{animation:in .45s ease-out}.stream .card:nth-child(2){opacity:.85}.stream .card:nth-child(3){opacity:.7}.ev-title{font-family:var(--serif);font-size:1.05rem;line-height:1.3;margin:0 0 8px}.ev-title em{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--ox);margin-right:6px}@keyframes in{0%{transform:translateY(-8px);opacity:0}}@media (prefers-reduced-motion: reduce){.stream .card{animation:none}.fill{transition:none}}.q-block .q{margin-bottom:4px;font-size:10.5px}.bars.compact{gap:3px}.bars.compact .bar{grid-template-columns:68px 1fr 28px;gap:6px;font-size:9.5px}.bars.compact .bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bars.compact .track{height:6px}.note{font-family:var(--mono);font-size:10.5px;color:var(--ink-2);margin-top:10px}.live-panel #liveLatency{font-variant-numeric:tabular-nums}.live-panel .card{display:flex;flex-direction:column;gap:10px}.live-label{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.live-input{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:1rem;padding:10px 12px;border:1px solid var(--b-border);border-radius:0;clip-path:var(--notch);background:var(--b-fill);color:var(--ink)}.live-input:focus-visible{outline:2px solid var(--ox);outline-offset:2px}.live-panel .q{margin-bottom:2px}.live-panel .bars{min-height:0}.live-panel .conf{margin-top:0}.live-panel .conf.is-error{color:var(--ox)}
