:root{--bg:#050505;--fg:#eee;--muted:#eee9;--faint:#eeeeee24;--accent:#d66853;--panel:#0e0e10d6;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--gutter:clamp(1rem, 4vw, 4rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0}body.webgl{height:100dvh;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#overlay:focus-visible{outline:1px solid var(--accent);outline-offset:3px}#overlay:focus{outline:none}.heading{z-index:2;padding:var(--gutter);pointer-events:none;animation:1.2s .2s both fade-in;position:absolute;top:0;left:0}.heading>*{pointer-events:auto}.heading h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}.subtitle{color:var(--muted);margin:.35em 0 0;font-size:.95rem;font-style:italic;font-weight:300}.tagline{font-family:var(--mono);color:var(--muted);margin:.3em 0 0;font-size:.75rem}.tagline:empty,.links:empty{display:none}.links{gap:1.25em;margin-top:1em;font-size:.85rem;display:flex}.links a{color:var(--fg);border-bottom:1px solid var(--faint);text-decoration:none;transition:border-color .2s}.links a:hover{border-color:var(--accent)}.controls{gap:.5em;margin-top:2em;display:flex}.controls button{border:1px solid var(--faint);color:var(--muted);background:0 0;border-radius:999px;padding:.4em .9em;font-size:.8rem;transition:border-color .2s,color .2s}.controls button:hover,.controls button[aria-expanded=true]{border-color:var(--accent);color:var(--fg)}#render{width:100%;height:100dvh;display:none;position:relative;overflow:hidden}.webgl #render{display:block}#render{-webkit-user-select:none;user-select:none}#render canvas{cursor:grab;-webkit-tap-highlight-color:transparent;display:block}#render canvas.pointing{cursor:pointer}#render canvas.dragging{cursor:grabbing}#render:after{content:"";pointer-events:none;background:radial-gradient(#0000 45%,#050505bf 100%);position:absolute;inset:0}#hint{z-index:3;background:var(--panel);border:1px solid var(--faint);border-left:2px solid var(--accent);-webkit-backdrop-filter:blur(8px);pointer-events:none;opacity:0;flex-direction:column;gap:.2em;max-width:280px;padding:.6em .85em;transition:opacity .15s;display:flex;position:fixed;top:0;left:0}#hint.visible{opacity:1}.hint-title{font-size:.85rem;font-weight:500}.hint-meta{color:var(--muted);font-size:.7rem;font-family:var(--mono)}#depth{right:calc(var(--gutter) / 2);background:var(--faint);pointer-events:none;width:1px;height:30vh;position:absolute;top:50%;transform:translateY(-50%)}#depth span{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:0;left:-2px}#help{left:50%;bottom:calc(var(--gutter) / 2 + env(safe-area-inset-bottom));color:var(--muted);white-space:nowrap;pointer-events:none;margin:0;font-size:.75rem;transition:opacity .6s;animation:1s 2.5s both fade-in;position:absolute;transform:translate(-50%)}#help.dismissed{opacity:0;animation:none}#overlay{z-index:4;top:var(--gutter);right:var(--gutter);bottom:var(--gutter);width:min(400px, calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - 2 * var(--gutter));background:var(--panel);border:1px solid var(--faint);-webkit-backdrop-filter:blur(14px);color:#eeeeeed9;opacity:0;pointer-events:none;scrollbar-width:thin;height:fit-content;margin:auto 0;padding:2rem 1.75rem 1.5rem;font-size:.85rem;line-height:1.6;transition:opacity .3s,transform .3s;position:fixed;overflow-y:auto;transform:translate(16px)}#overlay.open{opacity:1;pointer-events:auto;transform:none}#overlay[hidden]{visibility:hidden;display:block}#overlay .close{width:2rem;height:2rem;color:var(--muted);background:0 0;border:none;font-size:1.4rem;line-height:1;position:absolute;top:.75rem;right:.75rem}#overlay .close:hover{color:var(--fg)}#timestamp{font-family:var(--mono);letter-spacing:.04em;color:var(--accent);text-transform:uppercase;margin:0 0 .75em;font-size:.7rem}#title{color:var(--fg);margin:0;font-size:1.3rem;font-weight:600;line-height:1.25}#overlay .subtitle{margin-bottom:1.25em}#description p{margin:0 0 1em}#overlay h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1.25em 0 .5em;font-size:.7rem;font-weight:500}.chips{flex-wrap:wrap;gap:.4em;margin:0;padding:0;list-style:none;display:flex}.chips>li{border:1px solid var(--faint);color:var(--muted);border-radius:999px;padding:.2em .65em;font-size:.72rem}.chips.links>li{border:none;padding:0}.chips.links button{background:#d6685314;border:1px solid #d6685366;border-radius:999px;padding:.25em .75em;font-size:.72rem;transition:background .2s}.chips.links button:hover{background:#d6685340}.awards{gap:.6em;margin:0;padding:0;list-style:none;display:grid}.awards li{padding-left:1.1em;position:relative}.awards li:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;top:.5em;left:0}.awards a{color:inherit;text-decoration:none}.awards a .award-title:after{content:" ↗";color:var(--muted)}.awards a:hover .award-title{color:var(--accent)}.award-title{color:var(--fg);font-size:.82rem;line-height:1.4;display:block}.award-meta{font-family:var(--mono);color:var(--muted);font-size:.68rem;display:block}#awards{margin-bottom:1.1em}#awards:empty{display:none}.milestone-body .awards{margin:.25rem 0 .75rem}.milestone-body .awards-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .4rem;font-size:.7rem;font-weight:500}.chips.external>li{border:none;padding:0}.chips.external a{border:1px solid var(--faint);color:var(--fg);border-radius:999px;padding:.25em .75em;font-size:.72rem;text-decoration:none;transition:border-color .2s;display:inline-block}.chips.external a:hover{border-color:var(--accent)}.milestone-links{gap:1em;font-size:.8rem;display:flex}.milestone-links a{color:var(--fg)}.stepper{border-top:1px solid var(--faint);justify-content:space-between;margin-top:1.75em;padding-top:1em;display:flex}.stepper button{color:var(--muted);background:0 0;border:none;padding:.25em 0;font-size:.75rem}.stepper button:hover:not(:disabled){color:var(--fg)}.stepper button:disabled{opacity:.3;cursor:default}#milestones h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.7rem;font-weight:500}#milestones ol{margin:0;padding:0;list-style:none}#milestones ol>li{border-left:1px solid var(--faint);padding:0 0 1.25rem 1.25rem;position:relative}#milestones ol>li:before{content:"";background:var(--fg);border-radius:50%;width:7px;height:7px;position:absolute;top:.45em;left:-4px}#milestones ol>li.active:before{background:var(--accent)}#milestones article{margin:0}.milestone-link{text-align:left;background:0 0;border:none;flex-direction:column;gap:.15em;padding:0;display:flex}.milestone-title{font-size:.9rem;font-weight:500}.milestone-meta{color:var(--muted);font-size:.72rem}.milestone-meta time{font-family:var(--mono);font-size:.68rem}.milestone-link:hover .milestone-title{color:var(--accent)}.milestone-body{color:#eeec;font-size:.85rem;line-height:1.6}.webgl #milestones{z-index:3;left:var(--gutter);top:var(--header-height,15rem);max-height:calc(100dvh - var(--header-height,15rem) - var(--gutter));width:min(320px, calc(100vw - 2 * var(--gutter)));background:var(--panel);border:1px solid var(--faint);-webkit-backdrop-filter:blur(14px);scrollbar-width:thin;padding:1.25rem 1.25rem 0;animation:.25s both fade-in;position:fixed;overflow-y:auto}.webgl #milestones[hidden],.webgl .milestone-body{display:none}body:not(.webgl) .heading{padding-bottom:1rem;position:static}body:not(.webgl) .controls,body:not(.webgl) #overlay{display:none}body:not(.webgl) #milestones{max-width:46rem;padding:1rem var(--gutter) var(--gutter)}body:not(.webgl) .milestone-link{pointer-events:none}body:not(.webgl) .milestone-body{margin-top:.75rem}@media (width<=720px){.heading{padding:1.25rem 1rem;transition:opacity .3s}.card-open .heading{opacity:0;animation:none}.card-open .heading>*{pointer-events:none}.controls{margin-top:1rem}#depth{display:none}#overlay{width:100%;max-height:58dvh;padding:1.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-width:1px 0 0;margin:0;inset:auto 0 0;transform:translateY(24px)}.webgl #milestones{padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0;width:100%;max-height:62dvh;inset:auto 0 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
