:root{--ink: #090c12;--ink-2: #0e131c;--panel: rgba(13, 17, 25, .74);--panel-solid: #111722;--line: rgba(232, 214, 180, .14);--line-strong: rgba(232, 214, 180, .3);--paper: #efe7d8;--muted: #a39b8d;--faint: #6f6a62;--gold: #e3b45e;--gold-soft: rgba(227, 180, 94, .18);--danger: #ff6b5a;--warn: #f2b84b;--serif: "EB Garamond", "Iowan Old Style", Georgia, serif;--sans: "Instrument Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--r: 14px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--ink);color:var(--paper);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}#map{position:fixed;inset:0;z-index:1}#map canvas{outline:none}.sky{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 70% at 50% var(--horizon, 38%),rgba(214,158,92,.16),transparent 60%),linear-gradient(to bottom,#05070c 0%,#0d1320 calc(var(--horizon, 38%) - 12%),#1c2230 var(--horizon, 38%),#0a0d13 calc(var(--horizon, 38%) + 8%),#07090d 100%)}.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(3,4,7,.55) 100%)}.masthead{position:fixed;top:26px;left:30px;z-index:5;max-width:430px;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.8)}.eyebrow{margin:0 0 6px;font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.masthead h1,.loader h1{margin:0;font:500 56px/.95 var(--serif);letter-spacing:-.01em;color:var(--paper)}.lede{margin:12px 0 0;color:var(--muted);font-size:14px;max-width:360px}.lede span{color:var(--paper);font-family:var(--mono);font-size:13px}.panel{position:fixed;z-index:5;background:var(--panel);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 50px #00000073}.panel h2{margin:0;font:600 21px/1.1 var(--serif);letter-spacing:.01em}.panel h3{margin:0 0 8px;font:600 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.hint{margin:6px 0 0;color:var(--muted);font-size:12px}.legend{left:30px;top:205px;width:318px;padding:18px 18px 14px;max-height:calc(100vh - 360px);overflow:auto}.periods{list-style:none;margin:12px 0 8px;padding:0}.period{display:grid;grid-template-columns:14px 1fr 92px 48px;align-items:center;gap:10px;padding:5px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;transition:background .2s,opacity .3s}.period:hover{background:#ffffff0d}.period:focus-visible{outline:1px solid var(--gold)}.period .sw{width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff2e}.period .lab{font-size:13px;white-space:nowrap}.period .bar{height:5px;border-radius:3px;background:#ffffff0f;overflow:hidden}.period .bar i{display:block;height:100%;border-radius:3px}.period .pct{font:500 12px/1 var(--mono);text-align:right;color:var(--muted)}.legend.has-active .period{opacity:.42}.legend.has-active .period.active{opacity:1;background:#ffffff12}.legend.has-active .period.active .pct{color:var(--paper)}.ghost-note{display:flex;gap:10px;align-items:flex-start;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}.ghost-swatch{flex:0 0 14px;height:14px;margin-top:2px;border-radius:3px;background:#e6d2b438;box-shadow:inset 0 0 0 1px #e6d2b480}.period-detail{grid-column:2 / -1;font-size:11.5px;color:var(--muted);margin-top:-2px;display:none}.period:hover .period-detail,.period.active .period-detail{display:block}.timeline{left:50%;bottom:26px;transform:translate(-50%);width:min(880px,calc(100vw - 720px));min-width:520px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:14px 24px 12px 16px}.year-block{display:flex;align-items:center;gap:12px}.year{font:500 54px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;min-width:2.3em;letter-spacing:-.01em}.play{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:var(--gold-soft);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .15s}.play:hover{background:#e3b45e4d}.play:active{transform:scale(.95)}.play svg{width:20px;height:20px;fill:var(--gold)}.play .icon-pause,.play.playing .icon-play{display:none}.play.playing .icon-pause{display:block}.track-wrap{position:relative;height:34px}.track{position:absolute;left:0;right:0;top:12px;height:6px;border-radius:3px;overflow:hidden;display:flex;opacity:.9}.track i{display:block;height:100%}#slider{position:absolute;left:-8px;right:-8px;top:0;width:calc(100% + 16px);height:30px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}#slider::-webkit-slider-runnable-track{height:30px;background:transparent}#slider::-moz-range-track{height:30px;background:transparent}#slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:26px;margin-top:2px;border-radius:4px;background:var(--paper);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--gold),0 4px 12px #0009}#slider::-moz-range-thumb{width:12px;height:22px;border-radius:4px;background:var(--paper);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--gold),0 4px 12px #0009}#slider:focus-visible{outline:none}#slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--gold)}.ticks{position:absolute;left:0;right:0;top:22px;height:12px}.ticks span{position:absolute;transform:translate(-50%);font:400 10.5px/1 var(--mono);color:var(--faint);padding-top:2px}.ticks span:before{content:"";position:absolute;left:50%;top:-4px;width:1px;height:4px;background:var(--line-strong)}.census{margin:4px 0 0;font-size:12.5px;color:var(--muted)}.census b{color:var(--paper);font:500 12.5px var(--mono)}.controls{right:30px;top:26px;width:264px;max-height:calc(100vh - 130px);overflow:auto;padding:14px;display:flex;flex-direction:column;gap:16px}.fly-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(227,180,94,.5);background:linear-gradient(180deg,#e3b45e47,#e3b45e1f);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .15s}.fly-btn:hover{background:linear-gradient(180deg,#e3b45e66,#e3b45e2e)}.fly-btn svg{width:18px;height:18px;fill:var(--gold)}.presets{display:flex;flex-direction:column;gap:2px}.presets button{text-align:left;padding:6px 8px;margin:0 -8px;border:0;background:none;border-radius:7px;cursor:pointer;color:var(--paper);font-size:13px;transition:background .2s}.presets button small{display:block;color:var(--faint);font-size:11px}.presets button:hover{background:#ffffff0f}.toggle{display:flex;align-items:center;gap:10px;padding:4px 0;cursor:pointer;font-size:13px}.toggle small{color:var(--faint);font:400 11px var(--mono)}.toggle:has(input:disabled){opacity:.4;cursor:not-allowed}.zones{list-style:none;margin:0 0 4px 39px;padding:0;font-size:11px;color:var(--muted)}.zones li{display:flex;align-items:center;gap:7px;padding:1px 0;white-space:nowrap}.zones i{flex:0 0 11px;height:11px;border-radius:2px}.zones i.hatch{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.55) 0 2px,transparent 2px 5px)!important}.zones .n{margin-left:auto;font:400 10.5px var(--mono);color:var(--faint)}.risk .hint{font-size:11px}.seg{display:flex;gap:4px;margin:0 0 4px 39px}.seg[hidden]{display:none}.seg button{flex:1;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--muted);font-size:11.5px;cursor:pointer}.seg button[aria-checked=true]{border-color:#e3b45e99;background:var(--gold-soft);color:var(--paper)}.toggle input{position:absolute;opacity:0;pointer-events:none}.knob{position:relative;flex:0 0 30px;height:17px;border-radius:10px;background:#ffffff1f;transition:background .2s}.knob:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--paper);transition:transform .2s}.toggle input:checked+.knob{background:#e3b45ebf}.toggle input:checked+.knob:after{transform:translate(13px)}.toggle input:focus-visible+.knob{outline:1px solid var(--gold);outline-offset:2px}.compass{position:fixed;right:30px;bottom:34px;z-index:5;width:58px;height:58px;padding:0;border:0;background:var(--panel);border-radius:50%;backdrop-filter:blur(10px);cursor:pointer;box-shadow:0 0 0 1px var(--line),0 10px 30px #0006}.compass svg{width:100%;height:100%;overflow:visible}.compass .ring{fill:none;stroke:var(--line-strong)}.compass .north{fill:var(--gold)}.compass .south{fill:#efe7d859}.compass text{font:600 9px var(--sans);fill:var(--paper)}.credits{position:fixed;left:30px;bottom:26px;z-index:5;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--faint)}.link{padding:0;border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;text-align:left}.link:hover{color:var(--paper)}.tooltip{position:fixed;z-index:20;pointer-events:none;min-width:210px;max-width:280px;padding:11px 13px;border-radius:10px;background:#0c0f16f0;border:1px solid var(--line-strong);box-shadow:0 12px 34px #00000080;font-size:12.5px;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}.tooltip.show{opacity:1;transform:none}.tooltip .tt-head{display:flex;align-items:center;gap:8px;font:600 16px/1.1 var(--serif);margin-bottom:6px}.tooltip .tt-head i{width:11px;height:11px;border-radius:2px;flex:none}.tooltip dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0}.tooltip dt{color:var(--faint)}.tooltip dd{margin:0;font-family:var(--mono);font-size:12px}.tooltip .tt-note{margin:7px 0 0;color:var(--gold);font-size:11.5px}.reticle{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;display:none}.reticle line{stroke:#efe7d859;stroke-width:1.2;stroke-dasharray:3 4}.reticle #steer-dot{fill:none;stroke:var(--gold);stroke-width:1.6}.reticle .center{fill:none;stroke:#efe7d873;stroke-width:1.2}.reticle .center-cross{stroke:#efe7d873;stroke-width:1.2}.flight-help{position:fixed;right:30px;top:26px;z-index:6;width:300px;padding:16px 18px;display:none;background:var(--panel);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);font-size:12px;color:var(--muted)}.flight-help h3{margin:0 0 10px;font:600 20px/1 var(--serif);color:var(--paper);letter-spacing:0;text-transform:none}.flight-help dl{display:grid;grid-template-columns:92px 1fr;gap:5px 10px;margin:0}.flight-help dt{color:var(--paper);font:500 11.5px/1.4 var(--mono)}.flight-help dd{margin:0}.flight-help p{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--warn)}.flightbar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:6;display:none;align-items:stretch;gap:0;padding:0;overflow:hidden;background:#0a0d13db;backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 18px 50px #00000080}.flightbar .cell{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 16px;border-right:1px solid var(--line);min-width:92px}.flightbar .k{font:600 9.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.flightbar .v{font:500 14px/1.15 var(--mono);white-space:nowrap}.flightbar .mode .v{font-family:var(--sans);font-weight:600;color:var(--gold)}.flightbar .speed{min-width:190px}.flightbar .speed .v.back{color:#8cc8ff}.gauge{display:flex;gap:2px;margin-top:3px}.gauge i{width:8px;height:4px;border-radius:1px;background:#ffffff1a}.gauge i.zero{background:#ffffff47;width:2px}.gauge i.on{background:var(--gold)}.gauge i.on.rev{background:#8cc8ff}.flightbar .alert{min-width:170px;font:600 13px var(--sans);color:var(--faint)}.flightbar .alert.warn{color:var(--warn);background:#f2b84b1a}.flightbar .alert.danger{color:#fff;background:#ff5a4680;animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{background:#ff5a4640}}.flightbar .exit{border:0;border-left:1px solid var(--line);background:#ffffff0a;padding:0 18px;cursor:pointer;font-weight:600}.flightbar .exit:hover{background:#ffffff1a}body.flying .legend,body.flying .timeline,body.flying .controls,body.flying .compass,body.flying .credits{opacity:0;pointer-events:none;transform:translateY(8px)}body.flying .timeline{transform:translate(-50%,8px)}body.flying .masthead{opacity:.25}body.flying .reticle,body.flying .flight-help{display:block}body.flying .flightbar{display:flex}body.flying #map{cursor:crosshair}.legend,.timeline,.controls,.compass,.credits,.masthead{transition:opacity .35s,transform .35s}.about{max-width:620px;width:calc(100vw - 32px);padding:28px 30px;border-radius:var(--r);background:var(--panel-solid);color:var(--paper);border:1px solid var(--line-strong);box-shadow:0 30px 80px #0009;font-size:13.5px;line-height:1.6}.about::backdrop{background:#04060a99;backdrop-filter:blur(3px)}.about h2{margin:0 0 12px;font:600 28px/1.1 var(--serif)}.about h3{margin:18px 0 6px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.about p{margin:0 0 10px;color:#d6cebf}.about strong{color:var(--paper)}.about ul{margin:0;padding-left:18px}.about a{color:var(--gold)}.about .small{margin-top:16px;font-size:12px;color:var(--faint)}.about .close{position:absolute;top:12px;right:14px;border:0;background:none;font-size:26px;cursor:pointer;color:var(--muted)}.loader{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#141b28,var(--ink) 70%);transition:opacity .9s}.loader h1{font-size:72px}.loader .bar{width:260px;height:2px;margin:28px 0 14px;background:#ffffff14;border-radius:2px;overflow:hidden}.loader .bar span{display:block;height:100%;width:0;background:var(--gold);transition:width .25s}.loader-msg{margin:0;color:var(--muted);font-size:13px}.loader.done{opacity:0;pointer-events:none}.loader.error .loader-msg{color:var(--danger)}.credits a{color:inherit}.gate{display:flex;flex-direction:column;align-items:center;max-width:34em;margin-top:22px;text-align:center}.gate p{margin:0 0 12px;color:var(--muted);font-size:14px}.gate .gate-lede{color:var(--paper);font-size:16px}.gate b{color:var(--paper);font-weight:600}.gate .gate-warn{color:var(--gold)}.gate-btn{margin-top:10px;padding:12px 28px;border:1px solid var(--gold);border-radius:999px;background:var(--gold-soft);color:var(--paper);font-weight:600;letter-spacing:.02em;cursor:pointer}.gate-btn:hover,.gate-btn:focus-visible{background:var(--gold);color:var(--ink);outline:none}.gate-btn:disabled{opacity:.4;cursor:not-allowed}.progress{display:flex;flex-direction:column;align-items:center}.loader [hidden]{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:1280px){.timeline{left:370px;right:300px;width:auto;min-width:0;transform:none}body.flying .timeline{transform:translateY(8px)}}@media(max-width:900px){.masthead{top:16px;left:16px;right:16px}.masthead h1{font-size:40px}.lede{display:none}.legend{inset:auto 16px 150px;width:auto;max-height:34vh;padding:12px 14px}.legend .hint,.ghost-note{display:none}.period{grid-template-columns:12px 1fr 60px 44px;padding:3px 8px}.controls{bottom:auto;right:16px;top:90px;width:180px;padding:10px;gap:10px}.controls .group:first-of-type{display:none}.timeline{left:16px;right:16px;bottom:16px;grid-template-columns:1fr;gap:6px;padding:10px 14px}.year{font-size:38px}.compass,.credits{display:none}.flightbar{left:16px;right:16px;transform:none;flex-wrap:wrap}.flight-help{display:none!important}}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./eb-garamond-latin-500-normal-DehAIUv0.woff2) format("woff2"),url(./eb-garamond-latin-500-normal-DZU8xF9o.woff) format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-latin-600-normal-DHwxsLHv.woff2) format("woff2"),url(./eb-garamond-latin-600-normal-xCe6GkOx.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(./instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(./instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(./instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff")}
