@font-face{font-family:Archivo;src:url(/assets/archivo-100-900-DXrUVZxZ.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:block}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-400-BJoXLJYV.woff2)format("woff2");font-weight:400;font-display:block}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-500-C820gu2e.woff2)format("woff2");font-weight:500;font-display:block}@font-face{font-family:Saira Stencil One;src:url(/assets/saira-stencil-one-400-BgjN2Lif.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Special Elite;src:url(/assets/special-elite-400-PqWz10WY.woff2)format("woff2");font-weight:400;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#e8e6e1;--ink-dim:#e8e6e18c;--bg:#0b0b0d;--accent:#fce300;--font-display:"Archivo", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-type:"Special Elite", "IBM Plex Mono", monospace;--font-stencil:"Saira Stencil One", "Archivo", sans-serif}html,body{overscroll-behavior:none;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}#app{position:fixed;inset:0}#gl{width:100%;height:100%;display:block;position:absolute;inset:0}#overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}::selection{background:var(--accent);color:#000}.plaque{opacity:0;will-change:opacity, transform;pointer-events:none;max-width:360px;position:absolute;bottom:16%;transform:translateY(16px)}.plaque[data-align=left]{left:clamp(20px,7vw,110px)}.plaque[data-align=right]{text-align:right;right:clamp(20px,7vw,110px)}.plaque[data-align=center]{text-align:center;width:360px;margin-left:-180px;left:50%}.plaque-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);text-shadow:0 1px 12px #00000040;margin-bottom:10px;font-size:11px;font-weight:500}.plaque-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);margin-bottom:8px;font-size:34px;font-weight:800}.plaque-body{font-family:var(--font-display);color:var(--ink);text-shadow:0 1px 14px #0003;font-size:15px;font-weight:420;line-height:1.62}.plaque-quote{font-family:var(--font-type);color:var(--ink);text-shadow:0 1px 14px #0003;font-size:17.5px;line-height:1.7}.plaque-quote:before{content:"“"}.plaque-quote:after{content:"”"}.plaque-cite{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-dim);margin-top:10px;font-size:11px}@media (max-width:720px){.plaque,.plaque[data-align=left],.plaque[data-align=right],.plaque[data-align=center]{text-align:center;width:min(84vw,360px);margin-left:calc(min(84vw,360px)/-2);bottom:13%;left:50%;right:auto}.plaque-body{font-size:14px}.plaque-quote{font-size:15.5px}}#hud{padding:max(18px, env(safe-area-inset-top)) 22px 0 22px;pointer-events:none;z-index:20;opacity:0;justify-content:space-between;align-items:center;transition:opacity 1.2s .2s;display:flex;position:absolute;top:0;left:0;right:0}#hud.visible{opacity:1}.hud-wordmark{font-family:var(--font-mono);letter-spacing:.32em;color:var(--ink);opacity:.85;font-size:11px;font-weight:500}.hud-right{pointer-events:auto;align-items:center;gap:14px;display:flex}#audio-toggle{border:1px solid color-mix(in srgb, var(--ink) 35%, transparent);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:34px;height:34px;transition:border-color .3s,transform .2s;display:grid}#audio-toggle:hover{border-color:var(--accent);transform:scale(1.08)}#audio-toggle .bars{align-items:flex-end;gap:2.5px;height:12px;display:flex}#audio-toggle .bars span{background:var(--ink);transform-origin:bottom;border-radius:1px;width:2.5px;animation:1.1s ease-in-out infinite eq}#audio-toggle .bars span:first-child{height:7px;animation-delay:0s}#audio-toggle .bars span:nth-child(2){height:12px;animation-delay:.22s}#audio-toggle .bars span:nth-child(3){height:9px;animation-delay:.44s}#audio-toggle[aria-pressed=true] .bars span{opacity:.5;height:2.5px;animation:none}@keyframes eq{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}#track-credit{left:22px;bottom:max(20px, env(safe-area-inset-bottom));font-family:var(--font-mono);letter-spacing:.16em;color:var(--ink-dim);opacity:0;pointer-events:none;z-index:20;font-size:10.5px;transition:opacity .7s,transform .7s;position:absolute;transform:translateY(6px)}#track-credit.visible{opacity:1;transform:none}#track-credit .note{color:var(--accent);margin-right:7px}#nav{z-index:20;opacity:0;flex-direction:column;gap:16px;transition:opacity 1.2s .4s;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}#nav.visible{opacity:1}.nav-dot{cursor:pointer;background:0 0;border:none;place-items:center;width:26px;height:26px;padding:0;display:grid;position:relative}.nav-dot:before{content:"";border:1.5px solid color-mix(in srgb, var(--ink) 55%, transparent);border-radius:50%;width:9px;height:9px;transition:all .35s cubic-bezier(.6,0,.2,1)}.nav-dot:hover:before{border-color:var(--accent);transform:scale(1.25)}.nav-dot.active:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 14px 1px color-mix(in srgb, var(--accent) 65%, transparent)}.nav-label{font-family:var(--font-mono);letter-spacing:.22em;white-space:nowrap;color:var(--ink);opacity:0;pointer-events:none;font-size:10px;transition:opacity .25s,transform .25s;position:absolute;top:50%;right:32px;transform:translateY(-50%)translate(6px)}.nav-dot:hover .nav-label{opacity:.9;transform:translateY(-50%)translate(0)}@media (max-width:720px){#nav{top:auto;left:50%;right:auto;bottom:max(14px, env(safe-area-inset-bottom));flex-direction:row;gap:12px;transform:translate(-50%)}.nav-label{display:none}#track-credit{bottom:max(52px, calc(env(safe-area-inset-bottom) + 38px))}}#scroll-hint{font-family:var(--font-mono);letter-spacing:.3em;color:var(--ink-dim);z-index:20;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:10px;font-size:10px;transition:opacity 1s;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}#scroll-hint.visible{opacity:1}#scroll-hint .wheel{background:color-mix(in srgb, var(--ink) 30%, transparent);width:1px;height:34px;position:relative;overflow:hidden}#scroll-hint .wheel:after{content:"";background:var(--accent);width:1px;height:10px;animation:1.8s cubic-bezier(.4,0,.4,1) infinite hint-drop;position:absolute;top:-10px;left:0}@keyframes hint-drop{0%{top:-12px}70%,to{top:36px}}#epilogue{z-index:25;opacity:0;pointer-events:none;place-items:center;transition:opacity 1.4s;display:grid;position:absolute;inset:0}#epilogue.visible{opacity:1;pointer-events:auto}.epilogue-inner{text-align:center;padding:0 24px}.epilogue-title{font-family:var(--font-display);letter-spacing:.08em;color:#ece5d8;margin-bottom:18px;font-size:clamp(42px,9vw,96px);font-weight:900;font-stretch:118%}.epilogue-line{font-family:var(--font-type);color:#ece5d8ad;max-width:46ch;margin:0 auto 44px;font-size:15px}.epilogue-btn{font-family:var(--font-mono);letter-spacing:.34em;color:#0b0b0d;background:var(--accent);cursor:pointer;border:none;padding:15px 34px 15px 38px;font-size:12px;font-weight:500;transition:transform .3s cubic-bezier(.3,0,.2,1),box-shadow .3s}.epilogue-btn:hover{box-shadow:0 6px 28px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}.epilogue-btn:active{transform:translateY(0)}@media (pointer:fine){#cursor-dot,#cursor-ring{pointer-events:none;z-index:100;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}#cursor-dot{background:var(--accent);width:5px;height:5px;margin:-2.5px 0 0 -2.5px}#cursor-ring{border:1px solid color-mix(in srgb, var(--ink) 45%, transparent);width:26px;height:26px;margin:-13px 0 0 -13px;transition:width .25s,height .25s,margin .25s,border-color .25s}body.cursor-hover #cursor-ring{border-color:var(--accent);width:40px;height:40px;margin:-20px 0 0 -20px}}#preloader{z-index:50;background:#0b0b0d;place-items:center;transition:opacity 1.1s cubic-bezier(.5,0,.3,1),visibility 1.1s;display:grid;position:absolute;inset:0}#preloader.hidden{opacity:0;visibility:hidden}.pre-inner{text-align:center;max-width:640px;padding:0 24px}.pre-file{font-family:var(--font-mono);letter-spacing:.28em;color:#6d6a63;min-height:13px;margin-bottom:34px;font-size:10px}.pre-file .glitch-cap{color:#df2a2a}.pre-title{font-family:var(--font-display);letter-spacing:.06em;color:#e8e6e1;margin-bottom:20px;font-size:clamp(46px,10.5vw,118px);font-weight:900;font-stretch:122%;line-height:.98}.pre-title .word{white-space:nowrap;display:inline-block}.pre-title .ch{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards ch-in;display:inline-block;transform:translateY(.35em)rotate(2deg)}@keyframes ch-in{to{opacity:1;transform:none}}.pre-title .up{color:#fce300}.pre-sub{font-family:var(--font-display);letter-spacing:.04em;color:#98948b;margin-bottom:8px;font-size:14px;font-weight:420;line-height:1.7}.pre-violation{font-family:var(--font-type);color:#57534c;margin-bottom:46px;font-size:12.5px}.pre-violation .cap{color:#df2a2a}.pre-progress{background:#26242a;width:min(280px,60vw);height:1px;margin:0 auto 12px;position:relative;overflow:hidden}.pre-progress .fill{transform-origin:0;background:#fce300;transition:transform .4s cubic-bezier(.3,0,.3,1);position:absolute;inset:0;transform:scaleX(0)}.pre-status{font-family:var(--font-mono);letter-spacing:.26em;color:#6d6a63;min-height:12px;margin-bottom:40px;font-size:9.5px}.pre-enter{font-family:var(--font-mono);letter-spacing:.34em;color:#0b0b0d;cursor:pointer;opacity:0;background:#fce300;border:none;padding:16px 38px 16px 42px;font-size:12px;font-weight:500;transition:opacity .7s,transform .7s,box-shadow .3s,scale .25s cubic-bezier(.5,0,.2,1.4);transform:translateY(10px)}.pre-enter.ready{opacity:1;transform:none}.pre-enter:hover{scale:1.05;box-shadow:0 0 44px #fce30059}.pre-enter:active{scale:.98}.pre-mute-link{font-family:var(--font-mono);letter-spacing:.2em;color:#6d6a63;cursor:pointer;text-underline-offset:4px;opacity:0;background:0 0;border:none;margin:18px auto 0;font-size:10px;text-decoration:underline;transition:opacity .7s .15s,color .3s;display:block}.pre-mute-link.ready{opacity:.8}.pre-mute-link:hover{color:#e8e6e1}.pre-foot{bottom:max(20px, env(safe-area-inset-bottom));font-family:var(--font-mono);letter-spacing:.22em;color:#45423c;font-size:9px;position:absolute;left:0;right:0}
