@font-face{font-family:Recursive;src:url(/fonts/Recursive_VF.woff2)format("woff2-variations");font-weight:300 800;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2-variations");font-weight:100 900;font-display:swap}@font-face{font-family:Recursive-fallback;src:local(Segoe UI),local(Arial);size-adjust:97%;ascent-override:92%}:root{--bg:#05070d;--bg-2:#0b0a1a;--text:#f5f7fa;--text-2:#9fb6c9;--pal-far:#c026d3;--pal-near:#22d3ee;--pal-spark:#f0abfc;--pal-accent:#e879f9;--glow-emerald:var(--pal-far);--glow-cyan:var(--pal-accent);--spark-violet:var(--pal-spark);--ember:#e11d48;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Recursive", "Recursive-fallback", system-ui, sans-serif;--font-mono:"Recursive", ui-monospace, "Cascadia Code", Consolas, monospace;--font-body:"Inter", "Recursive-fallback", system-ui, sans-serif;--fs-signature:clamp(1.5rem, 2vw, 2.375rem);--fs-display:clamp(2.9rem, 7.5vw, 7.5rem);--fs-h2:clamp(1.75rem, 4.2vw, 3.25rem);--fs-proj:clamp(1.6rem, 3vw, 2.4rem);--fs-body:clamp(1rem, 1.5vw, 1.15rem);--fs-kicker:.78rem;--fs-data:.8rem;--lh-display:1.02;--lh-body:1.65;--track-display:-.02em;--track-kicker:.34em;--measure:62ch}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 800px at 50% 40%, var(--bg-2), var(--bg) 70%);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--glow-cyan);outline-offset:3px;border-radius:2px}#app{z-index:0;position:fixed;inset:0}.engine-canvas{opacity:0;width:100%;height:100%;transition:opacity .6s;display:block}.engine-canvas.is-live{opacity:1}.story{pointer-events:none;transition:opacity .5s;position:relative}.is-loading .story{opacity:0}.act{min-height:100svh;padding:0 24px;position:relative}html.cv .act{content-visibility:auto;contain-intrinsic-size:auto 100svh}.act--hero{justify-content:center;align-items:flex-end;padding-bottom:8vh;display:flex}.act--hero .act__content{max-width:min(94vw,1240px)}@media (width>=900px){.act--hero{justify-content:flex-start;padding-bottom:9vh;padding-left:clamp(40px,7vw,140px)}.act--hero .act__content{text-align:left;max-width:min(52vw,760px);margin:0}.sig-center .act--hero{justify-content:center;padding-left:0}.sig-center .act--hero .act__content{text-align:center}.sig-center .act__name{margin-inline:auto}}.act[data-act="2"]{min-height:640svh}.act[data-act="3"]{min-height:240svh}.act[data-act="4"]{justify-content:center;align-items:center;min-height:160svh;display:flex}.act__content{text-align:center;pointer-events:auto;max-width:640px;margin:0 auto}.notext .act__content,.notext .act__projects{opacity:0!important}.act:not(.act--hero):not([data-act="4"]) .act__content{position:sticky;top:36vh}.act__name{width:fit-content;font-family:var(--font-display);font-size:var(--fs-signature);letter-spacing:-.015em;font-variation-settings:"MONO" 0, "CASL" 0;color:#fff;background:linear-gradient(100deg, var(--pal-accent) 0%, #fff 42%, var(--pal-near) 78%, var(--pal-spark) 100%);-webkit-text-fill-color:transparent;mix-blend-mode:difference;opacity:1;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:600;line-height:1.25;transition:opacity .26s ease-out}.name-writing:not(.name-inked) .act__name{opacity:0;pointer-events:none}.name-lit .act__name{opacity:0;transition-duration:.4s}@media (prefers-reduced-motion:reduce){.name-writing:not(.name-inked) .act__name{opacity:1}}.act__text,.act__kicker,.act__title,.proj__mem,.proj__title,.proj__tagline,.proj__result,.act__cta,.act__mail,.act__hint{text-shadow:0 0 18px #02060cfa,0 0 7px #02060cfa,0 1px 3px #02060cf2}.act__hint{font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.42em;text-transform:uppercase;color:color-mix(in srgb, var(--text-2) 72%, transparent);margin:4vh 0 0;font-size:11px;animation:3.2s ease-in-out infinite hint-breathe}@keyframes hint-breathe{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:.9;transform:translateY(6px)}}.act__kicker{font-family:var(--font-mono);font-variation-settings:"MONO" 1;font-size:var(--fs-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;color:color-mix(in srgb, var(--glow-cyan) 72%, var(--text-2));font-variant-numeric:tabular-nums;margin:0 0 18px;font-weight:500}.act__title{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.01em;margin:0;font-weight:560;line-height:1.22}.act__text{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-2);max-width:min(var(--measure), 100%);margin:22px 0 0;font-weight:380}.act[data-act="3"] .act__content{text-align:left}.act[data-act="3"] .act__text{margin-inline:0}.act__list{letter-spacing:.06em;color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:30px 0 0;padding:0;font-size:clamp(14px,1.5vw,17px);list-style:none;display:flex}.act__projects{min-height:120px;margin-top:34px;display:grid}.proj{opacity:0;grid-area:1/1}.proj__mem{font-family:var(--font-mono);font-variation-settings:"MONO" 1;font-size:var(--fs-data);letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb, var(--glow-cyan) 72%, transparent);font-variant-numeric:tabular-nums;margin:0 0 12px;font-weight:450}.proj__title{font-family:var(--font-display);font-size:var(--fs-proj);letter-spacing:.01em;color:color-mix(in srgb, var(--glow-cyan) 55%, var(--text));margin:0;font-weight:520}.proj__tagline{font-family:var(--font-body);color:var(--text-2);margin:12px 0 0;font-size:clamp(14px,1.5vw,17px);font-weight:380;line-height:1.65}.proj__result{max-width:560px;font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.01em;color:color-mix(in srgb, var(--text-2) 72%, transparent);font-variant-numeric:tabular-nums;margin:14px auto 0;font-size:clamp(11px,1.1vw,13px);font-weight:400;line-height:1.75}.act__cta{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-2);margin:26px 0 10px;font-weight:380}.act__mail{font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.04em;color:var(--glow-cyan);border-bottom:1px solid color-mix(in srgb, var(--glow-cyan) 35%, transparent);padding-bottom:2px;font-size:.95rem;text-decoration:none;transition:border-color .2s,color .2s}.act__mail:hover{color:var(--text);border-color:var(--glow-cyan)}@media (prefers-reduced-motion:reduce){.act__hint{animation:none}.engine-canvas{transition:none}}.loader{z-index:100;opacity:1;transition:opacity .5s;position:fixed;inset:0}.loader__veil{background:radial-gradient(circle at 50% 50%, transparent 52%, color-mix(in srgb, var(--pal-accent) 5%, transparent) 73%, color-mix(in srgb, var(--pal-far) 3%, transparent) 82%, transparent 94%), radial-gradient(1200px 800px at 50% 40%, var(--bg-2), var(--bg) 70%);transition:opacity .45s;position:absolute;inset:0}.loader__canvas{width:100%;height:100%;position:absolute;inset:0}.loader.is-live{pointer-events:none}.loader.is-live .loader__veil{opacity:0}.loader.is-eclosion .loader__veil{background:#05070d}.loader.is-out{opacity:0}.loader__log{font:12px/1.9 var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.06em;color:color-mix(in srgb, var(--text-2) 70%, transparent);position:absolute;bottom:clamp(24px,7vh,72px);left:clamp(20px,5vw,64px)}.loader__step{opacity:.28;transition:opacity .4s,color .4s}.loader__step.is-on{opacity:1}.loader__tick{color:color-mix(in srgb, var(--text-2) 72%, transparent);transition:color .4s}.loader__step.is-on .loader__tick{color:var(--glow-cyan)}.loader__pct{color:var(--text);font-variant-numeric:tabular-nums;margin-top:10px;font-size:22px;font-weight:500}.loader__pct:after{content:" %";color:var(--text-2);font-size:12px}@media (prefers-reduced-motion:reduce){.loader{transition:opacity .5s}.loader__step{transition:none}}@property --cur-a{syntax:"<color>";inherits:true;initial-value:#e879f9}.has-cursor,.has-cursor *{cursor:none!important}.has-cursor .loader,.has-cursor .loader *{cursor:default!important}.has-cursor .loader__gate-btn{cursor:pointer!important}.cursor{z-index:40;pointer-events:none;opacity:0;--cur-a:var(--pal-accent);transition:opacity .2s,--cur-a .35s;position:fixed;top:0;left:0}.cursor.is-on{opacity:1}.cursor__arrow{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--cur-a) 85%, transparent)) drop-shadow(0 0 7px color-mix(in srgb, var(--cur-a) 40%, transparent));transition:scale .12s;animation:2.6s ease-in-out infinite cur-glow;position:absolute;top:-2px;left:-2px;overflow:visible}.cursor__fill{fill:#05070db8}.cursor__edge{fill:none;stroke:color-mix(in srgb, var(--cur-a) 42%, transparent);stroke-width:1.3px;stroke-linejoin:round}.cursor__flow{fill:none;stroke:var(--cur-a);stroke-width:1.7px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:9 52;filter:drop-shadow(0 0 2px var(--cur-a));animation:1.8s linear infinite cur-flow}@keyframes cur-flow{to{stroke-dashoffset:-61px}}@keyframes cur-glow{0%,to{opacity:1}50%{opacity:.82}}.cursor--press .cursor__arrow{scale:.85}.cursor__pulse{border:1.6px solid var(--cur-a);opacity:0;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:0;left:0}.cursor__pulse.is-live{animation:.52s ease-out cur-pulse}@keyframes cur-pulse{0%{opacity:.85;scale:.3}to{opacity:0;scale:2.6}}@media (prefers-reduced-motion:reduce){.cursor{display:none}}.hud{z-index:10;min-width:180px;font:11px/1.6 var(--font-mono);font-variation-settings:"MONO" 1;color:var(--text-2);background:color-mix(in srgb, var(--bg) 66%, transparent);border:1px solid color-mix(in srgb, var(--glow-cyan) 22%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;letter-spacing:.02em;border-radius:8px;padding:10px 12px;position:fixed;top:12px;left:12px}.hud__row{justify-content:space-between;gap:16px;display:flex}.hud__label{opacity:.65}.hud__value{color:var(--text);font-variant-numeric:tabular-nums}.hud__value--good{color:var(--glow-emerald)}.hud__value--warn{color:#f5b301}.hud__value--bad{color:var(--ember)}.hud__log{max-width:300px;margin-top:6px}.hud__log:empty{display:none}.hud__logline{border-top:1px solid color-mix(in srgb, var(--glow-cyan) 10%, transparent);color:var(--text);font-variant-numeric:tabular-nums;padding-top:2px;font-size:10px;line-height:1.5}.hud__logline:nth-child(n+3){opacity:.55}.hud__logline:nth-child(n+5){opacity:.3}.loader__gate{z-index:2;text-align:center;opacity:0;place-items:center;padding:28px;transition:opacity .55s;display:grid;position:absolute;inset:0}.loader__gate.is-in{opacity:1}.loader__gate.is-out{opacity:0}.loader__gate>*{max-width:460px;transition:transform .65s cubic-bezier(.2,.9,.2,1);transform:translateY(16px)}.loader__gate.is-in>*{transform:translateY(0)}.loader__gate-kicker{font:11px/1 var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb, var(--glow-cyan) 78%, var(--text-2));margin:0 0 16px}.loader__gate-title{font-family:var(--font-display);color:var(--text);margin:0 0 18px;font-size:clamp(1.7rem,7.5vw,2.3rem);font-weight:600;line-height:1.06}.loader__gate-body{max-width:420px;font-family:var(--font-body);color:var(--text-2);margin:0 auto 22px;font-size:.98rem;line-height:1.6}.loader__gate-count{font:12px/1.5 var(--font-mono);letter-spacing:.04em;color:color-mix(in srgb, var(--text-2) 72%, transparent);margin:0 0 34px}.loader__gate-n{color:var(--glow-cyan);font-variant-numeric:tabular-nums}.loader__gate-btn{border:1px solid color-mix(in srgb, var(--glow-cyan) 22%, transparent);background:color-mix(in srgb, var(--glow-cyan) 8%, transparent);color:var(--text);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border-radius:3px;padding:16px 48px;font-size:.9rem;transition:background .2s;position:relative;overflow:hidden}.loader__gate-btn:before{content:"";border-radius:inherit;background:linear-gradient(115deg, transparent 25%, var(--glow-cyan) 50%, transparent 75%);-webkit-mask-composite:xor;background-size:300% 100%;padding:1px;animation:2.8s linear infinite gate-shine;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes gate-shine{0%{background-position:150% 0}to{background-position:-50% 0}}.loader__gate-btn:hover,.loader__gate-btn:focus-visible{background:color-mix(in srgb, var(--glow-cyan) 16%, transparent);box-shadow:0 0 44px -12px color-mix(in srgb, var(--glow-cyan) 80%, transparent);outline:none}@media (prefers-reduced-motion:reduce){.loader__gate,.loader__gate>*,.loader__gate-btn:before{transition:none;animation:none}}.proj{pointer-events:none}.proj.is-live{pointer-events:auto;cursor:pointer}.proj__enter{font:600 12px/1 var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.08em;color:var(--glow-cyan,#22d3ee);border:1px solid color-mix(in srgb, var(--glow-cyan,#22d3ee) 35%, transparent);opacity:0;visibility:hidden;cursor:pointer;background:0 0;border-radius:999px;margin:18px auto 0;padding:8px 18px;transition:opacity .26s,transform .26s,border-color .26s,box-shadow .26s,visibility 0s linear .26s;display:none;transform:translateY(6px)}html.has-worlds .proj__enter{display:block}.proj.is-live .proj__enter{visibility:visible;transition-delay:0s}.proj.is-live:hover .proj__enter,.proj__enter:focus-visible{opacity:1;transform:translateY(0)}.proj__enter:hover,.proj__enter:focus-visible{border-color:color-mix(in srgb, var(--glow-cyan,#22d3ee) 85%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--glow-cyan,#22d3ee) 28%, transparent);outline:none}.proj.is-live:hover .proj__title{text-shadow:0 0 18px #02060cfa, 0 0 7px #02060cfa, 0 0 26px color-mix(in srgb, var(--glow-cyan,#22d3ee) 45%, transparent)}.world-veil{z-index:25;opacity:0;pointer-events:none;background:#05070d;transition:opacity .34s;position:fixed;inset:0}.world-veil.is-on{opacity:1;pointer-events:auto}.world{z-index:20;background:#05070d;position:fixed;inset:0}.world__scene{position:absolute;inset:0}.world__scene canvas{opacity:0;width:100%;height:100%;transition:opacity .6s;display:block}.world__scene canvas.is-live{opacity:1}.world__panel{text-align:center;max-width:640px;margin:0 auto;padding:18vh 24px 0;position:relative}.world__kicker{font:600 12px/1.6 var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.22em;text-transform:uppercase;color:var(--text-2);margin:0 0 14px}.world__title{font-family:var(--font-display);color:var(--text);margin:0;font-size:clamp(34px,6vw,64px);font-weight:560}.world__tagline{font-family:var(--font-body);color:var(--text-2);margin:14px 0 0;font-size:clamp(15px,1.6vw,18px);line-height:1.65}.world__result{max-width:560px;font:12px/1.8 var(--font-mono);font-variation-settings:"MONO" 1;color:color-mix(in srgb, var(--text-2) 80%, transparent);margin:18px auto 0}.world__note{font:italic 12px/1.6 var(--font-body);color:color-mix(in srgb, var(--text-2) 72%, transparent);margin:26px 0 0}.world__back{font:600 12px/1 var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.08em;color:var(--text);border:1px solid color-mix(in srgb, var(--text-2) 40%, transparent);cursor:pointer;background:0 0;border-radius:999px;margin:34px auto 0;padding:10px 22px;transition:border-color .2s,box-shadow .2s;display:block}.world__back:hover,.world__back:focus-visible{border-color:color-mix(in srgb, var(--glow-cyan,#22d3ee) 75%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--glow-cyan,#22d3ee) 22%, transparent);outline:none}html.world-open{overflow:hidden}html.world-open .hud{z-index:45}@media (prefers-reduced-motion:reduce){.proj__enter,.world-veil,.world__scene canvas{transition:none}}@media (hover:none){html.has-worlds .proj.is-live .proj__enter{opacity:1;transform:none}}.world{overflow-y:auto}.world__panel{padding-bottom:8vh}.world__panel:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 42%,#02060ccc 0%,#02060c85 55%,#0000 80%);position:absolute;inset:-48px -64px}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}@property --p{syntax:"<number>";inherits:true;initial-value:0}@property --v{syntax:"<number>";inherits:true;initial-value:0}@property --y{syntax:"<number>";inherits:false;initial-value:0}@property --near{syntax:"<number>";inherits:true;initial-value:0}@property --now-y{syntax:"<number>";inherits:true;initial-value:0}@property --press{syntax:"<number>";inherits:true;initial-value:0}@property --nav-a{syntax:"<color>";inherits:true;initial-value:#e879f9}.nav{--nav-len:clamp(200px, 44vh, 380px);--nav-overhang:18px;z-index:15;width:1px;height:var(--nav-len);pointer-events:none;opacity:0;transition:opacity .7s,--nav-a .35s;position:fixed;top:50%;right:clamp(16px,2.4vw,34px);transform:translateY(-50%)}.nav.is-ready{opacity:1}.is-loading .nav,.world-open .nav{opacity:0}.world-open .nav__pt,.world-open .nav__zone{pointer-events:none}.nav__zone{pointer-events:auto;cursor:grab;touch-action:none;width:30px;position:absolute;top:-12px;bottom:-12px;left:-15px}.nav.is-grab .nav__zone{cursor:grabbing}.nav__rail,.nav__fill{width:1px;position:absolute;inset:0 auto 0 0}.nav__rail{top:calc(-1 * var(--nav-overhang));transform-origin:50% 0;background:linear-gradient(to bottom, transparent 0, color-mix(in srgb, var(--text-2) 30%, transparent) 6px, color-mix(in srgb, var(--text-2) 24%, transparent) 90%, transparent)}.nav.is-live .nav__rail{animation:1.1s cubic-bezier(.22,1,.36,1) both nav-draw}@keyframes nav-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.nav__fill{transform-origin:50% 0;transform:scaleY(var(--p));background:linear-gradient(to bottom, color-mix(in srgb, var(--nav-a) 22%, transparent), var(--nav-a));box-shadow:0 0 6px color-mix(in srgb, var(--nav-a) 45%, transparent)}.nav__glow{background:radial-gradient(circle, color-mix(in srgb, var(--nav-a) 30%, transparent), transparent 62%);width:56px;height:56px;transform:translateY(calc(var(--p) * var(--nav-len) + var(--hint,0px) + var(--push,0px))) scale(calc(1 + var(--press) * 1.2));will-change:transform;border-radius:50%;margin:-28px 0 0 -28px;position:absolute;top:0;left:0}.nav__trail{background:linear-gradient(to bottom, transparent, var(--nav-a), transparent);width:1px;height:80px;opacity:calc(var(--v) * .85);transform:translateY(calc(var(--p) * var(--nav-len) + var(--hint,0px) + var(--push,0px))) scaleY(calc(.25 + var(--v) * .75));will-change:transform, opacity;margin-top:-40px;position:absolute;top:0;left:0}.nav__head{background:color-mix(in srgb, var(--nav-a) 35%, #fff);width:7px;height:7px;box-shadow:0 0 6px var(--nav-a), 0 0 14px var(--nav-a), 0 0 26px color-mix(in srgb, var(--nav-a) 55%, transparent);transform:translateY(calc(var(--p) * var(--nav-len) + var(--hint,0px) + var(--push,0px) - 50%)) scale(calc(1 + var(--press) * 1.1)) scaleY(calc(1 + var(--v) * 2.2)) scaleX(calc(1 - var(--v) * .35));will-change:transform;border-radius:50%;margin-left:-3px;position:absolute;top:0;left:0}@property --hint{syntax:"<length>";inherits:true;initial-value:0}@property --push{syntax:"<length>";inherits:true;initial-value:0}@keyframes nav-hint{0%{--hint:0px}18%{--hint:-9px}42%{--hint:0px}to{--hint:0px}}.nav.is-hinting{animation:2.6s ease-in-out infinite nav-hint}.nav__now{text-align:right;white-space:nowrap;font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 14px #02060cfa,0 0 6px #02060cfa;transform:translateY(calc(var(--now-y) * var(--nav-len) - 50%));will-change:transform;margin:0;font-size:10px;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .16s;position:absolute;top:0;right:18px}.nav__now.is-swap{opacity:0}.nav__now-idx{color:var(--nav-a);font-variant-numeric:tabular-nums;margin-right:.5em}.nav__now-idx:empty{margin-right:0}.nav__now-txt{color:var(--text)}.nav__pt{left:0;top:calc(var(--y) * var(--nav-len));pointer-events:auto;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;transition:opacity .38s,visibility 0s linear .38s;display:grid;position:absolute;transform:translate(-50%,-50%)}.nav__pt:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--nav-a) 55%, transparent), transparent 66%);width:24px;height:24px;opacity:var(--near);pointer-events:none;border-radius:50%;margin:-12px 0 0 -12px;position:absolute;top:50%;left:50%}.nav__pt:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--nav-a) 70%, transparent), transparent 60%);opacity:0;pointer-events:none;border-radius:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;transition:opacity .4s;position:absolute;top:50%;left:50%}.nav__pt.is-active:after{opacity:1;animation:12.6s ease-in-out infinite alive-breathe}.nav__dot{background:color-mix(in srgb, var(--text-2) 50%, transparent);width:5px;height:5px;transform:scale(calc(1 + var(--near) * 1));border-radius:50%;transition:background .3s;position:relative}.nav__pt:hover .nav__dot,.nav__pt:focus-visible .nav__dot{background:var(--text);transform:scale(1.7)}.nav__pt.is-active .nav__dot{background:var(--nav-a)}.nav__label{white-space:nowrap;font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);text-shadow:0 0 12px #02060cfa,0 0 5px #02060cfa;opacity:0;pointer-events:none;font-size:10px;transition:opacity .26s,transform .26s cubic-bezier(.2,.8,.2,1);position:absolute;right:calc(100% + 4px);transform:translate(8px)}.nav__pt:hover .nav__label,.nav__pt:focus-visible .nav__label{opacity:1;color:var(--text);transform:translate(0)}.nav__pt.is-active:hover .nav__label,.nav__pt.is-active:focus-visible .nav__label{opacity:0}.nav__pt--mem{opacity:0;visibility:hidden}.nav.is-act2 .nav__pt--mem{opacity:1;visibility:visible;transition:opacity .42s,visibility}.nav.is-act2 .nav__pt--group{opacity:0;visibility:hidden}.nav[data-effect=forge] .nav__fill{background:repeating-linear-gradient(to bottom, var(--nav-a) 0 5px, color-mix(in srgb, var(--nav-a) 20%, transparent) 5px 7px, var(--nav-a) 7px 11px, transparent 11px 13px)}.nav[data-effect=forge] .nav__glow{animation:1.9s ease-in-out infinite nav-ember}@keyframes nav-ember{0%,to{opacity:.72}35%{opacity:1}62%{opacity:.55}}.nav__pt[data-effect=forge] .nav__dot{clip-path:polygon(50% 0,100% 40%,66% 100%,6% 68%);border-radius:1px}.nav[data-effect=flux-onchain] .nav__fill{background:repeating-linear-gradient(to bottom, var(--nav-a) 0 7px, transparent 7px 11px)}.nav__pt[data-effect=flux-onchain] .nav__dot{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0}.nav[data-effect=flux-distribue] .nav__fill{background:repeating-linear-gradient(to bottom, var(--nav-a) 0 4px, transparent 4px 10px);background-size:100% 10px;animation:.9s linear infinite nav-flow}@keyframes nav-flow{to{background-position-y:10px}}.nav__pt[data-effect=flux-distribue] .nav__dot{clip-path:polygon(50% 100%,0 14%,100% 14%);border-radius:0}.nav[data-effect=fintech] .nav__fill{box-shadow:3px 0 0 color-mix(in srgb, var(--nav-a) 40%, transparent), -3px 0 0 color-mix(in srgb, var(--nav-a) 40%, transparent), 0 0 6px color-mix(in srgb, var(--nav-a) 45%, transparent)}.nav__pt[data-effect=fintech] .nav__dot{border-radius:1px}@media (prefers-reduced-motion:reduce){.nav,.nav__pt,.nav__pt:after,.nav__dot,.nav__label,.nav__now,.nav.is-act2 .nav__pt--mem{transition:none}.nav__pt.is-active:after,.nav.is-live .nav__rail,.nav[data-effect=forge] .nav__glow,.nav[data-effect=flux-distribue] .nav__fill{animation:none}.nav__head,.nav__glow,.nav__trail{display:none}}@media (width<=640px){.nav{--nav-len:clamp(160px, 38vh, 280px);right:12px}.nav__label{display:none}.nav__now{letter-spacing:.14em;font-size:9px;right:14px}}.sound-ui{z-index:15;opacity:0;align-items:center;transition:opacity .7s;display:flex;position:fixed;bottom:18px;right:clamp(16px,2.4vw,34px)}.sound-ui.is-ready{opacity:1}.is-loading .sound-ui,.world-open .sound-ui{opacity:0;pointer-events:none}.sound-toggle{cursor:pointer;font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.42em;text-transform:uppercase;color:color-mix(in srgb, var(--text-2) 72%, transparent);background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:11px;transition:color .25s;display:flex}.sound-toggle:hover{color:var(--text-2)}.sound-toggle.is-on{color:color-mix(in srgb, var(--text-2) 85%, transparent)}.sound-toggle__dot{opacity:.5;background:currentColor;border-radius:50%;width:5px;height:5px;transition:box-shadow .4s}.sound-toggle.is-on .sound-toggle__dot{background:var(--pal-accent);opacity:1;box-shadow:0 0 8px color-mix(in srgb, var(--pal-accent) 70%, transparent);animation:4s ease-in-out infinite sound-breathe}@keyframes sound-breathe{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.calm-toggle{z-index:15;cursor:pointer;font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.42em;text-transform:uppercase;color:color-mix(in srgb, var(--text-2) 72%, transparent);opacity:0;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:11px;transition:opacity .7s,color .25s;display:flex;position:fixed;bottom:64px;right:clamp(16px,2.4vw,34px)}.calm-toggle.is-ready{opacity:1}.is-loading .calm-toggle,.world-open .calm-toggle{opacity:0;pointer-events:none}.calm-toggle:hover{color:var(--text-2)}.calm-toggle.is-on{color:var(--text)}.calm-toggle__dot{opacity:.5;background:currentColor;border-radius:50%;width:5px;height:5px;transition:opacity .25s,box-shadow .4s}.calm-toggle.is-on .calm-toggle__dot{opacity:1;box-shadow:0 0 8px}.sound-meter{opacity:0;cursor:ew-resize;touch-action:none;align-items:flex-end;gap:3px;max-width:0;height:28px;padding:6px 4px;transition:max-width .5s,opacity .4s;display:flex;overflow:hidden}.sound-ui.is-on .sound-meter{opacity:1;max-width:120px}.sound-meter:focus-visible{outline:1px solid color-mix(in srgb, var(--text-2) 40%, transparent);outline-offset:2px;border-radius:4px}.sound-meter__t{background:color-mix(in srgb, var(--text-2) 28%, transparent);transform-origin:bottom;border-radius:1px;flex:none;width:2px;transition:background .2s,box-shadow .2s}.sound-meter__t.is-fill{background:var(--pal-accent);box-shadow:0 0 6px color-mix(in srgb, var(--pal-accent) 35%, transparent);animation:3.4s ease-in-out infinite tick-live;animation-delay:calc(var(--i) * .14s)}@keyframes tick-live{0%,to{opacity:.72}50%{opacity:1}}.sfx-lab{z-index:15;border:1px solid color-mix(in srgb, var(--text-2) 18%, transparent);font-family:var(--font-mono);font-variation-settings:"MONO" 1;letter-spacing:.08em;background:#050a10b8;border-radius:6px;flex-direction:column;gap:3px;padding:10px 12px;font-size:11px;display:flex;position:fixed;top:272px;left:12px}.sfx-lab__t{color:color-mix(in srgb, var(--text-2) 55%, transparent);text-transform:uppercase;letter-spacing:.3em;margin-bottom:4px;font-size:9px}.sfx-lab__row{align-items:center;gap:4px;display:flex}.sfx-lab__l{width:62px;color:color-mix(in srgb, var(--text-2) 60%, transparent);text-transform:uppercase;letter-spacing:.14em;flex:none;font-size:9px}.sfx-lab__b{color:color-mix(in srgb, var(--text-2) 65%, transparent);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 8px;transition:color .15s,border-color .15s}.sfx-lab__b--n{text-align:center;width:22px;padding:3px 0}.sfx-lab__b:hover{color:var(--text-2)}.sfx-lab__b.is-sel{color:#34e0d0;border-color:#34e0d059}.sfx-lab__imp{text-align:left;opacity:.8;margin-top:6px}.sfx-lab__combo{color:#34e0d0;letter-spacing:.2em;margin-top:6px;margin-bottom:0}.film{z-index:44;pointer-events:none;opacity:0;contain:strict;transition:opacity .7s;position:fixed;inset:0}.film.is-on{opacity:1}.film__grain{background-image:var(--film-tex);width:140%;height:140%;opacity:var(--film-k,.05);will-change:transform;background-repeat:repeat;animation:.9s step-end infinite film-shift;position:absolute;top:-20%;left:-20%}.film__vig{background:radial-gradient(ellipse 120% 100% at 50% 45%, transparent 42%, rgba(0, 0, 0, var(--film-vig,.28)) 100%);position:absolute;inset:0}@keyframes film-shift{0%{transform:translate(0,0)}12.5%{transform:translate(-6%,-3%)}25%{transform:translate(-11%,4%)}37.5%{transform:translate(4%,-8%)}50%{transform:translate(-4%,9%)}62.5%{transform:translate(8%,2%)}75%{transform:translate(-9%,-6%)}87.5%{transform:translate(3%,7%)}}@media (prefers-reduced-motion:reduce){.film__grain{animation:none}.film{transition:none}}
