:root{color-scheme:dark;--gold:#ebbd83;--cream:#fff1d9;--muted:#bdc5b8;--line:#f3cf9c42;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#141b18;color:var(--cream)}main{height:100vh;height:100dvh;min-height:520px;position:relative;overflow:hidden;isolation:isolate}#stage,#pins{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#111612b8,transparent 30%,transparent 71%,#111612bd),linear-gradient(90deg,#0b100d66,transparent 42%)}header,.intro,aside,footer{position:absolute}header{inset:20px 28px auto;display:flex;justify-content:space-between;align-items:center}.mark,.eyebrow,small{font:600 11px/1.3 system-ui;letter-spacing:.18em}.mark span,.muted,small{color:var(--muted)}.intro{top:72px;left:28px;pointer-events:none}.intro p{margin:.45rem 0}.eyebrow{color:var(--gold)}h1,h2{font-family:Georgia,serif;font-weight:400;margin:.35rem 0}h1{font-size:clamp(42px,7vw,96px);line-height:.97;letter-spacing:.045em}h1 span{display:block;font-size:.29em;letter-spacing:.01em;margin-top:.4em}h2{font-size:25px}aside{right:28px;bottom:32px;width:min(290px,29vw);padding:16px 18px;background:#151c18ed;border:1px solid var(--line);border-top-color:var(--gold)}aside p,details p{font-size:13px;color:#e0ded0;line-height:1.5;margin:.4rem 0 .7rem}button,summary{cursor:pointer}button{border:1px solid var(--line);color:var(--cream);background:#18211dea;padding:8px 11px;border-radius:3px;font:600 12px system-ui;min-height:34px}button:hover,button[aria-pressed=true],button[aria-current=true]{color:#1a1b14;background:var(--gold)}button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:3px}#pins{pointer-events:none}.pin{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border-radius:50%;width:38px;height:38px;padding:0;box-shadow:0 0 0 4px #eabc8242}footer{left:28px;bottom:25px;width:min(460px,60vw)}.tools,#stations{display:flex;gap:6px;flex-wrap:wrap}.timeline{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;margin:10px 0;font-size:12px;color:var(--gold)}input{width:100%;accent-color:var(--gold)}details{margin-top:8px;font-size:12px}details[open]{background:#171f1bed;padding:8px}a{color:var(--gold)}#error{position:absolute;left:30px;top:45%;background:#242821;padding:15px}
@media(max-width:720px){main{min-height:670px}header{inset:12px 12px auto}.intro{top:49px;left:12px}.intro p{font-size:12px}aside{inset:auto 12px 140px;width:auto;padding:8px 10px;min-height:112px}aside h2{font-size:19px}aside p{font-size:12px;margin:4px 0}#stations button{min-height:26px;padding:3px 9px}footer{bottom:10px;left:12px;width:calc(100% - 24px)}.pin{width:31px;height:31px;min-height:31px}details[open]{position:absolute;bottom:0;width:100%;z-index:5}}
