:root{color-scheme:dark;--ink:#000;--ivory:#f3f6fa;--gold:#bcdfff;--edge:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#000}body{font-family:Arial,Helvetica,sans-serif;color:var(--ivory);overflow:hidden;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:12px}button:focus-visible,a:focus-visible{outline:1px solid #a8dbff;outline-offset:5px}button:hover{color:white}button:disabled{opacity:.25;cursor:default}[hidden]{display:none!important}
#start-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#000}
#begin{display:grid;place-items:center;width:96px;height:96px;padding:28px;color:#29313b;border:0;outline:none;background:transparent}
#begin svg{width:40px;height:40px;fill:currentColor;filter:drop-shadow(0 0 0 transparent);transition:color .2s,filter .24s}
#begin:hover,#begin:focus-visible,#begin:active{color:#fff}
#begin:hover svg,#begin:focus-visible svg,#begin:active svg{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 8px #fff) drop-shadow(0 0 22px #afd9ff) drop-shadow(0 0 55px #86bfff)}
main:focus{outline:none}
:root:fullscreen,:root:fullscreen *{cursor:none!important}
:root:-webkit-full-screen,:root:-webkit-full-screen *{cursor:none!important}
#universe{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;background:#000}
header,footer{position:fixed;left:var(--edge);right:var(--edge);z-index:5;opacity:0;pointer-events:none;transition:opacity 1.1s}header{top:20px;display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:.75rem;letter-spacing:.3em;padding-left:0;color:#b1bbc7}.header-actions{display:flex;align-items:center;gap:10px}.header-actions button{height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;color:#aeb6bf}.header-actions svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.25}
.chrome-ready.ui-awake header,.chrome-ready.ui-awake footer,.chrome-ready header:focus-within,.chrome-ready footer:focus-within{opacity:.85;pointer-events:auto}.chrome-ready:not(.ui-awake){cursor:none}.chrome-ready header:hover,.chrome-ready footer:hover{opacity:1;pointer-events:auto}
main{position:fixed;inset:0;z-index:3;pointer-events:none}article{position:absolute;top:76%;left:20px;right:20px;text-align:center;opacity:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0;line-height:1.15}h1{font-size:clamp(24px,2.6vw,38px);letter-spacing:.03em;color:#e8edf4;text-shadow:0 2px 20px #000}.intro{top:72%}.intro h1{font-size:clamp(38px,5.2vw,74px);text-transform:uppercase;letter-spacing:.42em;padding-left:.42em}.ending h1{font-style:italic;font-size:clamp(26px,3vw,42px)}#replay{pointer-events:auto;font-size:.875rem;color:#8f9faf;margin-top:16px;text-decoration:underline;text-underline-offset:6px}
footer{bottom:22px;max-width:760px;margin:0 auto}#timeline{display:flex;gap:8px;width:100%}.chapter-stop{position:relative;padding:12px 0;width:100%;height:28px}.chapter-stop:before,.chapter-stop:after{content:"";position:absolute;top:13px;left:0;height:1px}.chapter-stop:before{right:0;background:#343e49}.chapter-stop:after{width:var(--fill,0%);background:#c1e4ff;box-shadow:0 0 7px #5ebeff88}.chapter-stop:hover:before,.chapter-stop:focus-visible:before{height:3px;background:#758596}.tooltip{position:absolute;bottom:34px;left:0;background:#10151b;padding:8px 12px;border:1px solid #303c48;border-radius:3px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none}.chapter-stop:last-child .tooltip{left:auto;right:0}.chapter-stop:hover .tooltip,.chapter-stop:focus-visible .tooltip{opacity:1}
#chapter.credits-visible{top:auto;bottom:clamp(64px,10vh,110px);max-height:calc(100dvh - 130px);overflow-y:auto;pointer-events:auto}
#credits{margin:0 auto;max-width:360px;line-height:1.5;text-shadow:0 2px 20px #000}
#credits>div+div{margin-top:18px}#credits dt{font-size:1rem;color:#eef4fb}#credits dd{margin:4px 0 0;font-size:.875rem;color:#aabaca}
.noscript{position:relative;z-index:20;padding:10vw;font-size:1rem}
@media(max-width:600px){header{top:12px}footer{bottom:16px}.intro h1{letter-spacing:.3em;padding-left:.3em}article{top:74%}.intro{top:72%}}
@media(max-height:500px){article,.intro{top:66%}.intro h1{font-size:36px}h1,.ending h1{font-size:24px}header{top:4px}footer{bottom:6px}#replay{margin-top:2px}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.1s!important}}
