@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/rubik-latin-300-normal-CC5OmgBu.woff2)format("woff2"),url(/assets/rubik-latin-300-normal-BUgDINzQ.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-latin-400-normal-j0pmKyiQ.woff2)format("woff2"),url(/assets/rubik-latin-400-normal-BV1Ho3GG.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rubik-latin-500-normal-1os41rQk.woff2)format("woff2"),url(/assets/rubik-latin-500-normal-LZYVHeqz.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rubik-latin-600-normal-7iWW07_k.woff2)format("woff2"),url(/assets/rubik-latin-600-normal-Bd1rsTk4.woff)format("woff")}@font-face{font-family:Six Caps;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/six-caps-latin-400-normal-DIhORknL.woff2)format("woff2"),url(/assets/six-caps-latin-400-normal-BIwdHiuo.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--bg:oklch(7% 0 0);--surface:oklch(14% .018 60/.78);--surface-raised:oklch(19% .022 60/.84);--ink:oklch(96% .012 60);--muted:oklch(72% .03 60);--border:oklch(42% .045 60/.44);--primary:oklch(72% .15 60);--accent:oklch(64% .22 300);--played:oklch(65% .18 142);--error:oklch(65% .2 25);--crt-red:#ff462db8;--crt-blue:#2b5bffc2;--text-caption:.75rem;--text-ui:.875rem;--text-body:1rem;--text-lead:1.25rem;--text-display-max:6rem;font-family:Rubik,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--bg)}[hidden]{display:none!important}html[data-custom-cursor=true] body{cursor:none}html[data-custom-cursor=true] :is(a,button,summary,input,label){cursor:pointer}html[data-custom-cursor=true] input[type=range]{cursor:ew-resize}html[data-custom-cursor=true] input[type=range]:disabled{cursor:default}button,input{font:inherit}button,a,summary,input[type=range]{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:4px}#app{isolation:isolate;background:radial-gradient(circle at 72% 46%, oklch(18% .08 300/.25), transparent 34%), var(--bg);position:relative}#stage{position:absolute;inset:0}#stage:after{pointer-events:none;content:"";background:radial-gradient(circle,#0000 46%,#0000008c 100%);position:absolute;inset:0}#stage[data-fallback=true]{opacity:.22;filter:saturate(.7);background-position:50%;background-repeat:no-repeat;background-size:cover}#stage canvas{width:100%;height:100%;display:block}:is(.masthead,.project-copy,.control-rail,.signal-map,.mobile-signal-controls){transition:opacity .32s cubic-bezier(.22,1,.36,1)}#app:is([data-boot-state=loading],[data-boot-state=revealing]) :is(.masthead,.project-copy,.control-rail,.signal-map,.mobile-signal-controls){opacity:0;pointer-events:none}#app:is([data-boot-state=loading],[data-boot-state=revealing]) .project-scroll{pointer-events:none}.project-scroll{z-index:2;overscroll-behavior-y:contain;scrollbar-width:none;scroll-snap-type:y mandatory;touch-action:pan-y;position:absolute;inset:0;overflow-y:auto}.project-scroll::-webkit-scrollbar{display:none}.project-scroll__stop{scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100%}.masthead{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;min-height:82px;padding:16px 24px;display:flex;position:absolute;top:0;left:0;right:0}.wordmark{letter-spacing:.12em;width:max-content;font-size:.8rem;font-weight:600;text-decoration:none}.stack-label{color:var(--muted);letter-spacing:.08em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.project-copy{z-index:3;pointer-events:none;width:min(100vw - clamp(18px,6vw,112px) - clamp(18px,6vw,112px),34rem);position:absolute;top:50%;left:clamp(18px,6vw,112px);transform:translateY(-48%)}.project-copy :is(.source-cta,.signal-playback){pointer-events:auto}h1{font-family:Six Caps,Impact,sans-serif;font-size:var(--project-title-fit,clamp(4rem, min(8.5vw, 14svh), var(--text-display-max)));letter-spacing:.005em;text-shadow:0 0 12px #ffffff80,0 0 46px #ffffff2e;margin:0;font-weight:400;line-height:.94}h1[data-renderer=webgpu]{color:#0000;text-shadow:none;-webkit-text-fill-color:transparent}.project-title-line{width:max-content;max-width:100%;display:inline-block;transform:translate(-.02em)}.project-support{isolation:isolate;width:fit-content;max-width:100%;position:relative}.project-description{max-width:38ch;color:var(--ink);font-size:var(--text-body);letter-spacing:.01em;text-wrap:pretty;text-shadow:-.8px 0 var(--crt-blue), .8px 0 var(--crt-red), 0 0 5px #ffffff47, 0 2px 10px #000000eb;margin:20px 0 clamp(32px,4vh,40px);font-weight:400;line-height:1.58}.project-description[data-renderer=webgpu]{color:#0000;text-shadow:none;-webkit-text-fill-color:transparent}.project-actions{pointer-events:auto;align-items:center;gap:12px;width:max-content;max-width:100%;display:flex}.source-cta{color:oklch(16% 0 0);min-width:210px;min-height:54px;font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);box-shadow:-1.5px 0 var(--crt-blue), 1.5px 0 var(--crt-red), 0 6px 8px #00000052;text-shadow:-.6px 0 #2b5bff61,.6px 0 #ff462d57;border-radius:999px;justify-content:space-between;align-items:center;gap:20px;padding:0 22px;font-weight:600;text-decoration:none;transition:transform .18s,background-color .18s;display:inline-flex}.source-cta:hover{background:var(--primary);transform:translateY(-2px)}.source-cta__icon{filter:drop-shadow(-.7px 0 #2b5bff75)drop-shadow(.7px 0 #ff462d6b);flex:none}.signal-playback{width:54px;height:54px;color:var(--ink);box-shadow:-1.2px 0 var(--crt-blue), 1.2px 0 var(--crt-red), 0 6px 8px #0000004d;cursor:pointer;background:#080a0bb8;border:1px solid #ffffff9e;border-radius:50%;flex:0 0 54px;place-items:center;padding:0;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:grid}.signal-playback:hover{color:oklch(16% 0 0);background:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.signal-playback:disabled{cursor:wait;opacity:.6}.signal-playback__icon{place-items:center;width:22px;height:22px;display:grid}.signal-playback__icon svg{filter:drop-shadow(-.7px 0 #2b5bff8c)drop-shadow(.7px 0 #ff462d80);grid-area:1/1}.signal-playback__icon svg[hidden]{display:none}.fallback-notice{max-width:42ch;color:var(--muted);font-size:var(--text-caption);text-shadow:0 2px 12px #000;margin:16px 0 0;line-height:1.5}#app[data-boot-state=ready] .project-actions{animation:.78s cubic-bezier(.16,1,.3,1) both project-copy-enter}@keyframes project-copy-enter{0%{opacity:0;filter:blur(7px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}.control-rail{z-index:5;pointer-events:none;justify-content:flex-end;width:min(330px,100vw - 48px);display:flex;position:absolute;bottom:52px;right:24px}.control-rail details{pointer-events:auto;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(22px)saturate(1.25);backdrop-filter:blur(22px)saturate(1.25);border-radius:18px;width:100%;overflow:hidden;box-shadow:0 22px 80px #00000075}.control-rail details:not([open]){background:#0f0e0dad;border-radius:999px;width:190px}.control-rail details:not([open]) summary{padding:8px 10px 8px 14px}.control-rail summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:62px;padding:12px 14px 12px 16px;font-size:.88rem;font-weight:500;list-style:none;display:flex}.control-rail summary::-webkit-details-marker{display:none}.control-rail summary:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);outline:none}.control-rail summary small{color:var(--primary);letter-spacing:.1em;margin-bottom:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;font-weight:500;display:block}.control-summary-action{align-items:center;gap:8px;display:inline-flex}.reference-pill{color:var(--muted);letter-spacing:.06em;border:1px solid var(--border);border-radius:999px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem}.control-label-open,.control-rail details[open] .control-label-closed{display:none}.control-rail details[open] .control-label-open{display:inline}.disclosure-glyph{border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.disclosure-glyph svg{grid-area:1/1;transition:opacity .14s ease-out,transform .18s ease-out}.disclosure-glyph [data-disclosure-state=open]{opacity:0;transform:rotate(90deg)}.control-rail details[open] .disclosure-glyph [data-disclosure-state=closed]{opacity:0;transform:rotate(-90deg)}.control-rail details[open] .disclosure-glyph [data-disclosure-state=open]{opacity:1;transform:rotate(0)}.control-body{border-top:1px solid var(--border);padding:0 14px 14px}.sliders{gap:11px;padding-top:14px;display:grid}.slider-row{color:var(--muted);grid-template-columns:1fr auto;align-items:center;gap:7px 12px;font-size:.69rem;display:grid}.slider-row input:disabled{cursor:default;opacity:.72}.slider-row output{color:var(--ink);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.63rem}.slider-row input{width:100%;height:16px;accent-color:var(--primary);cursor:ew-resize;grid-column:1/-1;margin:0}.transport-row{border-top:1px solid var(--border);grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:15px;padding-top:13px;display:grid}.transport{min-height:42px;color:var(--ink);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:.67rem;display:inline-flex}.transport__icon{flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.transport__icon svg{color:currentColor;grid-area:1/1}.transport__icon svg[hidden]{display:none}.transport:disabled{cursor:wait;opacity:.58}.transport-row p{color:var(--muted);margin:0;font-size:.58rem;line-height:1.45}.transport-row strong{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:500;display:block}.signal-map{z-index:6;opacity:.78;width:196px;height:72px;transition:opacity .2s cubic-bezier(.25,1,.5,1);position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.signal-map:hover,.signal-map:focus-within{opacity:1}.mobile-signal-controls{z-index:7;top:50%;right:max(12px, env(safe-area-inset-right));opacity:1;flex-direction:column;align-items:center;gap:14px;transition:opacity .2s cubic-bezier(.25,1,.5,1);display:none;position:absolute;transform:translateY(-50%)}.mobile-signal-controls__button{color:#ffffffb8;cursor:pointer;-webkit-backdrop-filter:blur(7px)saturate(1.25);backdrop-filter:blur(7px)saturate(1.25);touch-action:manipulation;background:#0505053d;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:color .14s ease-out,background-color .14s ease-out,border-color .14s ease-out,opacity .14s ease-out,transform .12s cubic-bezier(.25,1,.5,1);display:grid}.mobile-signal-controls__button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:24px;height:24px;overflow:visible}.mobile-signal-controls__button:active{color:#fff;background:#ffffff29;border-color:#ffffff94;transform:scale(.9)}.mobile-signal-controls__hint{color:#ffffff94;letter-spacing:.14em;pointer-events:none;opacity:0;filter:blur(4px);writing-mode:vertical-rl;min-height:126px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:500;line-height:1;transition:opacity .26s cubic-bezier(.25,1,.5,1),filter .26s cubic-bezier(.25,1,.5,1);transform:rotate(180deg)}.mobile-signal-controls[data-hint-visible=true] .mobile-signal-controls__hint{opacity:1;filter:blur()}#app:has(.control-rail details[open]) .mobile-signal-controls{pointer-events:none;opacity:0}@media (hover:hover){.mobile-signal-controls__button:hover{color:#fff;background:#ffffff1f;border-color:#ffffff7a}}.signal-map__track{justify-content:center;align-items:center;width:100%;height:64px;display:flex}.signal-map__step{cursor:pointer;background:0 0;border:0;width:28px;height:64px;padding:0;position:relative}.signal-map__step:before{width:3px;height:var(--signal-bar-height,16px);content:"";background:#ffffff4d;border-radius:1px;transition:height .3s cubic-bezier(.16,1,.3,1),background-color .18s ease-out,box-shadow .18s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 2px #000000ad}.signal-map__step:hover:before,.signal-map__step:focus-visible:before{background:#ffffff94}.signal-map__step:focus-visible{outline:2px solid var(--primary);outline-offset:-4px;border-radius:8px}.signal-map__step:focus-visible:before{outline:none}.signal-map__step[aria-current=true]:before{background:var(--ink);box-shadow:-1px 0 var(--primary), 1px 0 var(--accent), 0 0 12px #ffffff5c}.signal-map__step[data-played=true]:before,.signal-map[data-playing=true] .signal-map__step[aria-current=true]:before{background:var(--played);box-shadow:-1px 0 oklch(78% .14 145/.72),1px 0 oklch(54% .16 142/.68),0 0 14px oklch(65% .18 142/.44)}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.signal-cursor{--cursor-x:-80px;--cursor-y:-80px;z-index:18;pointer-events:none;opacity:0;width:0;height:0;transform:translate3d(var(--cursor-x), var(--cursor-y), 0);contain:layout style;transition:opacity .12s ease-out;position:fixed;top:0;left:0}.signal-cursor[data-visible=true]{opacity:1}.signal-cursor__ring{color:#fff;-webkit-backdrop-filter:blur(8px)saturate(2.5);backdrop-filter:blur(8px)saturate(2.5);background:#0000004d;border:1px solid #fff6;border-radius:50%;place-items:center;width:50px;height:50px;transition:background-color .16s ease-out,border-color .16s ease-out,transform .18s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%)scale(.28)}.signal-cursor__ring:after{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #ffffff70}.signal-cursor[data-mode=media] .signal-cursor__ring{background:#00000057;border-color:#ffffff94;transform:translate(-50%,-50%)scale(1)}.signal-cursor[data-mode=media][data-pressed=true] .signal-cursor__ring{transform:translate(-50%,-50%)scale(.9)}.signal-cursor__icon{fill:none;stroke:currentColor;opacity:0;width:28px;height:28px;transition:opacity .12s ease-out;position:absolute;overflow:visible}.signal-cursor[data-mode=media] .signal-cursor__icon{opacity:1}.signal-cursor[data-mode=media] .signal-cursor__ring:after,.signal-cursor[data-playing=true] .signal-cursor__play,.signal-cursor[data-playing=false] .signal-cursor__pause{opacity:0}.signal-cursor__pause,.signal-cursor__play{transition:opacity .1s ease-out}.boot-cover{--boot-progress:.04;z-index:20;background:radial-gradient(circle at 50% 42%,#5c446642,#0000 36%),linear-gradient(135deg,#0b090b 0%,#181319 52%,#050505 100%);transition:opacity .16s cubic-bezier(.22,1,.36,1),visibility .16s;position:absolute;inset:0;overflow:hidden}.boot-cover:after{z-index:2;pointer-events:none;content:"";background:linear-gradient(90deg,#00000061,#0000 24% 76%,#0000006b),radial-gradient(#0000 28%,#000000c2 100%);position:absolute;inset:0}.boot-cover[data-state=revealing],.boot-cover[data-state=ready]{opacity:0}.boot-cover[data-state=ready]{visibility:hidden}.boot-cover[data-state=error]{background:radial-gradient(circle,#74222b47,#080606 62%)}.boot-signal{z-index:1;aspect-ratio:1;opacity:.46;filter:blur(12px);-webkit-mask-composite:source-over;background:radial-gradient(circle at 28% 32%,#3dbee538,#0000 20%),radial-gradient(circle at 72% 66%,#de4b9e2e,#0000 24%),radial-gradient(circle,#7a51913d,#0000 62%);width:min(64vw,720px);position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)scale(.9);-webkit-mask-image:radial-gradient(50% 46% at 50% 48%,#000 42%,#0000 78%),radial-gradient(24% 30% at 20% 38%,#000 26%,#0000 78%),radial-gradient(28% 24% at 78% 28%,#000 24%,#0000 76%),radial-gradient(28% 26% at 74% 76%,#000 22%,#0000 76%),radial-gradient(23% 28% at 28% 78%,#000 22%,#0000 76%);mask-image:radial-gradient(50% 46% at 50% 48%,#000 42%,#0000 78%),radial-gradient(24% 30% at 20% 38%,#000 26%,#0000 78%),radial-gradient(28% 24% at 78% 28%,#000 24%,#0000 76%),radial-gradient(28% 26% at 74% 76%,#000 22%,#0000 76%),radial-gradient(23% 28% at 28% 78%,#000 22%,#0000 76%);-webkit-mask-composite:source-over;mask-composite:add}.boot-signal:before,.boot-signal:after{pointer-events:none;content:"";position:absolute}.boot-signal:before{z-index:2;mix-blend-mode:screen;background:radial-gradient(circle at 17% 36%,#58c7ff26,#0000 18%),radial-gradient(circle at 72% 64%,#f876c71f,#0000 22%);inset:-3%}.boot-signal:after{z-index:3;background:radial-gradient(#0000 36%,#06050775 86%);inset:0}.boot-interface{z-index:4;pointer-events:none;grid-template-rows:auto 1fr auto;padding:clamp(18px,3vw,42px);display:grid;position:absolute;inset:0}.boot-interface__header,.boot-interface__footer{color:#ffefe18f;letter-spacing:.12em;justify-content:space-between;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;display:flex}.boot-interface__footer{align-self:end}.boot-lock{place-self:end center;justify-items:center;width:min(360px,100vw - 48px);margin-bottom:clamp(52px,8vh,104px);display:grid}.boot-lock>p{color:#ffefe1ad;letter-spacing:.08em;text-align:center;text-transform:uppercase;max-width:min(420px,100vw - 48px);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;line-height:1.6}.boot-cover .boot-progress{color:#ffefe17a;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;width:100%;margin-top:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.boot-progress__bar{background:#ffefe129;width:100%;height:1px;overflow:hidden}.boot-progress__bar span{width:100%;height:100%;transform:scaleX(max(.04, var(--boot-progress)));transform-origin:0;background:linear-gradient(90deg,#51d6ffe6,#ffb05ef5 52%,#ff5695d1);transition:transform .22s cubic-bezier(.22,1,.36,1);display:block;box-shadow:0 0 14px #ffae5070}.boot-progress p{justify-content:flex-end;align-items:baseline;gap:7px;margin:8px 0 0;display:flex}.boot-progress #boot-progress-value{min-width:2.2ch;color:var(--primary);text-align:right;text-shadow:0 0 16px color-mix(in oklch, var(--primary), transparent 34%);font-size:.76rem}.fatal-message{z-index:99;background:#020202;place-items:center;margin:0;display:grid;position:fixed;inset:0}@media (width<=1120px){.control-rail{width:300px}}@media (width<=900px){.project-copy{top:clamp(max(76px,10svh),34.5vw - 50.5px,260px);transform:none}}@media (width<=760px){html,body,#app{min-height:100svh}.masthead{min-height:64px;padding:12px 16px}.stack-label{display:none}.mobile-signal-controls{top:52%}h1{width:100%;max-width:100%}.project-description{max-width:min(38ch,100vw - 36px);margin:14px 0 28px}.source-cta{min-width:180px;min-height:48px;padding-inline:18px}.signal-playback{flex-basis:48px;width:48px;height:48px}.control-rail{width:calc(100vw - 24px);bottom:36px;right:12px}.signal-map{bottom:calc(min(38svh,320px) + 82px)}#app:has(.control-rail details:not([open])) .signal-map{bottom:112px}.control-rail details{border-radius:15px}.control-rail details:not([open]){width:178px}.control-rail summary{min-height:52px}.control-body{max-height:36svh;overflow-y:auto}.sliders{grid-template-columns:1fr 1fr;gap:11px 18px}}@media (width<=760px),(pointer:coarse) and (width<=1024px){.mobile-signal-controls{display:flex}}@media (pointer:coarse){.signal-map{width:308px}.signal-map__step{width:44px}}@media (height<=540px) and (orientation:landscape){.project-copy{scrollbar-width:none;pointer-events:auto;max-height:calc(100svh - 80px);top:68px;overflow-y:auto;transform:none}.project-copy::-webkit-scrollbar{display:none}.project-description{margin-block:10px 18px}.mobile-signal-controls{gap:8px}.mobile-signal-controls__button{width:46px;height:46px}.mobile-signal-controls__hint{min-height:76px;font-size:.48rem}}@media (width<=480px){.project-actions{gap:10px}.control-body{max-height:38svh}.transport-row p{display:none}.boot-signal{width:min(88vw,560px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.signal-map__step:before{transition:none}}
