@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=block";:root{--bg: #0D1117;--bg-soft: #161B22;--primary: #4FC1FF;--accent: #C77DFF;--pink: #FF6B9D;--comment: #6A9955;--text: #C9D1D9;--text-dim: #6E7681;--border: #21262D;--font-mono: "Cascadia Code", "Cascadia Mono", "JetBrains Mono", "Consolas", "Monaco", monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-lg: 20px;--fs-xl: 28px;--fs-2xl: 44px;--line: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--topbar-h: 64px;--mark-size: 1.5cm;--statusbar-h: 24px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-base);font-weight:400;line-height:var(--line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(110,118,129,.3) transparent}body{overflow-x:clip}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#6e768147;border-radius:3px;border:1px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#6e76818c;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}body{min-height:100vh;min-height:100dvh}a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease,color .12s ease}a:hover{border-bottom-color:var(--primary)}a:focus-visible,.tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;margin:0 0 var(--space-4)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0 0 var(--space-4)}::selection{background:#4fc1ff40;color:var(--text)}.editor{display:grid;grid-template-rows:auto 1fr;min-height:100vh;min-height:100dvh;padding-bottom:calc(var(--statusbar-h) + env(safe-area-inset-bottom))}.topbar{position:relative;display:flex;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--border);width:100vw;max-width:100vw;height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar__trigger{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:100%;background:transparent;border:0;border-right:1px solid var(--border);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:color .12s ease,background .12s ease}.topbar__trigger:hover{color:var(--text);background:var(--bg-soft)}.topbar__trigger[aria-expanded=true]{color:var(--primary);background:var(--bg-soft)}.topbar__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.topbar__mark{display:block;width:var(--mark-size);height:var(--mark-size);flex-shrink:0}.topbar__mark-ring{stroke:var(--primary)}.topbar__mark-ring--outer{opacity:.5}.topbar__mark-ring--inner{opacity:.9}.topbar__mark-source{fill:var(--accent)}.menu{position:absolute;top:100%;left:0;z-index:20;min-width:240px;background:transparent;border:0;box-shadow:none}.menu[hidden]{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}.menu:not([hidden]){opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s linear 0s}.menu__list{list-style:none;margin:0;padding:var(--space-3) 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.menu__item{opacity:0;transform:translateY(-6px);transition:opacity .28s cubic-bezier(.2,.7,.3,1),transform .28s cubic-bezier(.2,.7,.3,1);transition-delay:calc(var(--menu-idx-rev, 0) * 65ms)}.menu:not([hidden]) .menu__item{opacity:1;transform:translateY(0);transition-delay:calc(var(--menu-idx, 0) * 75ms)}.menu__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) calc(var(--space-7) + 2px);color:var(--text-dim);font-size:var(--fs-base);letter-spacing:.5px;border-bottom:0;background:transparent;transition:color .2s ease}.menu__link:hover{border-bottom:0;background:transparent}.menu__link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.menu__link[aria-current=page]{color:var(--primary)}.menu__mark{width:32px;height:32px;flex-shrink:0;color:var(--text-dim);transition:color .2s ease;will-change:transform}.menu__mark-ring{stroke:currentColor}.menu__mark-ring--outer{opacity:.5}.menu__mark-ring--inner{opacity:.9}.menu__mark-source{fill:var(--accent);transition:fill .2s ease}.menu__link:hover .menu__label{color:var(--accent);text-shadow:0 0 12px rgba(199,125,255,.45)}.menu__link:hover .menu__mark{color:var(--accent);animation:menu-mark-pulse 1.1s ease-in-out infinite}.menu__link:hover .menu__mark-source{fill:var(--accent)}@keyframes menu-mark-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(199,125,255,.55))}}@media(prefers-reduced-motion:reduce){.menu__link:hover .menu__mark{animation:none}}.menu__link[aria-current=page] .menu__mark{color:var(--primary)}.menu__link[aria-current=page] .menu__mark-source{fill:var(--primary)}.menu__label{flex:1;transition:color .2s ease,text-shadow .2s ease}@media(max-width:640px),(max-height:500px)and (orientation:landscape){.menu__link{padding-left:14px}}.menu__link--debug{border-top:1px dashed var(--border);margin-top:var(--space-1);font-size:var(--fs-xs);letter-spacing:1px;color:var(--comment)}.menu__link--debug:hover{color:var(--text)}.content{padding:var(--space-8) var(--space-8);max-width:920px;width:100%;margin-left:auto;margin-right:auto}.statusbar__wave{position:absolute;top:0;left:0;right:0;width:100%;height:100%;color:var(--primary);opacity:.45;pointer-events:none;z-index:0}.lang-switch{position:relative;z-index:1}.statusbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:stretch;justify-content:flex-end;gap:var(--space-4);padding:0;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--bg);border-top:1px solid var(--border);height:calc(var(--statusbar-h) + env(safe-area-inset-bottom));font-size:var(--fs-xs);color:var(--text-dim);overflow:hidden}.statusbar__left,.statusbar__right{display:flex;align-items:center;gap:var(--space-4);min-width:0}.statusbar__left{overflow:hidden}.statusbar__left>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.statusbar .accent{color:var(--accent)}.statusbar .primary{color:var(--primary)}.comment{color:var(--comment)}.keyword{color:var(--primary)}.symbol{color:var(--accent)}.dim{color:var(--text-dim)}.cursor{display:inline-block;width:.55ch;height:1em;background:var(--primary);vertical-align:text-bottom;margin-left:2px;animation:blink 1s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero{text-align:center;padding:var(--space-12) 0 var(--space-8);position:relative}.hero__bg-symbols{position:fixed;top:var(--topbar-h);bottom:var(--statusbar-h);left:0;right:0;pointer-events:none;overflow:hidden;z-index:0}.hero>.hero__mark,.hero>.hero__wordmark,.hero>.hero__submark,.hero>.hero__tagline{position:relative;z-index:1}.bg-symbol{position:absolute;pointer-events:auto;cursor:pointer;user-select:none;opacity:0;animation:bg-symbol-life 7s ease-out forwards;transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg)) scale(var(--parallax-scale, 1));filter:hue-rotate(var(--parallax-hue, 0deg)) drop-shadow(0 0 calc(var(--parallax-glow, 0) * 8px) rgba(199,125,255,calc(var(--parallax-glow, 0) * .55)));will-change:transform,filter}.bg-symbol--popped{animation:bg-symbol-life 7s ease-out forwards,bubble-pop .95s cubic-bezier(.18,.65,.28,1) forwards}@keyframes bubble-pop{0%{transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg)) scale(var(--parallax-scale, 1));filter:hue-rotate(var(--parallax-hue, 0deg)) drop-shadow(0 0 calc(var(--parallax-glow, 0) * 8px) rgba(199,125,255,calc(var(--parallax-glow, 0) * .55)))}18%{transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg)) scale(calc(var(--parallax-scale, 1) * 1.32));filter:hue-rotate(28deg) drop-shadow(0 0 14px rgba(199,125,255,.55)) drop-shadow(0 0 26px rgba(79,193,255,.28))}55%{transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg)) scale(calc(var(--parallax-scale, 1) * 1.12));filter:hue-rotate(14deg) drop-shadow(0 0 8px rgba(199,125,255,.28)) drop-shadow(0 0 16px rgba(79,193,255,.12))}to{transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg)) scale(var(--parallax-scale, 1));filter:hue-rotate(var(--parallax-hue, 0deg)) drop-shadow(0 0 calc(var(--parallax-glow, 0) * 8px) rgba(199,125,255,calc(var(--parallax-glow, 0) * .55)))}}.bg-logo{display:block;color:var(--primary)}.bg-logo__source{fill:var(--accent)}@keyframes bg-symbol-life{0%{opacity:0}15%{opacity:.2}85%{opacity:.2}to{opacity:0}}@media(prefers-reduced-motion:reduce){.bg-symbol{animation:none;opacity:.06}}.hero__mark{display:block;margin:0 auto var(--space-8);width:clamp(160px,28vw,240px);height:auto;cursor:pointer}.hero__mark--kaoss-active{cursor:crosshair;touch-action:none}@media(max-width:640px){.hero__mark{width:clamp(220px,56vw,280px)}}.hero__source{transition:transform 80ms ease-out}.hero__ring--outer{stroke:var(--primary);animation:hero-falloff-outer 4s ease-in-out infinite}.hero__ring--middle{stroke:var(--primary);animation:hero-falloff-middle 4s ease-in-out infinite}.hero__ring--inner{stroke:var(--primary);opacity:.85}.hero__source{fill:var(--accent)}@keyframes hero-falloff-outer{0%,to{opacity:.1}50%{opacity:.55}}@keyframes hero-falloff-middle{0%,to{opacity:.3}50%{opacity:.7}}.hero__wordmark{font-size:clamp(32px,7vw,76px);font-weight:500;color:var(--primary);letter-spacing:-.5px;line-height:1.1;margin:0 0 var(--space-4);overflow:hidden;white-space:nowrap}@media(max-width:360px){.hero__wordmark{font-size:clamp(26px,7vw,60px)}}.hero__typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:100%;vertical-align:baseline;animation:hero-typing 2s steps(11,end) .3s both}.hero__cursor{width:.08em;height:.9em;margin-left:.08em;vertical-align:baseline}.hero__dot{color:var(--accent)}@keyframes hero-typing{0%{width:0}to{width:calc(11ch + .5em)}}.hero__submark{font-size:clamp(20px,3vw,32px);color:var(--accent);margin:0 0 var(--space-6);opacity:0;animation:hero-fadein .6s ease 2.4s forwards}.hero__tagline{color:var(--comment);font-size:var(--fs-base);letter-spacing:2px;margin:0;opacity:0;animation:hero-fadein .6s ease 3s forwards}@keyframes hero-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hero__ring--outer,.hero__ring--middle,.hero__typed,.hero__submark,.hero__tagline,.cursor{animation:none!important}.hero__ring--outer{opacity:.25}.hero__ring--middle{opacity:.5}.hero__submark,.hero__tagline{opacity:1;transform:none}}.topbar__scope-wrap{flex:1 1 auto;display:flex;align-items:center;justify-content:stretch;min-width:0;height:100%;padding:0;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,1) 8%,rgba(0,0,0,1) 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,1) 8%,rgba(0,0,0,1) 92%,transparent 100%);opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s linear 1s}body:has(.ambient-mode--play[aria-pressed=true]) .topbar__scope-wrap{opacity:1;visibility:visible;transition:opacity 1s ease,visibility 0s linear 0s}.topbar__scope{display:block;width:100%;height:calc(var(--topbar-h) - 8px)}.ambient-debug__meter-row{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:clamp(280px,26vw,400px);padding:0 var(--space-2) 4px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}body:has(.ambient-mode--play[aria-pressed=true]) .ambient-debug__meter-row{opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s linear 0s}.output-meter{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:14px;pointer-events:none;animation:meter-breath 4.5s ease-in-out infinite}@keyframes meter-breath{0%,to{transform:translateY(0)}25%{transform:translateY(-.7px)}50%{transform:translateY(0)}75%{transform:translateY(.7px)}}@media(prefers-reduced-motion:reduce){.output-meter{animation:none}}.output-meter:before{content:"";position:absolute;inset:4px 0;background:linear-gradient(to right,#4fc1ff1a 0% 70%,#c9d1d91a 70% 90%,#c77dff2e 90% 100%);border:1px solid var(--border);border-radius:2px;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,black 7%,black 93%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 7%,black 93%,transparent 100%)}.output-meter__fill{position:absolute;inset:4px auto 4px 0;width:0%;background:linear-gradient(to right,#4fc1ff 0% 55%,#a0aae6 75%,#c77dff);transition:width .14s cubic-bezier(.16,1,.3,1);border-radius:1px;will-change:width;mask-image:linear-gradient(to right,transparent 0%,black 7%,black 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 7%,black 100%)}.output-meter__label{position:relative;margin-left:auto;padding-left:8px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;z-index:1}.output-meter--clip:before{border-color:#c77dffe6;box-shadow:0 0 10px #c77dff8c,0 0 22px #c77dff4d}.lang-switch{display:inline-flex;align-items:stretch;height:100%}.lang-switch__link{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2);min-width:32px;font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--text-dim);text-decoration:none;border-right:1px solid var(--border);transition:color .1s ease,background .1s ease}.lang-switch__link:first-child{border-left:1px solid var(--border)}.lang-switch__link:last-child{border-right:0}.lang-switch__link:hover{color:var(--text);background:var(--bg-soft)}.lang-switch__link--active{color:var(--primary);background:var(--bg-soft)}@media(pointer:coarse){.lang-switch__link{min-width:44px;padding:0 12px;font-size:12px;letter-spacing:.6px}}@media(max-width:640px){.lang-switch__link{min-width:36px;padding:0 8px;font-size:11px;letter-spacing:.8px}}.ambient-mode{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);height:100%;background:transparent;border:0;border-left:1px solid var(--border);border-radius:0;color:var(--comment);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.ambient-mode:hover{background:var(--bg-soft)}.ambient-mode:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.ambient-mode[aria-pressed=true]{background:var(--bg-soft)}.ambient-mode[aria-pressed=true] .comment{color:var(--primary)}.ambient-mode--play{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:100%;background:transparent;border:0;border-left:1px solid var(--border);border-right:0;border-radius:0;color:var(--comment);font:inherit;font-size:var(--fs-sm);font-weight:500;letter-spacing:1px;cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0;margin-left:auto}.ambient-mode--play:hover{background:var(--bg-soft)}.ambient-mode--play[aria-pressed=true]{background:var(--bg-soft);color:var(--primary)}.ambient-mode--play[aria-pressed=true] .symbol{color:var(--primary)}@media(max-width:640px),(max-height:500px)and (orientation:landscape){.topbar__scope-wrap{display:flex!important;flex:1 1 0!important;min-width:0!important}.topbar__trigger{width:60px!important;padding:0!important;flex-shrink:0!important;justify-content:center!important}.topbar__mark{width:32px!important;height:32px!important}.ambient-mode--play{width:60px!important;padding:0!important;margin:0!important;flex-shrink:0!important;justify-content:center!important}.ambient-mode--play [data-ambient-label]{display:none!important}.ambient-mode--play .symbol{font-size:1.2rem!important}}.ambient-mode--jam{display:inline-flex;position:fixed;top:calc(var(--topbar-h) + 12px);left:50%;transform:translate(-50%);z-index:105;height:auto;width:auto;padding:6px var(--space-4);background:#0d1117eb;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font:inherit;font-size:var(--fs-xs);font-weight:500;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;align-items:center;gap:6px;box-shadow:0 0 18px #c77dff33,inset 0 0 10px #c77dff14;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s ease,visibility 0s linear 1s,background .15s ease,color .15s ease,box-shadow .15s ease;animation:jam-breath 3.2s ease-in-out infinite;animation-play-state:paused}@keyframes jam-breath{0%,to{box-shadow:0 0 18px #c77dff33,inset 0 0 10px #c77dff14}50%{box-shadow:0 0 26px #c77dff61,inset 0 0 14px #c77dff24}}@media(prefers-reduced-motion:reduce){.ambient-mode--jam{animation:none}}body[data-page=home]:has(.ambient-mode--play[aria-pressed=true]) .ambient-mode--jam{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1s ease,visibility 0s linear 0s,background .15s ease,color .15s ease,box-shadow .15s ease;animation-play-state:running}.ambient-mode--jam:hover{background:#c77dff0f;color:var(--text);box-shadow:0 0 16px #c77dff33,inset 0 0 8px #c77dff17}.ambient-mode--jam[aria-pressed=true]{background:#c77dff2e;color:var(--text)}.ambient-mode--jam .symbol{color:var(--accent)}@media(max-width:640px){.ambient-mode--jam{font-size:10px;padding:4px var(--space-3);letter-spacing:.8px}}@media(pointer:coarse){.ambient-mode--jam{min-height:36px;padding:8px var(--space-4)}}.ambient-debug{position:fixed;top:var(--topbar-h);bottom:var(--statusbar-h);left:0;right:0;z-index:100;pointer-events:none;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text);display:grid;grid-template-areas:"left  center right" "drums drums  drums";grid-template-columns:1fr clamp(280px,26vw,400px) 1fr;grid-template-rows:auto 1fr;opacity:1}.ambient-debug[hidden]{display:none}.ambient-debug.ambient-debug--opening{--fx-pos: 0%;mask-image:linear-gradient(to right,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));-webkit-mask-image:linear-gradient(to right,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));animation:ambient-debug-vocoder-in .8s steps(16) both}.ambient-debug.ambient-debug--fading-out{--fx-pos: 100%;mask-image:linear-gradient(to right,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));-webkit-mask-image:linear-gradient(to right,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));animation:ambient-debug-vocoder-out .8s steps(16) both;pointer-events:none}@keyframes ambient-debug-vocoder-in{0%{--fx-pos: 0%}to{--fx-pos: 110%}}@keyframes ambient-debug-vocoder-out{0%{--fx-pos: 100%}to{--fx-pos: -10%}}@media(prefers-reduced-motion:reduce){.ambient-debug.ambient-debug--opening,.ambient-debug.ambient-debug--fading-out{animation:none;mask-image:none;-webkit-mask-image:none}.ambient-debug.ambient-debug--fading-out{opacity:0;transition:opacity .25s ease}}@media(max-width:1024px){.ambient-debug{grid-template-columns:1fr clamp(240px,28vw,320px) 1fr}}@media(max-width:768px){.ambient-debug{grid-template-areas:"left" "drums" "right";grid-template-columns:1fr;grid-template-rows:auto auto auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.ambient-debug__meter-row{width:calc(100% - 24px)}}.ambient-debug__header{display:none}.ambient-debug__tabs{display:flex;gap:0;pointer-events:auto;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;overflow:visible;margin:0 calc(-1 * var(--space-2)) var(--space-2);flex-shrink:0}.ambient-debug__tabs--synth .ambient-debug__tab,.ambient-debug__tabs--right .ambient-debug__tab{flex:1 1 auto;text-align:center;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.ambient-debug__tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-dim);padding:6px var(--space-1) 5px;margin-bottom:-1px;font:inherit;font-size:10px;cursor:pointer;transition:color .12s ease,border-color .12s ease;position:relative}.ambient-debug__tab:hover{color:var(--text)}.ambient-debug__tab--active{color:var(--primary);border-bottom-color:var(--primary)}.ambient-debug__tabs--right .ambient-debug__tab--active{color:var(--comment);border-bottom-color:var(--comment)}.ambient-debug[data-synth-tab=master] [data-synth-tab]:not([data-synth-tab=master]){display:none}.ambient-debug[data-synth-tab=bass] [data-synth-tab]:not([data-synth-tab=bass]){display:none}.ambient-debug[data-synth-tab=arp] [data-synth-tab]:not([data-synth-tab=arp]){display:none}.ambient-debug[data-synth-tab=fx] [data-synth-tab]:not([data-synth-tab=fx]){display:none}.ambient-debug[data-synth-tab=swell] [data-synth-tab]:not([data-synth-tab=swell]){display:none}.ambient-debug[data-synth-tab=bubble] [data-synth-tab]:not([data-synth-tab=bubble]){display:none}.ambient-debug__col--right[data-right-tab=mod] [data-right-tab]:not([data-right-tab=mod]){display:none}.ambient-debug__col--right[data-right-tab=mic] [data-right-tab]:not([data-right-tab=mic]){display:none}.ambient-debug__col--right[data-right-tab=triggers] [data-right-tab]:not([data-right-tab=triggers]){display:none}.trigger-pads{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);margin-top:var(--space-2)}@media(max-width:640px){.trigger-pads{grid-template-columns:repeat(3,1fr)}}.trigger-pad{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#0006;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:var(--text-dim);padding:12px 8px;font:inherit;cursor:pointer;transition:background .1s,color .1s,border-color .1s,box-shadow .1s;min-height:56px;pointer-events:auto}.trigger-pad__symbol{font-size:18px;line-height:1;color:var(--accent);opacity:.7;transition:opacity .12s,transform .12s}.trigger-pad__label{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600}.trigger-pad:hover{background:#c77dff0f;color:var(--text);border-color:#c77dff66}.trigger-pad:hover .trigger-pad__symbol{opacity:1}.trigger-pad:active,.trigger-pad--firing{background:#c77dff4d;color:var(--text);border-color:var(--accent);box-shadow:0 0 14px #c77dff80,inset 0 0 6px #c77dff4d}.trigger-pad--firing .trigger-pad__symbol{transform:scale(1.15);opacity:1}body.debug-open .hero{padding-bottom:clamp(220px,36vh,340px)}.hero__wordmark,.hero__submark,.hero__tagline{transition:opacity 1s ease}body.debug-open .hero__wordmark,body.debug-open .hero__submark,body.debug-open .hero__tagline{opacity:0!important;animation:none!important;pointer-events:none}body.debug-open .hero__typed,body.debug-open .hero__cursor{animation:none!important;opacity:0!important}@media(max-width:768px){body.debug-open .hero{padding-bottom:var(--space-6)}}.ambient-debug__title{font-size:var(--fs-xs)}.ambient-debug__close{background:transparent;border:0;color:var(--text-dim);cursor:pointer;font-size:var(--fs-base);line-height:1;padding:0 var(--space-2)}.ambient-debug__close:hover{color:var(--text)}.ambient-debug__body{display:contents}.ambient-debug__hint{margin:0 0 var(--space-1);font-size:10px;line-height:1.3}.ambient-debug__col--left{grid-area:left;pointer-events:auto;overflow:hidden;padding:var(--space-2) var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:0;background:#0d1117f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(79,193,255,.12);box-shadow:inset -1px 0 #0000004d}.ambient-debug__col--right{grid-area:right;pointer-events:auto;overflow:hidden;padding:var(--space-2) var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:0;background:#0d1117f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(106,153,85,.12);box-shadow:inset 1px 0 #0000004d}.ambient-debug__bottom{grid-area:drums;position:relative;pointer-events:auto;overflow:visible;padding:var(--space-2) var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:0;background:#0d1117f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(199,125,255,.14);box-shadow:inset 0 1px #0000004d}.ambient-debug__col--left,.ambient-debug__col--right,.ambient-debug__bottom{scrollbar-gutter:stable}.ambient-debug__bottom>*{pointer-events:auto}@media(max-width:768px){.ambient-debug{pointer-events:auto!important;overflow-y:scroll!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#0d111780}.ambient-debug::-webkit-scrollbar{width:4px;display:block}.ambient-debug::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:2px}.ambient-debug__col--left,.ambient-debug__col--right,.ambient-debug__bottom{overflow:visible!important;max-height:none!important;pointer-events:auto!important;padding:var(--space-2)!important}.ambient-debug__header,.ambient-debug__snapshot{display:none!important}}body.debug-open{overflow:hidden}.ambient-debug__snapshot{position:fixed;bottom:calc(var(--statusbar-h) + 4px);right:12px;margin:0;padding:2px var(--space-2);background:#0d1117b3;border-radius:3px;pointer-events:none;font-size:10px}.ambient-debug__group{border:0;border-radius:0;padding:0;margin:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;display:block;min-width:0}.ambient-debug__group+.ambient-debug__group{border-top:1px solid rgba(255,255,255,.05);margin-top:var(--space-2);padding-top:var(--space-2)}.ambient-debug__group legend{display:block;width:100%;padding:4px 0 5px;margin-bottom:4px;color:var(--text-dim);font-size:9px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.04)}.ambient-debug__group[data-section=synth] legend{color:var(--primary)}.ambient-debug__group[data-section=drums] legend{color:var(--accent)}.ambient-debug__group[data-section=modulation] legend{color:var(--comment)}.ambient-debug__group[data-section=mic] legend{color:#ffb454}.ambient-debug__row-inline{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-dim);padding:2px 0}.ambient-debug__row-inline input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.ambient-debug__row-inline select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:1px 4px;font:inherit;font-size:10px;cursor:pointer}.ambient-debug__group[data-section=drums]{padding:4px var(--space-2) var(--space-1)}.ambient-debug__group[data-section=drums]>legend{font-size:10px;letter-spacing:.5px}.ambient-debug__group[data-section=drums]>.ambient-debug__hint{margin-bottom:2px;font-size:9px}.ambient-debug__group label{display:grid;grid-template-columns:1fr;gap:2px;margin:var(--space-2) 0 0}.ambient-debug__group label>span:first-child{color:var(--text-dim)}[data-vol-reactive] label>span:first-child{opacity:calc(.4 + .6 * var(--vol-norm, .5));color:color-mix(in srgb,var(--text-dim) calc(100% - var(--vol-norm, .5) * 80%),var(--primary) calc(var(--vol-norm, .5) * 80%));transition:opacity 80ms ease,color .12s ease}.ambient-debug__group input[type=range]{width:100%;margin:0;accent-color:var(--primary)}.ambient-debug__group output{font-size:var(--fs-xs);color:var(--primary);text-align:right}.ambient-debug__group[data-synth-tab]:has(.knob){display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px var(--space-1);row-gap:var(--space-1)}.ambient-debug__group[data-synth-tab]:has(.knob)>legend{flex:1 0 100%}.ambient-debug__group[data-synth-tab]:has(.knob)>p{flex:1 0 100%}.ambient-debug__group[data-synth-tab]:has(.knob)>label{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;margin:0;padding:4px 2px;text-align:center;font-size:9px;flex:0 0 56px;min-height:70px}.ambient-debug__group[data-synth-tab]:has(.knob)>label>span:first-child{font-size:9px;line-height:1.15;height:18px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;color:var(--text-dim);letter-spacing:.3px}.ambient-debug__group[data-synth-tab]:has(.knob)>label>output{font-size:9px;text-align:center;color:var(--primary)}.knob{width:28px;height:28px;position:relative;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 38% 32%,#2c3445,#1a1f2a 55%,#10141c);cursor:ns-resize;user-select:none;touch-action:none;flex-shrink:0;box-shadow:inset 0 1px #ffffff0f,inset 0 -2px 4px #0006,0 1px 2px #00000080;transition:border-color .12s ease,box-shadow .12s ease}.knob:hover{border-color:#ffffff2e}.knob:focus-visible{outline:1px solid var(--primary);outline-offset:2px}.knob--active{border-color:var(--primary);box-shadow:inset 0 1px #ffffff14,inset 0 -2px 4px #0006,0 0 0 1px var(--primary),0 0 8px #4fc1ff40}.knob--fine{border-color:var(--accent)!important;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 4px #0006,0 0 0 1px var(--accent),0 0 12px #c77dff73!important}.knob__indicator{position:absolute;top:50%;left:50%;width:2px;height:42%;background:var(--primary);border-radius:2px;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--knob-angle, -135deg));pointer-events:none;box-shadow:0 0 4px #4fc1ff66}.knob>input[type=range]{display:none}.ambient-debug__group[data-section=drums] .knob__indicator,.drum-row__tweaks .knob__indicator,.drum-row__fx .knob__indicator{background:var(--accent)}.ambient-debug__group[data-section=modulation] .knob__indicator,.mod-matrix .knob__indicator{background:var(--comment)}.ambient-debug__group[data-section=synth] .knob__indicator{background:var(--primary)}.drum-tweak:has(.knob),.drum-fx:has(.knob),.mod-matrix__field:has(.knob){display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px}.drum-tweak:has(.knob) .drum-tweak__name,.drum-fx:has(.knob) .drum-fx__name,.mod-matrix__field:has(.knob)>span:first-child{text-align:center}.drum-tweak:has(.knob) .drum-tweak__out,.drum-fx:has(.knob) .drum-fx__out,.mod-matrix__field:has(.knob)>output{text-align:center;font-size:9px}.ambient-debug__btn{display:block;width:100%;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--text);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.ambient-debug__btn:hover{border-color:var(--primary)}.ambient-debug__btn--active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.ambient-debug__radio{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-2) 0}.ambient-debug__radio label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-dim);cursor:pointer}.ambient-debug__radio label:hover{color:var(--text)}.ambient-debug__radio input[type=radio]{accent-color:var(--primary)}.ambient-debug__select-row{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;font-size:var(--fs-xs)}.ambient-debug__select-row>span:first-child{color:var(--text-dim)}.ambient-debug__select-row select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:2px var(--space-2);font:inherit;font-size:var(--fs-xs);min-width:0}.ambient-debug__select-row select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.ambient-debug__meter{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:2px;overflow:hidden;margin-top:var(--space-2)}.ambient-debug__meter-fill{height:100%;width:0%;background:linear-gradient(to right,var(--comment) 0%,var(--primary) 60%,var(--accent) 90%);transition:width 50ms linear}.drum-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-1) 0 var(--space-2);border-bottom:1px solid rgba(255,255,255,.05)}.drum-toolbar__btn{width:auto;min-width:80px;padding:4px var(--space-2);margin-top:0;font-size:10px;letter-spacing:.5px;flex-shrink:0}.drum-toolbar__fx:first-of-type{margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid rgba(255,255,255,.06)}.drum-toolbar__bpm{padding-left:var(--space-2);border-left:1px solid rgba(255,255,255,.06)}.drum-toolbar__fx{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:9px;flex:0 0 56px;text-align:center}.drum-toolbar__fx>span:first-child{color:var(--text-dim);font-size:9px;height:14px}.drum-toolbar__fx output{font-size:9px;color:var(--accent)}.drum-toolbar__fx .knob{width:26px;height:26px}.drum-toolbar__bpm{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;flex:1 1 auto;min-width:160px;max-width:384px;font-size:var(--fs-xs);color:var(--text-dim)}.drum-toolbar__bpm input[type=range]{flex:1 1 auto;width:100%;min-width:80px;accent-color:var(--primary)}.drum-toolbar__bpm output{color:var(--primary);min-width:30px;text-align:right;flex-shrink:0}.drum-grid{display:flex;flex-direction:column;gap:1px;margin-top:var(--space-1)}.drum-track{display:flex;flex-direction:column;gap:0;border-bottom:1px solid var(--border)}.drum-track:last-child{border-bottom:0}.drum-track>.drum-row__tweaks,.drum-track>.drum-row__fx,.drum-track>.drum-row__params{display:none}.drum-track--expanded>.drum-row__tweaks,.drum-track--expanded>.drum-row__fx,.drum-track--expanded>.drum-row__params{display:grid}.drum-row__params{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));align-items:center;justify-items:center;gap:4px 6px;margin:0 0 var(--space-1) 44px;padding:4px 0;border-bottom:1px solid var(--border)}.drum-row{display:grid;grid-template-columns:40px 1fr 50px 76px 22px 22px;gap:var(--space-1);align-items:center;padding:1px 0}.drum-row__label{appearance:none;background:transparent;border:0;color:var(--text-dim);font:inherit;font-size:10px;text-align:right;cursor:pointer;padding:0 2px;transition:color .1s ease}.drum-row__label:hover{color:var(--text)}.drum-track--expanded>.drum-row>.drum-row__label{color:var(--accent)}.drum-row__cells{display:grid;grid-template-columns:repeat(var(--drum-steps, 16),1fr);gap:1px}.drum-row__mode,.drum-row__len{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:1px 2px;font:inherit;font-size:10px}.drum-row__len{color:var(--primary);text-align:center}.drum-row__toggle{appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:2px;color:var(--text-dim);font:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;width:22px;height:22px;padding:0;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.drum-row__toggle:hover{border-color:var(--text-dim);color:var(--text)}.drum-row__toggle--mute.drum-row__toggle--active{background:#ff60602e;border-color:#ff606099;color:#ff7878}.drum-row__toggle--solo.drum-row__toggle--active{background:#f0c8502e;border-color:#f0c85099;color:#f5d264}@media(max-width:640px){.drum-row{grid-template-columns:32px 1fr 42px 56px 20px 20px}.drum-row__toggle{width:20px;height:20px;font-size:9px}.drum-row__tweaks,.drum-row__fx{margin-left:0}}.drum-cell{appearance:none;background:#00000059;border:1px solid rgba(255,255,255,.06);height:14px;padding:0;cursor:pointer;border-radius:2px;transition:background 80ms ease,border-color 80ms ease,box-shadow 80ms ease}.drum-cell:hover{border-color:#ffffff2e;background:#ffffff08}.drum-cell--beat{border-left:1px solid rgba(255,255,255,.2)}.drum-cell--on{background:var(--primary);border-color:var(--primary);box-shadow:0 0 6px #4fc1ff66}.drum-cell--current{outline:1px solid var(--accent);outline-offset:-1px;box-shadow:0 0 8px #c77dff80}.drum-cell--on.drum-cell--current{box-shadow:0 0 6px #4fc1ff66,0 0 10px #c77dff99}@media(pointer:coarse){.drum-cell{height:22px}.drum-row__toggle{width:28px;height:28px;font-size:11px}.drum-row__mode,.drum-row__len{font-size:12px;padding:4px}.drum-row{grid-template-columns:36px 1fr 56px 28px 28px;gap:4px}}.drum-row__tweaks{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 1px 44px;padding:2px 0;border-bottom:1px dashed var(--border)}.drum-tweak{display:grid;grid-template-columns:36px 1fr 28px;gap:2px;align-items:center;font-size:9px}.drum-tweak__name{color:var(--text-dim);font-size:9px}.drum-tweak input[type=range]{width:100%;accent-color:var(--accent)}.drum-tweak__out{color:var(--accent);text-align:right;font-size:9px}.drum-row__fx{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 var(--space-1) 44px;padding:2px 0;border-bottom:1px solid var(--border)}.drum-fx{display:grid;grid-template-columns:36px 1fr 28px;gap:2px;align-items:center;font-size:9px}.drum-fx__name{color:var(--comment);font-size:9px}.drum-fx input[type=range]{width:100%;accent-color:var(--comment)}.drum-fx select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:0 1px;font:inherit;font-size:9px}.drum-fx__out{color:var(--comment);text-align:right;font-size:9px}.drum-row__tweaks .knob,.drum-row__fx .knob{width:24px;height:24px}.drum-tweak:has(.knob),.drum-fx:has(.knob){font-size:8px;gap:1px}.drum-tweak:has(.knob) .drum-tweak__name,.drum-fx:has(.knob) .drum-fx__name{font-size:8px}.drum-tweak:has(.knob) .drum-tweak__out,.drum-fx:has(.knob) .drum-fx__out{font-size:8px}.mod-matrix{display:flex;flex-direction:column;gap:2px}.mod-matrix__row{display:grid;grid-template-columns:44px 64px 56px 56px 1fr;align-items:center;gap:var(--space-1);padding:2px 0;border-bottom:1px dashed var(--border)}.mod-matrix__label{color:var(--accent);font-size:var(--fs-xs);letter-spacing:1px}.mod-matrix__row>select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:1px 2px;font:inherit;font-size:10px}.mod-matrix__field{display:grid;grid-template-columns:30px 1fr 28px;gap:2px;align-items:center;font-size:9px}.mod-matrix__field>span:first-child{color:var(--text-dim);font-size:9px}.mod-matrix__field input[type=range]{width:100%;accent-color:var(--accent)}.mod-matrix__field output{color:var(--accent);text-align:right;font-size:9px}.mod-matrix__field select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:1px 2px;font:inherit;font-size:9px}.mod-matrix__field--rate .mod-matrix__field-toggle{cursor:pointer;user-select:none;transition:color .12s ease}.mod-matrix__field--rate .mod-matrix__field-toggle:hover{color:var(--text)}.mod-matrix__field--rate .mod-matrix__field-toggle.is-active{color:var(--accent);font-weight:600}.mod-matrix__field-subdiv{display:none;grid-column:2 / 4;width:100%}.mod-matrix__field--rate.synced input[type=range],.mod-matrix__field--rate.synced>output{display:none}.mod-matrix__field--rate.synced .mod-matrix__field-subdiv{display:inline-block}.mod-matrix .knob{width:24px;height:24px}.mod-matrix__field:has(.knob){display:flex;flex-direction:column;align-items:center;gap:1px;font-size:8px}.mod-matrix__field:has(.knob)>span:first-child,.mod-matrix__field:has(.knob)>output{font-size:8px}.hero__ring--outer,.hero__ring--middle,.hero__ring--inner,.hero__source{transform-box:fill-box;transform-origin:center;transition:transform 80ms ease-out}.hero__ring--middle{transform:scale(calc(1 + var(--ring-amp-middle, 0) * .15))}.hero__ring--inner{transform:scale(calc(1 + var(--ring-amp-inner, 0) * .2))}.hero__source{transform:scale(calc(1 + var(--source-amp, 0) * .3))}.hero__mark--vertigo .hero__ring--outer{animation:hero-vertigo-outer var(--vertigo-duration, 12s) cubic-bezier(.4,0,.2,1) forwards;transform-origin:center;transform-box:fill-box}.hero__mark--vertigo .hero__ring--middle{animation:hero-vertigo-middle var(--vertigo-duration, 12s) cubic-bezier(.4,0,.2,1) forwards;transform-origin:center;transform-box:fill-box}.hero__mark--vertigo .hero__ring--inner{animation:hero-vertigo-inner var(--vertigo-duration, 12s) cubic-bezier(.4,0,.2,1) forwards;transform-origin:center;transform-box:fill-box}.hero__mark--vertigo .hero__source{animation:hero-vertigo-source var(--vertigo-duration, 12s) cubic-bezier(.4,0,.2,1) forwards;transform-origin:center;transform-box:fill-box}.hero__ring--outer,.hero__ring--middle,.hero__ring--inner{transition:stroke .3s cubic-bezier(.4,0,.6,1)}@keyframes hero-vertigo-outer{0%{transform:scale(calc(1 + var(--ring-amp-outer, 0) * .2)) rotate(0);stroke:var(--primary)}18%{transform:scale(calc(1 + var(--vertigo-intensity, .6) * .14)) rotate(calc(var(--vertigo-direction, 1) * 14deg));stroke:var(--comment)}42%{transform:scale(calc(1 - var(--vertigo-intensity, .6) * .2)) rotate(calc(var(--vertigo-direction, 1) * -8deg));stroke:var(--pink)}65%{transform:scale(calc(1 + var(--vertigo-intensity, .6) * .12)) rotate(calc(var(--vertigo-direction, 1) * 5deg));stroke:var(--comment)}82%{transform:scale(calc(1 + var(--ring-amp-outer, 0) * .2 + var(--vertigo-intensity, .6) * .05)) rotate(calc(var(--vertigo-direction, 1) * 1.5deg));stroke:var(--primary)}to{transform:scale(calc(1 + var(--ring-amp-outer, 0) * .2)) rotate(0);stroke:var(--primary)}}@keyframes hero-vertigo-middle{0%{transform:scale(calc(1 + var(--ring-amp-middle, 0) * .15)) rotate(0);stroke:var(--primary)}22%{transform:scale(calc(1 - var(--vertigo-intensity, .6) * .3)) rotate(calc(var(--vertigo-direction, 1) * -16deg));stroke:var(--pink)}50%{transform:scale(calc(1 + var(--vertigo-intensity, .6) * .68)) rotate(calc(var(--vertigo-direction, 1) * 8deg));stroke:var(--comment)}72%{transform:scale(calc(1 - var(--vertigo-intensity, .6) * .16)) rotate(calc(var(--vertigo-direction, 1) * -3deg));stroke:var(--pink)}to{transform:scale(calc(1 + var(--ring-amp-middle, 0) * .15)) rotate(0);stroke:var(--primary)}}@keyframes hero-vertigo-inner{0%{transform:scale(calc(1 + var(--ring-amp-inner, 0) * .2)) rotate(0);stroke:var(--primary)}30%{transform:scale(calc(1 + var(--vertigo-intensity, .6) * 1.91)) rotate(calc(var(--vertigo-direction, 1) * 22deg));stroke:var(--comment)}58%{transform:scale(calc(1 - var(--vertigo-intensity, .6) * .4)) rotate(calc(var(--vertigo-direction, 1) * -10deg));stroke:var(--pink)}to{transform:scale(calc(1 + var(--ring-amp-inner, 0) * .2)) rotate(0);stroke:var(--primary)}}@keyframes hero-vertigo-source{0%{filter:blur(0);transform:scale(calc(1 + var(--source-amp, 0) * .3))}35%{filter:blur(calc(var(--vertigo-intensity, .6) * 6px));transform:scale(calc(1 + var(--vertigo-intensity, .6) * .5))}65%{filter:blur(calc(var(--vertigo-intensity, .6) * 3px));transform:scale(calc(1 - var(--vertigo-intensity, .6) * .1))}to{filter:blur(0);transform:scale(calc(1 + var(--source-amp, 0) * .3))}}@media(prefers-reduced-motion:reduce){.hero__mark--vertigo .hero__ring--outer,.hero__mark--vertigo .hero__ring--middle,.hero__mark--vertigo .hero__ring--inner,.hero__mark--vertigo .hero__source{animation:none}}.hero__ripple{fill:none;stroke:var(--primary);stroke-width:2;pointer-events:none;animation:hero-ripple 2.5s ease-out forwards}@keyframes hero-ripple{0%{r:95;opacity:.7;stroke-width:2}60%{opacity:.35}to{r:140;opacity:0;stroke-width:.5}}@media(prefers-reduced-motion:reduce){.hero__ripple{animation:none;opacity:0}}@media(prefers-reduced-motion:reduce){.hero__ring--outer,.hero__ring--middle,.hero__ring--inner,.hero__source{transform:none!important;transition:none!important}}.work-empty{margin-top:var(--space-6);padding:var(--space-4) 0}.work-empty__line{font-size:var(--fs-base);margin:0 0 var(--space-3)}.work-empty__note{margin:0}.work-timeline-page__head{margin:0 0 var(--space-5)}.work-timeline-page__head h1{margin:0 0 var(--space-1)}.work-timeline-page__head .comment{margin:0}.work-gallery{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:var(--space-5);padding-bottom:var(--space-3)}.work-gallery__rail{list-style:none;margin:0;padding:var(--space-3) max(var(--space-4),calc((100vw - clamp(220px,24vw,360px))/2));display:flex;align-items:center;gap:56px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.work-gallery__rail::-webkit-scrollbar{display:none}.work-gallery__rail--dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}.work-gallery__rail--dragging .work-poster{user-select:none}.work-poster{flex:0 0 auto;width:clamp(220px,24vw,360px);scroll-snap-align:center;scroll-snap-stop:always;list-style:none}.work-poster--fanout-init{animation:work-poster-fanout .7s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--reveal-idx, 0) * 80ms)}@keyframes work-poster-fanout{0%{opacity:0;transform:scale(.25) translate(calc(var(--reveal-dx, 0) * 60px));filter:blur(4px)}60%{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.work-poster--fanout-init{animation:none}}.work-poster__btn{display:block;position:relative;width:100%;aspect-ratio:2 / 3;padding:0;border:1px solid var(--border);border-radius:8px;background:#000;cursor:pointer;overflow:hidden;contain:paint;isolation:isolate;transition:border-color .24s ease,transform .32s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,opacity .24s ease;opacity:.55;transform:scale(.94)}.work-poster--active .work-poster__btn,.work-poster__btn:hover,.work-poster__btn:focus-visible{opacity:1;transform:scale(1);border-color:rgba(var(--poster-glow-rgb, 79, 193, 255),.55);box-shadow:0 0 8px rgba(var(--poster-glow-rgb, 79, 193, 255),.3),0 4px 12px -2px #00000080;outline:none}.work-gallery__rail:has(.work-poster__btn:hover) .work-poster--active .work-poster__btn:not(:hover){opacity:.55;transform:scale(.94);border-color:var(--border);box-shadow:none}.work-poster__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.92);transition:filter .32s ease;-webkit-user-drag:none;user-select:none;pointer-events:none}.work-poster--active .work-poster__art,.work-poster__btn:hover .work-poster__art{filter:saturate(1.05)}.work-poster__placeholder{position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 12px,transparent 12px 24px),var(--bg)}.work-poster:has(.work-poster__kind--game){--poster-glow-rgb: 79, 193, 255}.work-poster:has(.work-poster__kind--tool){--poster-glow-rgb: 199, 125, 255}.work-poster:has(.work-poster__kind--music){--poster-glow-rgb: 106, 153, 85}.work-poster__kind{position:absolute;top:10px;left:10px;z-index:3;font-family:var(--font-mono);font-size:11px;letter-spacing:.6px;padding:3px 8px;border-radius:3px;background:#0d1117c7;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;text-transform:lowercase}.work-poster__kind--game{color:var(--primary);border-color:#4fc1ff73}.work-poster__kind--tool{color:var(--accent);border-color:#c77dff73}.work-poster__kind--music{color:var(--comment);border-color:#6a995573}.work-poster__kind .dim{opacity:.55}.work-poster__overlay{position:absolute;left:0;right:0;bottom:0;box-sizing:border-box;max-height:50%;padding:var(--space-4) var(--space-4) var(--space-3);background:linear-gradient(180deg,#0000,#0000008c 35%,#000000eb);color:var(--text);display:flex;flex-direction:column;gap:6px;z-index:1;text-align:left}.work-poster__title{margin:0;font-size:clamp(.9rem,1.2vw,1.1rem);line-height:1.25;font-weight:500;letter-spacing:-.01em}.work-poster__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-dim);opacity:0;transform:translateY(4px);transition:opacity .24s ease,transform .24s ease}.work-poster--active .work-poster__meta,.work-poster__btn:hover .work-poster__meta,.work-poster__btn:focus-visible .work-poster__meta{opacity:1;transform:translateY(0)}.work-poster__year{font-variant-numeric:tabular-nums}.work-poster__badge{display:inline-flex;padding:2px 8px;border:1px solid var(--border);border-radius:3px;font-size:var(--fs-xs);letter-spacing:1.2px;text-transform:uppercase;font-weight:500;color:var(--text-dim)}.work-poster__badge--tbr{color:var(--primary);border-color:var(--primary)}.work-poster__badge--on-hold{color:var(--comment);border-color:var(--comment)}.work-poster__badge--wip{color:#ff9a3c;border-color:#ff9a3cb3}.work-poster__badge--unannounced{color:var(--comment);border-color:var(--comment)}.work-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer;transition:border-color .16s ease,color .16s ease,opacity .16s ease,background .16s ease;padding:0}.work-gallery__nav:hover{border-color:var(--primary);color:var(--primary);background:#000000b3}.work-gallery__nav:disabled{opacity:.25;cursor:default}.work-gallery__nav--prev{left:var(--space-4)}.work-gallery__nav--next{right:var(--space-4)}.work-modal{padding:0;width:min(1320px,94vw);max-width:94vw;max-height:92vh;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;overflow:hidden}.work-modal::backdrop{background:#000000c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.work-modal[open] .work-modal__inner{animation:work-modal-in .24s cubic-bezier(.2,.7,.3,1) both}@keyframes work-modal-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.work-modal__inner{position:relative;width:100%;height:100%;max-height:92vh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);column-gap:20px}.work-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:6;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:#000000a6;color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color .16s ease,color .16s ease,background .16s ease}.work-modal__close:hover{border-color:var(--primary);color:var(--primary);background:#000000d9}.work-modal__media{background:#000;display:flex;align-items:center;justify-content:center;min-height:100%;aspect-ratio:16 / 9}.work-modal__yt-frame{width:100%;height:100%;border:0;display:block}.work-modal__body{padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);overflow-y:auto}.work-modal__title-row{display:flex;flex-direction:column;gap:var(--space-3)}.work-modal__title{font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.2;margin:0;color:var(--text);font-weight:500;letter-spacing:-.01em}.work-modal__badge-slot{display:flex;align-items:center;gap:var(--space-2)}.work-modal__badge{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid var(--border);border-radius:3px;font-size:var(--fs-xs);letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--text-dim)}.work-modal__badge--tbr{color:var(--primary);border-color:var(--primary);background:#78dcff0f}.work-modal__badge--on-hold{color:var(--comment);border-color:var(--comment)}.work-modal__badge--wip{color:#ff9a3c;border-color:#ff9a3cb3}.work-modal__badge--unannounced{color:var(--comment);border-color:var(--comment)}.work-modal__props{margin:0;display:flex;flex-direction:column;gap:var(--space-5)}.work-modal__prop{display:flex;flex-direction:column;gap:var(--space-2)}.work-modal__props dt{color:var(--text-dim);font-weight:400;font-size:var(--fs-sm);letter-spacing:.5px;text-transform:lowercase;margin:0}.work-modal__props dt:before{content:"// ";opacity:.5}.work-modal__props dd{margin:0;color:var(--text);font-size:var(--fs-base);line-height:1.55;display:flex;flex-direction:column;gap:4px}.work-modal__role-item{display:block}.work-modal__links{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.work-modal__link{display:inline-flex;align-items:center;gap:8px;padding:10px var(--space-4);border:1px solid var(--border);border-radius:4px;font-size:var(--fs-sm);color:var(--text);text-decoration:none;transition:border-color .16s ease,color .16s ease,background .16s ease;background:transparent;letter-spacing:.5px}.work-modal__link:hover{border-color:var(--primary);color:var(--primary);background:#78dcff0f}.work-modal__link--steam:hover{border-color:var(--accent);color:var(--accent);background:#c77dff0f}.work-modal__link-arrow{font-size:.85em;opacity:.7}@media(max-width:880px){.work-gallery__rail{gap:var(--space-5)}.work-modal__inner{grid-template-columns:1fr;column-gap:0}.work-modal__body{padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-5)}.work-modal__title{font-size:clamp(1.2rem,4.2vw,1.5rem)}.work-modal__props{gap:var(--space-4)}}@media(max-width:720px){.work-poster{width:clamp(220px,56vw,320px)}.work-gallery__rail{padding:var(--space-3) max(var(--space-3),calc((100vw - clamp(220px,56vw,320px))/2));gap:var(--space-3)}.work-gallery__nav{width:44px;height:44px;font-size:1.2rem}.work-gallery__nav--prev{left:var(--space-2)}.work-gallery__nav--next{right:var(--space-2)}.work-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.work-modal__inner{margin:0;border-radius:0;border:0;max-height:100dvh;height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}.work-modal__close{width:44px;height:44px;top:max(var(--space-3),calc(env(safe-area-inset-top) + 8px));right:max(var(--space-3),calc(env(safe-area-inset-right) + 8px));font-size:1.5rem}}.about-section{margin-top:var(--space-8)}.about-section__heading{font-size:var(--fs-base);font-weight:400;margin:0 0 var(--space-4);letter-spacing:0}.about-section__empty{margin:0 0 var(--space-2);padding-left:var(--space-4)}.bio{border-left:2px solid var(--accent);padding:var(--space-2) 0 var(--space-2) var(--space-6);margin:0 0 var(--space-6)}.bio__para{margin:0 0 var(--space-4);color:var(--text)}.bio__para:last-child{margin-bottom:0}.brand-fatto,.brand-bbene{color:var(--primary)}.brand-dot{color:var(--pink)}.brand-audiolab{color:var(--accent)}.work-list-bullets{list-style:none;margin:0;padding-left:var(--space-4)}.work-list-bullets li{margin:0 0 var(--space-2);line-height:1.6}.selected-list{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:0;padding-left:var(--space-4)}.selected-list dt{color:var(--primary);font-weight:500;white-space:nowrap}.selected-list dd{margin:0;color:var(--text-dim)}.teaching__intro{margin:0 0 var(--space-4);color:var(--text)}.teaching__list{list-style:none;margin:0;padding-left:var(--space-4)}.teaching__list li{margin:0 0 var(--space-2)}.contact-list{list-style:none;margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.contact-list a{color:var(--primary);border-bottom:1px solid transparent}.contact-list a:hover{border-bottom-color:var(--primary)}@media(max-width:640px){.selected-list{grid-template-columns:1fr;gap:2px var(--space-2)}.selected-list dt{margin-top:var(--space-2)}.selected-list dt:first-of-type{margin-top:0}}.skills__open,.skills__close{margin:0;font-size:var(--fs-base)}.skills__list{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0;padding-left:var(--space-4)}.skills__list dt{color:var(--text-dim);font-weight:400;white-space:nowrap}.skills__list dd{margin:0;color:var(--text)}@media(max-width:640px){.skills__list{grid-template-columns:1fr;gap:2px var(--space-2);padding-left:var(--space-3)}.skills__list dt{margin-top:var(--space-2)}.skills__list dt:first-of-type{margin-top:0}.bio{padding-left:var(--space-4)}}.contact-block{margin-top:var(--space-6)}.contact-block__open,.contact-block__close{margin:0;font-size:var(--fs-base)}.contact-block__list{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0;padding-left:var(--space-4);word-break:break-word;overflow-wrap:anywhere}.contact-block__list dt{color:var(--text-dim);font-weight:400;white-space:nowrap}.contact-block__list dd{margin:0;color:var(--text);min-width:0}.contact-block__list a{color:var(--primary);border-bottom:1px solid transparent}.contact-block__list a:hover{border-bottom-color:var(--primary)}@media(max-width:640px){.contact-block__list{grid-template-columns:1fr;gap:2px var(--space-2);padding-left:var(--space-3)}.contact-block__list dt{margin-top:var(--space-2)}.contact-block__list dt:first-of-type{margin-top:0}}.reveal-init{opacity:0;transform:translateY(8px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--reveal-idx, 0) * 60ms);will-change:opacity,transform}.reveal-in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal-init{opacity:1;transform:none;transition:none}}@view-transition{navigation:auto}:root{--fx-dur-in: .2s;--fx-dur-out: .18s;--fx-easing: linear;--fx-blur: 48px;--fx-color: 79 193 255;--fx-magnetic-x: 50%;--fx-magnetic-y: 50%;--fx-stripe-h: 8px;--fx-stripe-dir: to bottom}@property --fx-pos{syntax: "<percentage>"; inherits: false; initial-value: 0%;}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-fx-style=filter-sweep]::view-transition-old(root){--fx-pos: 110%;mask-image:linear-gradient(to top,transparent var(--fx-pos),black calc(var(--fx-pos) + 10%));animation:fx-sweep-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=filter-sweep]::view-transition-new(root){--fx-pos: 110%;mask-image:linear-gradient(to top,black var(--fx-pos),transparent calc(var(--fx-pos) + 10%));animation:fx-sweep-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-sweep-out{0%{--fx-pos: 110%}to{--fx-pos: -10%}}@keyframes fx-sweep-in{0%{--fx-pos: 110%}to{--fx-pos: -10%}}html[data-fx-style=step-sequencer]::view-transition-old(root){--fx-pos: 0%;mask-image:linear-gradient(to right,transparent calc(var(--fx-pos) - 12%),black calc(var(--fx-pos) - 4%),black 100%);animation:fx-seq-out var(--fx-dur-out) steps(16) both}html[data-fx-style=step-sequencer]::view-transition-new(root){--fx-pos: 0%;mask-image:linear-gradient(to right,black calc(var(--fx-pos) - 4%),transparent calc(var(--fx-pos) + 4%),transparent 100%);animation:fx-seq-in var(--fx-dur-in) steps(16) both}@keyframes fx-seq-out{0%{--fx-pos: 0%}to{--fx-pos: 112%}}@keyframes fx-seq-in{0%{--fx-pos: 0%}to{--fx-pos: 112%}}html[data-fx-style=echo-decay]::view-transition-old(root){animation:fx-echo-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=echo-decay]::view-transition-new(root){animation:fx-echo-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-echo-out{0%{opacity:1;transform:scale(1) translate(0);filter:blur(0)}40%{opacity:.6;transform:scale(.99) translate(8px);filter:blur(2px)}70%{opacity:.3;transform:scale(.98) translate(16px);filter:blur(6px)}to{opacity:0;transform:scale(.97) translate(24px);filter:blur(12px)}}@keyframes fx-echo-in{0%{opacity:0;transform:scale(1.02);filter:blur(8px)}40%{opacity:.5;transform:scale(1.01);filter:blur(3px)}to{opacity:1;transform:scale(1);filter:blur(0)}}html[data-fx-style=concentric]::view-transition-old(root){--fx-pos: 100%;mask-image:radial-gradient(circle at 50% 50%,transparent calc(var(--fx-pos) - 8%),black var(--fx-pos));animation:fx-ring-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=concentric]::view-transition-new(root){--fx-pos: 0%;mask-image:radial-gradient(circle at 50% 50%,black var(--fx-pos),transparent calc(var(--fx-pos) + 8%));animation:fx-ring-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-ring-out{0%{--fx-pos: 100%}to{--fx-pos: 0%}}@keyframes fx-ring-in{0%{--fx-pos: 0%}to{--fx-pos: 100%}}html[data-fx-style=strip-flip]::view-transition-old(root){animation:fx-strip-out var(--fx-dur-out) var(--fx-easing) both;transform-origin:center}html[data-fx-style=strip-flip]::view-transition-new(root){animation:fx-strip-in var(--fx-dur-in) var(--fx-easing) both;transform-origin:center}@keyframes fx-strip-out{0%{opacity:1;transform:scaleY(1);filter:brightness(1)}50%{opacity:.5;transform:scaleY(.4);filter:brightness(.5)}to{opacity:0;transform:scaleY(0);filter:brightness(.2)}}@keyframes fx-strip-in{0%{opacity:0;transform:scaleY(0);filter:brightness(.2)}50%{opacity:.6;transform:scaleY(.5);filter:brightness(.6)}to{opacity:1;transform:scaleY(1);filter:brightness(1)}}html[data-fx-style=magnetic]::view-transition-old(root){--fx-pos: 100%;mask-image:radial-gradient(circle at var(--fx-magnetic-x) var(--fx-magnetic-y),transparent calc(var(--fx-pos) - 8%),black var(--fx-pos));animation:fx-mag-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=magnetic]::view-transition-new(root){--fx-pos: 0%;mask-image:radial-gradient(circle at var(--fx-magnetic-x) var(--fx-magnetic-y),black var(--fx-pos),transparent calc(var(--fx-pos) + 8%));animation:fx-mag-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-mag-out{0%{--fx-pos: 100%}to{--fx-pos: 0%}}@keyframes fx-mag-in{0%{--fx-pos: 0%}to{--fx-pos: 100%}}html[data-fx-style=defocus]::view-transition-old(root){animation:fx-defocus-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=defocus]::view-transition-new(root){animation:fx-defocus-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-defocus-out{0%{filter:blur(0) saturate(1);opacity:1}to{filter:blur(var(--fx-blur)) saturate(.6);opacity:0}}@keyframes fx-defocus-in{0%{filter:blur(var(--fx-blur)) saturate(.6);opacity:0}to{filter:blur(0) saturate(1);opacity:1}}html[data-fx-style=glitch]::view-transition-old(root){animation:fx-glitch-out var(--fx-dur-out) steps(6) both}html[data-fx-style=glitch]::view-transition-new(root){animation:fx-glitch-in var(--fx-dur-in) steps(6) both}@keyframes fx-glitch-out{0%{opacity:1;transform:translate(0);filter:none}16%{opacity:1;transform:translate(-4px);filter:hue-rotate(20deg)}33%{opacity:.9;transform:translate(6px);filter:hue-rotate(-20deg) saturate(1.3)}50%{opacity:.8;transform:translate(-2px);filter:hue-rotate(40deg)}66%{opacity:.5;transform:translate(4px);filter:brightness(1.4)}83%{opacity:.2;transform:translate(-3px);filter:blur(2px)}to{opacity:0;transform:translate(0);filter:blur(6px)}}@keyframes fx-glitch-in{0%{opacity:0;transform:translate(0);filter:blur(6px)}16%{opacity:.3;transform:translate(3px);filter:blur(2px)}33%{opacity:.6;transform:translate(-2px);filter:hue-rotate(-15deg)}66%{opacity:.9;transform:translate(1px);filter:hue-rotate(8deg)}to{opacity:1;transform:translate(0);filter:none}}html[data-fx-style=dot-matrix]::view-transition-old(root){--fx-pos: 0%;mask-image:linear-gradient(to bottom,transparent var(--fx-pos),black calc(var(--fx-pos) + 6%));animation:fx-dot-out var(--fx-dur-out) steps(20) both}html[data-fx-style=dot-matrix]::view-transition-new(root){--fx-pos: 0%;mask-image:radial-gradient(circle,black 50%,transparent 50%) 0 0 / 4px 4px,linear-gradient(to bottom,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));mask-composite:intersect;-webkit-mask-composite:source-in;animation:fx-dot-in var(--fx-dur-in) steps(20) both}@keyframes fx-dot-out{0%{--fx-pos: 0%}to{--fx-pos: 110%}}@keyframes fx-dot-in{0%{--fx-pos: 0%}to{--fx-pos: 110%}}html[data-fx-style=polaroid]::view-transition-old(root){animation:fx-polaroid-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=polaroid]::view-transition-new(root){animation:fx-polaroid-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-polaroid-out{0%{opacity:1;filter:saturate(1) contrast(1) blur(0)}to{opacity:0;filter:saturate(.3) contrast(.7) blur(6px)}}@keyframes fx-polaroid-in{0%{opacity:0;filter:saturate(.2) contrast(.6) blur(8px) brightness(1.4)}60%{opacity:.7;filter:saturate(.7) contrast(.85) blur(2px) brightness(1.1)}to{opacity:1;filter:saturate(1) contrast(1) blur(0) brightness(1)}}html[data-fx-style=spectral-shift]::view-transition-old(root){--fx-pos: 100%;mask-image:linear-gradient(to top,transparent calc(var(--fx-pos) - 6%),black var(--fx-pos));animation:fx-spectral-out var(--fx-dur-out) steps(8) both}html[data-fx-style=spectral-shift]::view-transition-new(root){--fx-pos: 0%;mask-image:linear-gradient(to top,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));animation:fx-spectral-in var(--fx-dur-in) steps(8) both}@keyframes fx-spectral-out{0%{--fx-pos: 100%;filter:hue-rotate(0deg) saturate(1)}to{--fx-pos: 0%;filter:hue-rotate(180deg) saturate(1.6)}}@keyframes fx-spectral-in{0%{--fx-pos: 0%;filter:hue-rotate(180deg) saturate(1.6)}to{--fx-pos: 100%;filter:hue-rotate(0deg) saturate(1)}}html[data-fx-style=doppler-pass]::view-transition-old(root){animation:fx-doppler-out var(--fx-dur-out) cubic-bezier(.5,0,.85,0) both;transform-origin:center}html[data-fx-style=doppler-pass]::view-transition-new(root){animation:fx-doppler-in var(--fx-dur-in) cubic-bezier(.15,1,.5,1) both;transform-origin:center}@keyframes fx-doppler-out{0%{transform:scaleX(1) translate(0);filter:blur(0) hue-rotate(0deg)}40%{transform:scaleX(.4) translate(-30vw);filter:blur(2px) hue-rotate(-20deg)}to{transform:scaleX(.05) translate(-110vw);filter:blur(10px) hue-rotate(-40deg);opacity:0}}@keyframes fx-doppler-in{0%{transform:scaleX(.05) translate(110vw);filter:blur(10px) hue-rotate(40deg);opacity:0}60%{transform:scaleX(.4) translate(30vw);filter:blur(2px) hue-rotate(20deg);opacity:1}to{transform:scaleX(1) translate(0);filter:blur(0) hue-rotate(0deg)}}html[data-fx-style=granular-cloud]::view-transition-old(root){--fx-pos: 0%;mask-image:radial-gradient(circle,black 50%,transparent 50%) 0 0 / 5px 5px,radial-gradient(circle at 50% 50%,black calc(100% - var(--fx-pos)),transparent calc(110% - var(--fx-pos)));-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-granular-out var(--fx-dur-out) var(--fx-easing) both}html[data-fx-style=granular-cloud]::view-transition-new(root){--fx-pos: 110%;mask-image:radial-gradient(circle,black 50%,transparent 50%) 0 0 / 5px 5px,radial-gradient(circle at 50% 50%,black calc(110% - var(--fx-pos)),transparent calc(120% - var(--fx-pos)));-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-granular-in var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-granular-out{0%{--fx-pos: 0%;transform:scale(1);filter:blur(0)}to{--fx-pos: 110%;transform:scale(1.08);filter:blur(8px);opacity:0}}@keyframes fx-granular-in{0%{--fx-pos: 110%;transform:scale(.92);filter:blur(8px);opacity:0}to{--fx-pos: 0%;transform:scale(1);filter:blur(0);opacity:1}}html[data-fx-style=phase-cancel]::view-transition-old(root){animation:fx-phase-out var(--fx-dur-out) cubic-bezier(.55,0,1,.45) both}html[data-fx-style=phase-cancel]::view-transition-new(root){animation:fx-phase-in var(--fx-dur-in) cubic-bezier(0,.55,.45,1) both}@keyframes fx-phase-out{0%{filter:invert(0) brightness(1) contrast(1)}35%{filter:invert(.4) brightness(1.3) contrast(1.2)}60%{filter:invert(.8) brightness(1.8) contrast(1.4)}78%{filter:invert(1) brightness(3.5) contrast(2)}to{filter:invert(1) brightness(0);opacity:0}}@keyframes fx-phase-in{0%{filter:invert(1) brightness(3.5);opacity:0}20%{filter:invert(.8) brightness(2);opacity:1}50%{filter:invert(.3) brightness(1.2)}to{filter:invert(0) brightness(1)}}html[data-fx-style=vocoder-band]::view-transition-old(root){--fx-pos: 100%;mask-image:linear-gradient(to right,transparent calc(var(--fx-pos) - 6%),black var(--fx-pos));animation:fx-vocoder-out var(--fx-dur-out) steps(16) both}html[data-fx-style=vocoder-band]::view-transition-new(root){--fx-pos: 0%;mask-image:linear-gradient(to right,black var(--fx-pos),transparent calc(var(--fx-pos) + 6%));animation:fx-vocoder-in var(--fx-dur-in) steps(16) both}@keyframes fx-vocoder-out{0%{--fx-pos: 100%;filter:saturate(1)}to{--fx-pos: 0%;filter:saturate(1.4) hue-rotate(30deg)}}@keyframes fx-vocoder-in{0%{--fx-pos: 0%;filter:saturate(1.4) hue-rotate(-30deg)}to{--fx-pos: 100%;filter:saturate(1)}}html[data-fx-style=fft-bins]::view-transition-old(root){--fx-pos: 0%;mask-image:repeating-linear-gradient(to right,black 0,black 3px,transparent 3px,transparent 5px),linear-gradient(to bottom,transparent var(--fx-pos),black calc(var(--fx-pos) + 4%));-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-fft-out var(--fx-dur-out) steps(24) both}html[data-fx-style=fft-bins]::view-transition-new(root){--fx-pos: 0%;mask-image:repeating-linear-gradient(to right,black 0,black 3px,transparent 3px,transparent 5px),linear-gradient(to bottom,black var(--fx-pos),transparent calc(var(--fx-pos) + 4%));-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-fft-in var(--fx-dur-in) steps(24) both}@keyframes fx-fft-out{0%{--fx-pos: 0%}to{--fx-pos: 110%}}@keyframes fx-fft-in{0%{--fx-pos: 0%}to{--fx-pos: 110%}}html[data-fx-style=wavefold]::view-transition-old(root){animation:fx-wavefold-out var(--fx-dur-out) cubic-bezier(.65,0,.35,1) both}html[data-fx-style=wavefold]::view-transition-new(root){animation:fx-wavefold-in var(--fx-dur-in) cubic-bezier(.65,0,.35,1) both}@keyframes fx-wavefold-out{0%{transform:scaleY(1) translateY(0);transform-origin:top;filter:brightness(1)}50%{transform:scaleY(.05) translateY(0);transform-origin:top;filter:brightness(1.6) saturate(1.4)}51%{transform:scaleY(-.05) translateY(0);transform-origin:bottom;filter:brightness(1.6) hue-rotate(20deg)}to{transform:scaleY(0) translateY(50%);transform-origin:bottom;filter:brightness(0);opacity:0}}@keyframes fx-wavefold-in{0%{transform:scaleY(0) translateY(-50%);transform-origin:top;filter:brightness(0);opacity:0}49%{transform:scaleY(.05) translateY(0);transform-origin:top;filter:brightness(1.6) hue-rotate(-20deg);opacity:1}50%{transform:scaleY(-.05) translateY(0);transform-origin:bottom;filter:brightness(1.6)}to{transform:scaleY(1) translateY(0);transform-origin:bottom;filter:brightness(1)}}html[data-fx-style=resonance-bloom]::view-transition-old(root){animation:fx-resonance-out var(--fx-dur-out) cubic-bezier(.7,0,.84,0) both}html[data-fx-style=resonance-bloom]::view-transition-new(root){animation:fx-resonance-in var(--fx-dur-in) cubic-bezier(.16,1,.3,1) both}@keyframes fx-resonance-out{0%{filter:brightness(1) saturate(1) drop-shadow(0 0 0 transparent);transform:scale(1)}55%{filter:brightness(1.5) saturate(2.5) drop-shadow(0 0 18px rgba(var(--fx-color),.6)) drop-shadow(0 0 36px rgba(var(--fx-color),.3));transform:scale(1.04)}85%{filter:brightness(2.2) saturate(3) blur(4px) drop-shadow(0 0 30px rgba(var(--fx-color),.8));transform:scale(1.02)}to{filter:brightness(0) blur(12px);transform:scale(.6);opacity:0}}@keyframes fx-resonance-in{0%{filter:brightness(0) blur(12px);transform:scale(1.4);opacity:0}35%{filter:brightness(2) saturate(2.5) blur(6px) drop-shadow(0 0 24px rgba(var(--fx-color),.7));transform:scale(1.1);opacity:1}to{filter:brightness(1) saturate(1) blur(0);transform:scale(1)}}html[data-fx-style=ring-mod]::view-transition-old(root),html:not([data-fx-style])::view-transition-old(root){--fx-pos: 0%;mask-image:repeating-linear-gradient(var(--fx-stripe-dir, to bottom),black 0,black var(--fx-stripe-h, 8px),transparent var(--fx-stripe-h, 8px),transparent calc(var(--fx-stripe-h, 8px) * 2)),linear-gradient(to bottom,black calc(100% - var(--fx-pos)),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-ringmod-out var(--fx-dur-out) steps(12) both}html[data-fx-style=ring-mod]::view-transition-new(root),html:not([data-fx-style])::view-transition-new(root){--fx-pos: 0%;mask-image:repeating-linear-gradient(var(--fx-stripe-dir, to bottom),transparent 0,transparent var(--fx-stripe-h, 8px),black var(--fx-stripe-h, 8px),black calc(var(--fx-stripe-h, 8px) * 2)),linear-gradient(to bottom,black var(--fx-pos),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;animation:fx-ringmod-in var(--fx-dur-in) steps(12) both}@keyframes fx-ringmod-out{0%{--fx-pos: 0%;filter:hue-rotate(0deg) saturate(1)}to{--fx-pos: 110%;filter:hue-rotate(120deg) saturate(1.5)}}@keyframes fx-ringmod-in{0%{--fx-pos: 0%;filter:hue-rotate(-120deg) saturate(1.5)}to{--fx-pos: 110%;filter:hue-rotate(0deg) saturate(1)}}html[data-fx-style=aliasing-fold]::view-transition-old(root){animation:fx-aliasing-out var(--fx-dur-out) cubic-bezier(.55,0,.7,.2) both;transform-origin:center}html[data-fx-style=aliasing-fold]::view-transition-new(root){animation:fx-aliasing-in var(--fx-dur-in) cubic-bezier(.3,.8,.45,1) both;transform-origin:center}@keyframes fx-aliasing-out{0%{transform:scaleY(1) skew(0);filter:hue-rotate(0deg)}60%{transform:scaleY(.08) skew(15deg);filter:hue-rotate(-25deg) saturate(1.4)}to{transform:scaleY(0) skew(25deg);filter:hue-rotate(-50deg);opacity:0}}@keyframes fx-aliasing-in{0%{transform:scaleY(0) skew(-25deg);filter:hue-rotate(50deg);opacity:0}40%{transform:scaleY(.08) skew(-15deg);filter:hue-rotate(25deg) saturate(1.4);opacity:1}to{transform:scaleY(1) skew(0);filter:hue-rotate(0deg)}}.fx-overlay-line{position:fixed;top:0;bottom:0;left:0;width:2px;background:rgb(var(--fx-color));box-shadow:0 0 12px rgba(var(--fx-color),.7),0 0 24px rgba(var(--fx-color),.35);z-index:99999;pointer-events:none;will-change:transform,opacity}.fx-overlay-line--vertical-up{inset:auto 0 0;width:100%;height:2px;animation:fx-line-up var(--fx-dur-in) var(--fx-easing) both}.fx-overlay-line--horizontal-right{animation:fx-line-right var(--fx-dur-in) var(--fx-easing) both}@keyframes fx-line-up{0%{transform:translateY(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(calc(-100vh - 2px));opacity:0}}@keyframes fx-line-right{0%{transform:translate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate(calc(100vw + 2px));opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important;mask-image:none!important;-webkit-mask-image:none!important;filter:none!important}.fx-overlay-line{display:none}}.ambient-fx{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.ambient-fx__ripples{position:absolute;inset:0;pointer-events:none}.ambient-fx__cursor{display:none;position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:hsl(calc(330 - var(--ring-amp-inner, 0) * 130),100%,calc(65% + var(--source-amp, 0) * 15%));mix-blend-mode:difference;z-index:10000;pointer-events:none;box-shadow:0 0 calc(8px + var(--source-amp, 0) * 14px) hsla(calc(330 - var(--ring-amp-inner, 0) * 130),100%,70%,calc(.5 + var(--source-amp, 0) * .3)),0 0 calc(18px + var(--source-amp, 0) * 22px) hsla(calc(330 - var(--ring-amp-inner, 0) * 130),100%,70%,calc(.22 + var(--source-amp, 0) * .18));opacity:0;transition:opacity .32s ease;will-change:transform}.ambient-fx__cursor--trail{width:5px;height:5px;background:hsl(calc(330 - var(--ring-amp-inner, 0) * 130),100%,calc(65% + var(--source-amp, 0) * 15%));mix-blend-mode:normal;box-shadow:none}.ambient-fx__cursor--visible{opacity:1}.ambient-fx__ripple{position:absolute;width:calc(var(--fx-max-radius) * 2);height:calc(var(--fx-max-radius) * 2);border-radius:50%;border:.6px solid var(--fx-color, var(--primary));box-shadow:0 0 10px var(--fx-color, var(--primary)),0 0 22px var(--fx-color, var(--primary));filter:drop-shadow(0 0 4px var(--fx-color, var(--primary)));transform:translate(-50%,-50%) scale(0);pointer-events:none;opacity:0;will-change:transform,opacity}.ambient-fx__ripple--out{animation:fx-ripple-out var(--fx-duration, 2.2s) cubic-bezier(.16,1,.3,1) forwards}.ambient-fx__ripple--in{animation:fx-ripple-in var(--fx-duration, 2.2s) cubic-bezier(.16,1,.3,1) forwards}.ambient-fx__ripple--trail-1{opacity:.5;filter:drop-shadow(0 0 3px var(--fx-color, var(--primary)))}.ambient-fx__ripple--trail-2{opacity:.3;filter:drop-shadow(0 0 2px var(--fx-color, var(--primary)))}@keyframes fx-ripple-out{0%{transform:translate(-50%,-50%) scale(0);opacity:.9;border-width:1px}60%{opacity:.5}to{transform:translate(-50%,-50%) scale(1);opacity:0;border-width:.3px}}@keyframes fx-ripple-in{0%{transform:translate(-50%,-50%) scale(1);opacity:0;border-width:.3px}40%{opacity:.55}to{transform:translate(-50%,-50%) scale(0);opacity:.8;border-width:1px}}@property --fx-radius{syntax: "<length>"; inherits: false; initial-value: 0px;}.ambient-fx__contact{position:fixed;inset:0;pointer-events:none;z-index:95;mix-blend-mode:difference;--fx-radius: 0px;background:radial-gradient(circle at var(--fx-cx, 50%) var(--fx-cy, 50%),transparent calc(var(--fx-radius) - 22px),rgba(var(--fx-rgb, 79 193 255),.55) calc(var(--fx-radius) - 4px),rgba(var(--fx-rgb, 79 193 255),.95) var(--fx-radius),rgba(var(--fx-rgb, 79 193 255),.55) calc(var(--fx-radius) + 4px),transparent calc(var(--fx-radius) + 22px));will-change:--fx-radius,opacity}.ambient-fx__contact--out{animation:fx-contact-out var(--fx-duration, 2.2s) cubic-bezier(.16,1,.3,1) forwards}.ambient-fx__contact--in{animation:fx-contact-in var(--fx-duration, 2.2s) cubic-bezier(.16,1,.3,1) forwards}@keyframes fx-contact-out{0%{--fx-radius: 0px;opacity:1}85%{opacity:.85}to{--fx-radius: var(--fx-max-radius);opacity:0}}@keyframes fx-contact-in{0%{--fx-radius: var(--fx-max-radius);opacity:0}15%{opacity:.85}to{--fx-radius: 0px;opacity:1}}@media(prefers-reduced-motion:reduce){.ambient-fx,.ambient-fx__contact{display:none}}.not-found{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-8) 0}.not-found__lead{margin:0}.not-found__code{font-size:clamp(80px,16vw,168px);line-height:1;margin:0;color:var(--primary);letter-spacing:-.04em;font-weight:500}.not-found__message{margin:0;max-width:560px;color:var(--text);line-height:1.5}.not-found__back{margin-top:var(--space-4)}.not-found__link{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .16s ease}.not-found__link:hover{border-bottom-color:var(--accent)}@media(max-width:480px){.not-found{padding:var(--space-5) 0}.not-found__code{font-size:clamp(64px,22vw,120px)}}@media(max-width:768px){:root{--fs-2xl: 32px;--fs-xl: 22px;--topbar-h: 52px;--mark-size: 36px;--statusbar-h: 36px}.content{padding:var(--space-6) var(--space-4)}.menu{min-width:180px}}@media(max-width:480px){.statusbar__right .dim{display:none}.bio{padding-left:var(--space-4)}.content{padding:var(--space-4) var(--space-3)}}@keyframes psychedelic-hue-drift{0%{filter:hue-rotate(0deg)}25%{filter:hue-rotate(6deg)}50%{filter:hue-rotate(0deg)}75%{filter:hue-rotate(-6deg)}to{filter:hue-rotate(0deg)}}body.synth-active main.content{animation:psychedelic-hue-drift 80s ease-in-out infinite;will-change:filter}body.synth-active{--chrom-split: calc(var(--source-amp, 0) * 1.4px)}body.synth-active .hero__wordmark,body.synth-active .hero__submark,body.synth-active h1,body.synth-active h2{text-shadow:calc(var(--chrom-split) * -1) 0 0 rgba(0,220,255,.55),var(--chrom-split) 0 0 0 rgba(255,50,200,.55)}.hero__mark--vertigo .hero__ring--outer,.hero__mark--vertigo .hero__ring--middle,.hero__mark--vertigo .hero__ring--inner{filter:url(#vertigo-turbulence)}.ambient-fx__cursor--fission{display:block!important;opacity:1;pointer-events:none;transition:none}.ambient-fx__cursor--fission-a{animation:cursor-fission-a .62s cubic-bezier(.2,.8,.2,1) forwards}.ambient-fx__cursor--fission-b{animation:cursor-fission-b .62s cubic-bezier(.2,.8,.2,1) forwards}@keyframes cursor-fission-a{0%{transform:translate(-50%,-50%) translate(0) scale(1);opacity:.9}60%{transform:translate(-50%,-50%) translate(18px,-10px) scale(1.4);opacity:.6}to{transform:translate(-50%,-50%) translate(28px,-16px) scale(.6);opacity:0}}@keyframes cursor-fission-b{0%{transform:translate(-50%,-50%) translate(0) scale(1);opacity:.9}60%{transform:translate(-50%,-50%) translate(-18px,10px) scale(1.4);opacity:.6}to{transform:translate(-50%,-50%) translate(-28px,16px) scale(.6);opacity:0}}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(38% 48% at 22% 28%,rgba(199,125,255,.16),transparent 70%),radial-gradient(42% 52% at 78% 72%,rgba(79,193,255,.13),transparent 70%),radial-gradient(36% 46% at 52% 92%,rgba(106,153,85,.1),transparent 70%);filter:blur(60px);transition:opacity 1.6s ease;animation:psychedelic-bg-drift 120s ease-in-out infinite;will-change:transform,opacity}body.synth-active:before{opacity:1}@keyframes psychedelic-bg-drift{0%{transform:translate(0) scale(1)}25%{transform:translate(-2.5%,1.8%) scale(1.04)}50%{transform:translate(1.6%,-2.4%) scale(.98)}75%{transform:translate(2.4%,1.6%) scale(1.05)}to{transform:translate(0) scale(1)}}.hero__kaleido-clone{transform-box:view-box;transform-origin:50% 50%;transform:rotate(var(--kaleido-rot, 0deg));pointer-events:none;opacity:0;mix-blend-mode:lighten;transition:opacity .6s ease;will-change:transform,opacity}.hero__mark--kaleido .hero__kaleido-clone{opacity:.65;animation:kaleido-spin 12s linear infinite}@keyframes kaleido-spin{0%{transform:rotate(var(--kaleido-rot, 0deg))}to{transform:rotate(calc(var(--kaleido-rot, 0deg) + 360deg))}}.hero__mark--kaleido{filter:drop-shadow(0 0 12px rgba(199,125,255,.45)) drop-shadow(0 0 24px rgba(79,193,255,.3))}@media(prefers-reduced-motion:reduce){body.synth-active main.content{animation:none}body:before{animation:none;opacity:0;transition:none}body.synth-active:before{opacity:0}body.synth-active .hero__wordmark,body.synth-active .hero__submark,body.synth-active h1,body.synth-active h2{text-shadow:none}.hero__mark--vertigo .hero__ring--outer,.hero__mark--vertigo .hero__ring--middle,.hero__mark--vertigo .hero__ring--inner{filter:none}.ambient-fx__cursor--fission{display:none!important}.hero__mark--kaleido .hero__kaleido-clone{animation:none;opacity:0}.hero__mark--kaleido{filter:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}html,body{background:#0d1117;color:#c9d1d9;margin:0}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
