:root{--overlay-pad: clamp(1.25rem, 2.2vw, 3rem);--scrim-height: clamp(9rem, 30vh, 17.5rem);--scrim-edge: rgba(6, 7, 9, .7);--scrim-mid: rgba(6, 7, 9, .45);--plate: rgba(11, 12, 14, .86);--plate-hover: rgba(11, 12, 14, .94);--plate-ink: var(--ink);--plate-edge: rgba(242, 243, 245, .22);--plate-shadow: 0 3px 14px rgba(0, 0, 0, .45)}html,body{margin:0;background:#000;color:var(--ink);overflow:hidden;min-height:100vh;font-family:var(--font-text)}#scene{position:fixed;inset:0;width:100vw;height:100vh;background:#000;z-index:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#scene canvas{display:block;outline:none}#scene canvas[data-grab=open]{cursor:grab}#scene canvas[data-grab=held]{cursor:grabbing}.flying #scene canvas[data-grab]{cursor:auto}.clean .overlay,.clean .markers{display:none}.overlay{position:fixed;inset:0;z-index:10;pointer-events:none;padding:var(--overlay-pad);display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);font-family:var(--font-text);text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.35);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.overlay:before,.overlay:after{content:"";position:absolute;left:0;right:0;height:var(--scrim-height)}.overlay:before{top:0;background:linear-gradient(to bottom,var(--scrim-edge),var(--scrim-mid) 55%,transparent)}.overlay:after{bottom:0;background:linear-gradient(to top,var(--scrim-edge),var(--scrim-mid) 55%,transparent)}.overlay header,.overlay footer{position:relative;z-index:1}.intro .overlay header{visibility:hidden;animation:intro-fallback 0s 6s forwards}@keyframes intro-fallback{to{visibility:visible}}.overlay .title{font-family:var(--font-display);font-weight:400;font-size:clamp(3.5rem,7vw,8rem);line-height:.86;letter-spacing:.005em}.overlay .subtitle{font-weight:500;font-size:clamp(.875rem,1vw,1.125rem);line-height:1.2;letter-spacing:.2em;color:var(--ink-muted)}.overlay .subtitle{margin-top:.9em}.overlay .sound,.overlay .fullscreen{position:absolute;top:-11px;right:-11px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:2px;background:none;color:var(--ink);opacity:.8;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));-webkit-tap-highlight-color:transparent}.overlay .fullscreen{right:33px}.overlay .sound[hidden],.overlay .fullscreen[hidden]{display:none}.overlay .sound:hover,.overlay .fullscreen:hover{opacity:1}.overlay .sound:focus-visible,.overlay .fullscreen:focus-visible{opacity:1;outline:2px solid var(--ink);outline-offset:-4px}.overlay .sound svg *,.overlay .fullscreen svg *{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.overlay .fullscreen[aria-pressed=false] .exit,.overlay .fullscreen[aria-pressed=true] .enter{display:none}.overlay .sound .speaker{fill:currentColor}.overlay .sound[aria-pressed=false] .waves,.overlay .sound[aria-pressed=true] .cross{display:none}.overlay .sound.waiting .waves{opacity:.4}.overlay footer{display:flex;column-gap:1.6em;row-gap:.6em;flex-wrap:wrap;font-weight:600;font-size:clamp(.95rem,1.05vw,1.2rem);line-height:1.2;letter-spacing:.14em}.overlay a{pointer-events:auto;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px}.overlay a:hover{color:#fff;border-bottom-width:2px;padding-bottom:1px}.overlay a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.overlay .braam,.overlay .fly{position:absolute;right:0;bottom:calc(100% + 14px);display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 14px;border:1px solid var(--plate-edge);border-radius:0;background:var(--plate);color:var(--plate-ink);font:400 1.65rem/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-shadow:none;box-shadow:var(--plate-shadow);cursor:pointer;pointer-events:auto;opacity:0;transition:opacity .8s ease,background-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.overlay .braam[hidden],.overlay .fly[hidden]{display:none}.overlay .braam:before,.overlay .fly:before{content:"";width:11px;height:11px;box-sizing:border-box;border:1.5px solid currentColor;background:linear-gradient(currentColor,currentColor) center / 3px 3px no-repeat}.overlay .braam.is-shown,.overlay .fly.is-shown{opacity:.9}.overlay .braam.is-shown:hover,.overlay .fly.is-shown:hover{opacity:1;background:var(--plate-hover)}.overlay .braam.is-shown[aria-disabled=true]{opacity:.4;cursor:default}.overlay .braam.is-pressed,.overlay .braam.is-pressed[aria-disabled=true]{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--ink);transition:none}.overlay .braam:focus-visible,.overlay .fly:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.overlay .fly{bottom:calc(100% + 68px)}.overlay a.is-linked{color:#fff;border-bottom-width:2px;padding-bottom:1px}.markers{--hud: #e7e6e1;position:fixed;inset:0;z-index:15;pointer-events:none;font-family:var(--font-text);text-transform:uppercase}.markers [hidden]{display:none!important}.marker{position:absolute;left:0;top:0;width:0;height:0;will-change:transform;transition:opacity .25s ease}.marker.is-hidden{opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}.marker-icon{position:absolute;left:-22px;top:-22px;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto}.marker-icon:before,.marker-icon:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059;transition:width .18s ease,height .18s ease,opacity .18s ease}.marker-icon:before{width:13px;height:13px;border:1.5px solid var(--hud);box-sizing:border-box;opacity:.85}.marker-icon:after{width:5px;height:5px;background:var(--hud)}.marker.is-open{z-index:1}.marker.is-open .marker-icon:before{width:17px;height:17px;opacity:1}.marker.is-subject .marker-icon:before{width:21px;height:21px}.marker-icon:focus-visible{outline:2px solid var(--hud);outline-offset:-8px}.markers.is-shifting .marker-icon:before{transform:translate(-50%,-50%) scale(calc(1 + var(--pulse, 0) * .55));opacity:calc(.85 - var(--pulse, 0) * .4);transition:none}.marker:before{content:"";position:absolute;left:0;top:0;width:40px;height:40px;box-sizing:border-box;border:1.5px solid var(--hud);box-shadow:0 0 0 1px #00000059;opacity:0;transform:translate(-50%,-50%) scale(.33);pointer-events:none}.markers.is-shifting .marker:before,.markers:has(.is-subject) .marker:before,.marker.is-open:before{visibility:hidden}@media(prefers-reduced-motion:no-preference){.marker:before{animation:marker-sonar 5.5s cubic-bezier(.25,.8,.4,1) infinite}}@media(prefers-reduced-motion:reduce){.marker:before{width:23px;height:23px;border-width:1px;transform:translate(-50%,-50%);opacity:.4}}@keyframes marker-sonar{0%{opacity:1;transform:translate(-50%,-50%) scale(.33)}40%,to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.marker-card{position:absolute;top:0;left:16px;transform:translateY(-50%);display:flex;align-items:center;gap:14px;padding:6px 12px 7px;border:1px solid var(--plate-edge);background:var(--plate);color:var(--plate-ink);white-space:nowrap;box-shadow:var(--plate-shadow);pointer-events:auto;visibility:hidden;clip-path:inset(0 100% 0 0);transition:clip-path .18s cubic-bezier(.2,.7,.2,1),visibility 0s .18s}.marker[data-side=left] .marker-card{left:auto;right:16px;clip-path:inset(0 0 0 100%)}.marker.is-subject .marker-icon,.marker.is-subject .marker-card{pointer-events:none}.marker.is-subject .marker-open{pointer-events:auto}.marker.is-open .marker-card{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .18s cubic-bezier(.2,.7,.2,1),visibility 0s}.marker-name{font:400 1.5rem/.95 var(--font-display);letter-spacing:.02em}.marker-open{display:grid;place-items:center;min-height:32px;font:600 .72rem/1 var(--font-text);letter-spacing:.14em;color:var(--plate-ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}.marker-open:focus-visible{outline:2px solid var(--plate-ink);outline-offset:2px}.markers-back{position:absolute;left:var(--overlay-pad);top:calc(var(--header-bottom, 9rem) + 14px);min-height:44px;padding:0 14px;font:600 .85rem/1 var(--font-text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:#0b0c0e8c;border:1px solid rgba(242,243,245,.55);border-radius:0;cursor:pointer;pointer-events:auto}.markers-back:hover{background:#0b0c0ecc;border-color:var(--ink)}.markers-back:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(max-width:640px){.marker-open{min-height:44px}}@media(prefers-reduced-motion:reduce){.marker,.marker.is-hidden,.marker-card,.marker.is-open .marker-card,.marker-icon:before,.marker-icon:after{transition:none}}.flying .overlay footer,.flying .markers{visibility:hidden;pointer-events:none}.flight{position:fixed;inset:0;z-index:20;pointer-events:none;font-family:var(--font-text);text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}.clean .flight .flight-help,.clean .flight .flight-readout{display:none}.flight-help,.flight-readout,.flight-note{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.95rem;text-shadow:0 1px 6px rgba(0,0,0,.7);opacity:0;transition:opacity .6s ease}.flight-help{bottom:calc(var(--overlay-pad) + 2.4rem)}.flight-readout{bottom:var(--overlay-pad);font-variant-numeric:tabular-nums}.flight.is-on .flight-readout,.flight.is-on .flight-help.is-shown,.flight-note.is-shown{opacity:.85}.flight-note{bottom:calc(var(--overlay-pad) + 4.8rem);white-space:normal;text-align:center;max-width:calc(100vw - 2 * var(--overlay-pad));box-sizing:border-box;padding:7px 14px 8px;border:1px solid var(--plate-edge);background:var(--plate);color:var(--plate-ink);text-shadow:none;box-shadow:var(--plate-shadow)}.flight-note.is-shown{opacity:1}.flight-fade{position:absolute;inset:0;background:#000;opacity:0}.flight-fade.is-red{background:var(--accent)}.flight-land{position:absolute;bottom:calc(var(--overlay-pad) + 4.5rem);right:var(--overlay-pad);display:none;min-height:44px;padding:0 16px;border:1px solid var(--plate-edge, rgba(242, 243, 245, .22));background:var(--plate, rgba(11, 12, 14, .86));color:var(--plate-ink, var(--ink));box-shadow:var(--plate-shadow, 0 3px 14px rgba(0, 0, 0, .45));font:400 1.4rem/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;pointer-events:auto;opacity:.85}.flying .flight.is-on.is-touch .flight-land{display:block}.overlay .about-link{display:inline-block;margin-top:.9em;font-weight:600;font-size:clamp(.875rem,1vw,1.125rem);line-height:1.2;letter-spacing:.2em}.flying .overlay .about-link{visibility:hidden}.about{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:var(--overlay-pad);overflow-y:auto;background:#0607098c;color:var(--plate-ink);font-family:var(--font-text);font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.about[hidden],.clean .about{display:none}.about-file{position:relative;box-sizing:border-box;width:min(34rem,100%);padding:1.6rem 1.75rem 1.9rem;border:1px solid var(--plate-edge);background:#0b0c0ef0;box-shadow:var(--plate-shadow);font-size:clamp(1.05rem,1.15vw,1.2rem);line-height:1.5;letter-spacing:.01em;outline:none}.about-ref,.about-label,.about-fields dt{margin:0;font-size:.8rem;font-weight:600;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);opacity:.75}.about-title{margin:.5rem 0 1.25rem;font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,6vw,4.5rem);line-height:.86;letter-spacing:.005em;text-transform:uppercase}.about-fields{margin:0 0 1.5rem;border-top:1px solid var(--plate-edge)}.about-fields div{display:grid;grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--plate-edge)}.about-fields dd{margin:0;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.about-label{margin-bottom:.5rem}.about-ref{margin-right:44px}.about-bio{margin:0 0 1.5rem;color:var(--ink-muted)}.about-links{display:flex;flex-wrap:wrap;gap:.6em 1.6em;margin:0 0 1.5rem;padding:0;list-style:none;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.about-versions{margin:0;padding:0;list-style:none;border-top:1px solid var(--plate-edge)}.about-versions li{display:grid;grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--plate-edge)}.about-versions li>a,.about-dates{justify-self:start;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.about-versions p{margin:0;color:var(--ink-muted)}.about a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px}.about a:hover{color:#fff;border-bottom-width:2px;padding-bottom:1px}.about a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.about .about-close{position:absolute;z-index:1;top:.35rem;right:.35rem;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;font-size:1.1rem;line-height:1;opacity:.8}.about .about-close:hover{opacity:1;padding:0}.about .about-close:focus-visible{opacity:1;outline-offset:-4px}@media(prefers-reduced-motion:no-preference){.about{animation:about-scrim .2s ease-out}.about-file{animation:about-file .24s cubic-bezier(.2,.7,.2,1)}}@keyframes about-scrim{0%{background-color:transparent}}@keyframes about-file{0%{opacity:0;transform:translateY(8px)}}@media(max-width:480px){.about{padding:.75rem}.about-file{padding:1.25rem 1.1rem 1.5rem}.about-fields div,.about-versions li{grid-template-columns:1fr;gap:.15rem}}
