@layer reset{*{box-sizing:border-box}html,body{width:100%;min-width:0;height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--bg)}[hidden]{display:none!important}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}@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!important}}}@layer tokens{@property --title-fit{syntax:"<number>";inherits:true;initial-value:1}@property --title-lines{syntax:"<number>";inherits:true;initial-value:2}@property --title-leading{syntax:"<number>";inherits:true;initial-value:.94}@property --boot-tint{syntax:"<color>";inherits:true;initial-value:#315d68}@property --boot-reveal{syntax:"<number>";inherits:true;initial-value:0}: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-body:clamp(1rem, .8929rem + .5357vi, 1.375rem);--text-cta:clamp(.8125rem, .75rem + .3125vi, 1.125rem);--ui-2xs:.5625rem;--ui-xs:.6875rem;--ui-sm:.875rem;--ui-md:1rem;--space-2xs:clamp(.5rem, .4643rem + .1786vi, .625rem);--space-xs:clamp(.75rem, .6786rem + .3571vi, 1rem);--space-s:clamp(1rem, .8571rem + .7143vi, 1.5rem);--space-m:clamp(1.5rem, 1.2857rem + 1.0714vi, 2.25rem);--space-l:clamp(2rem, 1.5714rem + 2.1429vi, 3.5rem);--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--masthead-block-size:clamp(3.5rem, 3.25rem + 1vi, 4.5rem);--signal-map-block-size:4rem;--title-block-budget:36svb;--title-ceiling:16rem;--copy-max-inline:34rem;--measure:38ch;font-family:Rubik,system-ui,sans-serif}}@layer shell{#app{isolation:isolate;background:radial-gradient(circle at 72% 46%, oklch(18% .08 300/.25), transparent 34%), var(--bg);grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:clip}#app>*{grid-area:1/1;min-block-size:0;min-inline-size:0}#stage{z-index:0;place-self:stretch stretch;position:relative}#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}.project-scroll{z-index:1;overscroll-behavior-y:contain;scrollbar-width:none;scroll-snap-type:y mandatory;touch-action:pan-y;overflow-y:auto}.project-scroll__viewport{z-index:2;pointer-events:none;display:grid;position:fixed;inset:0}.project-scroll__viewport>*{grid-area:1/1;min-block-size:0;min-inline-size:0}.project-scroll::-webkit-scrollbar{display:none}.project-scroll__stop{scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100%}:is(.masthead,.boot-masthead){z-index:4;padding-block-start:max(var(--space-s), var(--safe-t));padding-block-end:var(--space-xs);padding-inline:max(var(--space-m), var(--safe-l)) max(var(--space-m), var(--safe-r));pointer-events:none;justify-content:space-between;align-self:start;align-items:center;display:flex}:is(#app,.boot-interface)>:is(.masthead,.boot-masthead){min-block-size:var(--masthead-block-size)}.copy-shell{z-index:3;padding-block:calc(var(--masthead-block-size) + max(var(--space-s), var(--safe-t)) + var(--space-s)) var(--space-l);padding-inline:max(var(--space-l), var(--safe-l), min(12vi, 26rem)) max(var(--space-l), var(--safe-r));overscroll-behavior-y:auto;scrollbar-width:none;pointer-events:none;place-items:safe center start;display:grid;overflow-y:auto;container:copy/inline-size}.copy-shell::-webkit-scrollbar{display:none}.project-copy{row-gap:var(--space-m);inline-size:min(100%, var(--copy-max-inline));display:grid}.copy-shell[data-overflowing=true],.project-copy :is(a,button){pointer-events:auto}#app:has(.signal-map:not([hidden])) .copy-shell{padding-block-end:calc(var(--signal-map-block-size) + max(var(--space-s), var(--safe-b)))}}@layer components{.wordmark{width:max-content;font-size:var(--ui-sm);letter-spacing:.12em;font-weight:600;text-decoration:none}.stack-label{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-xs);letter-spacing:.08em;margin:0}#project-title{--title-ideal:max(2.5rem, min(calc(var(--title-block-budget) / (var(--title-lines) * var(--title-leading))), var(--title-ceiling)));font-family:Six Caps,Impact,sans-serif;font-size:calc(var(--title-ideal) * var(--title-fit));font-weight:400;line-height:var(--title-leading);letter-spacing:.005em;overflow-wrap:anywhere;text-shadow:0 0 12px #ffffff80,0 0 46px #ffffff2e;margin:0}#project-title[data-renderer=webgpu]{color:#0000;text-shadow:none;-webkit-text-fill-color:transparent}.project-title-line{max-inline-size:100%;display:inline-block}.project-support{isolation:isolate;position:relative}.project-description{max-inline-size:var(--measure);margin:0 0 var(--space-m);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;font-weight:300;line-height:1.4}.project-description[data-renderer=webgpu]{color:#0000;text-shadow:none;-webkit-text-fill-color:transparent}.project-actions{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.source-cta{gap:var(--space-s);min-block-size:2.75rem;min-inline-size:min(100%,15rem);padding:var(--space-2xs) var(--space-m);color:oklch(16% 0 0);font-size:var(--text-cta);letter-spacing:.06em;white-space:nowrap;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;font-weight:600;text-decoration:none;transition:transform .18s,background-color .18s;display:inline-flex}.source-cta__icon{filter:drop-shadow(-.7px 0 #2b5bff75)drop-shadow(.7px 0 #ff462d6b);flex:none}.source-cta[data-renderer=webgpu]{color:#0000;box-shadow:none;text-shadow:none;background:0 0}.source-cta[data-renderer=webgpu] .source-cta__icon{visibility:hidden}.signal-playback{block-size:2.75rem;inline-size:2.75rem;color:var(--ink);cursor:pointer;opacity:0;box-shadow:-1.2px 0 var(--crt-blue), 1.2px 0 var(--crt-red), 0 6px 8px #0000004d;background:#080a0bb8;border:1px solid #ffffff9e;border-radius:50%;flex:none;place-items:center;padding:0;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:grid}.signal-playback:not(:focus-visible){pointer-events:none}.signal-playback:disabled{cursor:wait}.signal-playback:focus-visible{color:oklch(16% 0 0);background:var(--primary);border-color:var(--primary);opacity:1}.signal-playback__icon{place-items:center;block-size:22px;inline-size: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-inline-size:42ch;margin:var(--space-xs) 0 0;color:var(--muted);font-size:var(--ui-sm);text-shadow:0 2px 12px #000;line-height:1.5}.control-rail{z-index:6;inline-size:min(330px,100%);margin:var(--space-m) max(var(--space-m), var(--safe-r)) max(var(--space-l), var(--safe-b));pointer-events:none;justify-content:flex-end;place-self:end;display:flex}.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;min-height:62px;font-size:var(--ui-sm);justify-content:space-between;align-items:center;padding:12px 14px 12px 16px;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);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);letter-spacing:.1em;margin-bottom:4px;font-weight:500;display:block}.control-summary-action{align-items:center;gap:8px;display:inline-flex}.reference-pill{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);letter-spacing:.06em;border:1px solid var(--border);border-radius:999px;padding:6px 8px}.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);font-size:var(--ui-xs);grid-template-columns:1fr auto;align-items:center;gap:7px 12px;display:grid}.slider-row input:disabled{cursor:default;opacity:.72}.slider-row output{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-xs);font-variant-numeric:tabular-nums}.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);margin-top:15px;padding-top:13px}.transport-row p{color:var(--muted);font-size:var(--ui-2xs);margin:0;line-height:1.45}.transport-row strong{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:500;display:block}.signal-map{z-index:5;inline-size:196px;opacity:1;pointer-events:auto;place-self:end center;margin-block-end:max(var(--space-2xs), env(safe-area-max-inset-bottom,env(safe-area-inset-bottom,0px)))}.mobile-signal-controls{z-index:7;gap:var(--space-xs);opacity:.88;pointer-events:auto;flex-direction:column;place-self:center end;align-items:center;margin-inline-end:max(var(--space-xs), var(--safe-r));transition:opacity .2s cubic-bezier(.25,1,.5,1);display:none;position:relative}.mobile-signal-controls:focus-within,.mobile-signal-controls[data-hint-visible=true]{opacity:1}.mobile-signal-controls__button{color:#fffffff5;cursor:pointer;touch-action:manipulation;background:#07090ad1;border:1px solid #ffffff9e;border-radius:50%;place-items:center;block-size:2.75rem;inline-size:2.75rem;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;box-shadow:0 3px 8px #0000006b}.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:var(--bg);background:var(--ink);border-color:var(--ink);transform:scale(.94)}.mobile-signal-controls__button:focus-visible{color:#fff;border-color:var(--primary)}.mobile-signal-controls__hint{color:#ffffffc7;min-block-size:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);letter-spacing:.14em;pointer-events:none;opacity:0;filter:blur(4px);writing-mode:vertical-rl;font-weight:500;line-height:1;transition:opacity .26s cubic-bezier(.25,1,.5,1),filter .26s cubic-bezier(.25,1,.5,1);position:absolute;inset-block-start:50%;inset-inline-end:calc(100% + var(--space-xs));transform:translateY(-50%)rotate(180deg)}.mobile-signal-controls[data-hint-visible=true] .mobile-signal-controls__hint{opacity:1;filter:blur()}.signal-map__track{inline-size:100%;block-size:var(--signal-map-block-size);justify-content:center;align-items:center;display:flex}.signal-map__step{cursor:pointer;background:0 0;border:0;block-size:2.75rem;inline-size:1.75rem;padding:0;position:relative}.signal-map__step:before{width:3px;height:var(--signal-bar-height,16px);content:"";opacity:.18;background:#ffffff4d;border-radius:1px;transition:height .3s cubic-bezier(.16,1,.3,1),background-color .18s ease-out,box-shadow .18s ease-out,opacity .18s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 2px #000000ad}.signal-map:focus-within .signal-map__step:not([aria-current=true]):before,.signal-map__step:not([aria-current=true]):focus-visible:before{opacity:.62;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;opacity:1}.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)}.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;place-self:stretch stretch;transition:visibility .16s;position:relative;overflow:hidden}.boot-field{z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 42%, color-mix(in oklab, var(--boot-tint), transparent 74%), transparent 36%), linear-gradient(135deg, color-mix(in oklab, var(--boot-tint) 33%, #000) 0%, color-mix(in oklab, var(--boot-tint) 44%, #000) 52%, color-mix(in oklab, var(--boot-tint) 26%, #000) 100%);position:absolute;inset:0}.boot-field: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-signal{z-index:1;aspect-ratio:1;opacity:.46;filter:blur(12px);-webkit-mask-composite:source-over;--boot-gun-cool:color-mix(in oklab, var(--boot-tint) 70%, #fff);background:radial-gradient(circle at 28% 32%, color-mix(in oklab, var(--boot-gun-cool) 22%, transparent), transparent 20%), radial-gradient(circle at 72% 66%, color-mix(in oklab, var(--primary) 18%, transparent), transparent 24%), radial-gradient(circle at center, color-mix(in oklab, var(--boot-tint) 24%, transparent), transparent 62%);width:min(64vi,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;background:radial-gradient(circle at 17% 36%, color-mix(in oklab, color-mix(in oklab, var(--boot-tint) 58%, #fff) 15%, transparent), transparent 18%), radial-gradient(circle at 72% 64%, color-mix(in oklab, var(--primary) 12%, transparent), transparent 22%);mix-blend-mode:screen;inset:-3%}.boot-signal:after{z-index:3;background:radial-gradient(ellipse at center, transparent 36%, color-mix(in oklab, color-mix(in oklab, var(--boot-tint) 26%, #000) 46%, transparent) 86%);inset:0}.boot-interface{z-index:4;pointer-events:none;grid-template-rows:auto 1fr auto;display:grid;position:absolute;inset:0}.boot-interface__footer{padding-block-end:max(var(--space-s), var(--safe-b));padding-inline:max(var(--space-m), var(--safe-l)) max(var(--space-m), var(--safe-r));color:#ffefe18f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);letter-spacing:.12em;justify-content:space-between;align-self:end;display:flex}.boot-lock{inline-size:min(360px,100%);padding-inline:max(var(--space-m), var(--safe-l)) max(var(--space-m), var(--safe-r));place-self:center;justify-items:center;display:grid}.boot-cover .boot-progress p{justify-content:center}.boot-lock>p{color:#ffefe1ad;max-inline-size:min(420px,100%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-xs);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0;line-height:1.6}.boot-cover .boot-progress{color:#ffefe18f;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-2xs);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;margin-top:14px}.boot-progress__bar{background:#ffefe129;width:100%;height:1px;overflow:hidden}.boot-progress__bar span{background:linear-gradient(90deg, color-mix(in oklab, color-mix(in oklab, var(--boot-tint) 58%, #fff) 90%, transparent), color-mix(in oklab, var(--primary) 96%, transparent) 52%, color-mix(in oklab, color-mix(in oklab, var(--primary) 76%, #000) 82%, transparent));width:100%;height:100%;box-shadow:0 0 14px color-mix(in oklab, var(--primary) 44%, transparent);transform:scaleX(max(.04, var(--boot-progress)));transform-origin:0;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block}.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);font-size:var(--ui-sm);text-align:right;text-shadow:0 0 16px color-mix(in oklch, var(--primary), transparent 34%)}.fatal-message{z-index:99;background:#020202;place-items:center;margin:0;display:grid;position:fixed;inset:0}}@layer state{:is(.masthead,.copy-shell,.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,.copy-shell,.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}.boot-cover[data-state=revealing] .boot-field{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, transparent calc(var(--boot-reveal) * 172% - 21%), #000 calc(var(--boot-reveal) * 172% - 3%));-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, transparent calc(var(--boot-reveal) * 172% - 21%), #000 calc(var(--boot-reveal) * 172% - 3%));mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, transparent calc(var(--boot-reveal) * 172% - 21%), #000 calc(var(--boot-reveal) * 172% - 3%))}.boot-cover[data-state=revealing] :is(.boot-lock,.boot-interface__footer){display:none}.boot-cover[data-state=ready]{visibility:hidden;opacity:0}#app:has(.control-rail details[open]) .mobile-signal-controls{pointer-events:none;opacity:0}@media (pointer:coarse){.project-scroll{scroll-snap-type:none;touch-action:pan-x pinch-zoom;overflow-y:hidden}.mobile-signal-controls{display:flex}.signal-map{inline-size:min(76vi,308px)}.signal-map__step{inline-size:2.75rem}}@media (pointer:coarse) and (orientation:portrait){.copy-shell{padding-inline:max(var(--space-l), var(--safe-l)) max(var(--space-l), var(--safe-r))}.mobile-signal-controls{transform:translateY(clamp(-4rem,-8svb,-2.5rem))}.project-actions{position:relative}.signal-playback{position:absolute;inset-inline-end:0}}@media (hover:hover) and (pointer:fine){.source-cta:hover{background:var(--primary);transform:translateY(-2px)}.source-cta[data-renderer=webgpu]:hover{background:0 0;transform:none}.mobile-signal-controls:hover{opacity:1}.mobile-signal-controls__button:hover{color:#fff;background:#0e1113eb;border-color:#ffffffd1}.signal-map:hover .signal-map__step:not([aria-current=true]):before,.signal-map__step:not([aria-current=true]):hover:before{opacity:.62;background:#ffffff94}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}}@container copy (inline-size<24rem){.project-copy{text-align:center;justify-items:center;row-gap:clamp(2rem,7cqi,2.5rem)}#project-title{--title-block-budget:24svb;--title-ceiling:7.5rem;inline-size:100%}.project-support{inline-size:100%}.project-description{inline-size:100%;max-inline-size:none}.project-actions{justify-content:center;width:100%}.source-cta{justify-content:center}}@media (height<40rem) and (width<30rem){#project-title{--title-block-budget:20svb}}@media (height<34rem){:root{--title-block-budget:52svb}.copy-shell{padding-block:max(var(--space-s), var(--safe-t)) calc(var(--signal-map-block-size) + max(var(--space-2xs), var(--safe-b)));align-items:safe end}.project-copy{row-gap:max(var(--space-s), 1.5rem)}.project-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-block-end:var(--space-xs);display:-webkit-box;overflow:hidden}:is(.masthead,.boot-masthead){min-block-size:0}.project-scroll{scroll-snap-type:none}.control-rail{display:none}}@media (height<34rem) and (width>=44rem){.project-copy{column-gap:var(--space-m);grid-template-columns:minmax(0,auto) minmax(0,1fr);grid-auto-flow:column;align-items:end;row-gap:0;inline-size:min(100%,44rem)}}@media (height<22rem){.project-description{display:none}}@media (width<30rem),(height<22rem){.stack-label{display:none}}@media (forced-colors:active){:is(#project-title,.project-description,.source-cta)[data-renderer=webgpu]{color:canvastext;text-shadow:none;-webkit-text-fill-color:currentColor;forced-color-adjust:none}.source-cta[data-renderer=webgpu] .source-cta__icon{visibility:visible}}}@layer utilities{.visually-hidden{clip-path:inset(50%)!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}}@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")}
