:root{--black:#030305;--white:#f4f3ef;--acid:#cfff3d;--electric:#5c62ff;--line:#f4f3ef38;--mono:"Courier New", Courier, monospace;--sans:Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black);max-width:100%;overflow-x:hidden}body{width:100%;max-width:100%;color:var(--white);background:var(--black);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{color:var(--black);background:var(--acid)}.experience{z-index:0;background:radial-gradient(circle at 50% 45%, #11133a 0, transparent 34%), var(--black);position:fixed;inset:0;overflow:hidden}.experience canvas{cursor:crosshair;width:100%;height:100%;display:block}.experience__fallback{color:var(--electric);background:repeating-radial-gradient(circle, transparent 0 18px, #5c62ff40 19px 20px), var(--black);font:700 clamp(70px, 22vw, 340px) / 1 var(--sans);letter-spacing:-.1em;place-items:center;display:none;position:absolute;inset:0}.experience--failed .experience__fallback{display:grid}.noise{z-index:20;opacity:.07;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");position:fixed;inset:0}.hud{z-index:10;mix-blend-mode:difference;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;width:100vw;max-width:100%;padding:26px clamp(22px,3vw,48px);display:grid;position:fixed;top:0;left:0}.sigil{border:1px solid var(--white);pointer-events:auto;border-radius:50%;width:37px;height:37px;transition:transform .3s,background-color .3s;display:block;position:relative}.sigil:hover{background:var(--white);transform:rotate(45deg)}.sigil span{background:var(--white);width:16px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sigil span:last-child{transform:translate(-50%,-50%)rotate(90deg)}.sigil:hover span{background:var(--black)}.hud__label{font:700 10px/1 var(--mono);letter-spacing:.12em;gap:28px;display:flex}.hud__label span:last-child{color:#f4f3ef8c}.hud__instruction{font:700 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;justify-self:end;align-items:center;gap:18px;margin:0;display:flex}.hud__instruction span{font-size:17px;animation:1.6s ease-in-out infinite nudge}.acts{z-index:2;pointer-events:none;position:relative}.act{flex-direction:column;justify-content:center;min-height:100svh;padding:110px clamp(25px,5vw,76px) 70px;display:flex;position:relative}.act__index{color:#f4f3ef85;font:700 9px/1 var(--mono);letter-spacing:.18em;opacity:0;align-items:center;gap:15px;transition:opacity .7s,transform .7s;display:flex;position:absolute;top:50%;left:clamp(25px,3vw,48px);transform:translateY(18px)}.act__index:after{background:var(--line);content:"";width:45px;height:1px}.act.is-active .act__index{opacity:1;transform:translateY(0)}.act h1,.act h2{letter-spacing:-.085em;text-transform:uppercase;margin:0;font-weight:800}.act--hero h1{flex-direction:column;font-size:clamp(80px,16.2vw,246px);line-height:.72;display:flex;transform:translateY(30px)}.act--hero h1>span{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translate(-45px)}.act--hero h1>span:last-child{align-self:flex-end;transition-delay:.12s;transform:translate(45px)}.act--hero.is-active h1>span{opacity:1;transform:translate(0)}.outline{color:#0000;-webkit-text-stroke:1.5px var(--white)}.act__caption{font:700 9px/1 var(--mono);letter-spacing:.14em;gap:35px;display:flex;position:absolute;bottom:45px;right:clamp(25px,5vw,76px)}.act__caption p{margin:0}.act__caption p:last-child{color:var(--acid)}.act--right{align-items:flex-end}.act--right h2{text-align:right;flex-direction:column;align-items:flex-end;max-width:1050px;font-size:clamp(70px,12vw,184px);line-height:.77;display:flex}.act--right h2,.act--split h2{opacity:.08;filter:blur(12px);transition:opacity .8s,filter .9s,transform .9s cubic-bezier(.16,1,.3,1);transform:scale(.94)}.act--right.is-active h2,.act--split.is-active h2{opacity:1;filter:blur();transform:scale(1)}.acid{color:var(--acid)}.tech-stack{font:700 9px/1 var(--mono);letter-spacing:.12em;gap:10px;margin-top:45px;display:flex}.tech-stack span{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:10px 14px}.act--split{justify-content:flex-end;padding-bottom:8vh}.act--split h2{flex-direction:column;font-size:clamp(72px,13.5vw,205px);line-height:.75;display:flex}.act--split h2 span{color:#0000;-webkit-text-stroke:1px var(--acid);align-self:flex-end}.act__side-note{color:#f4f3ef9e;font:700 9px/2 var(--mono);letter-spacing:.14em;text-align:right;margin:0;position:absolute;top:27%;right:clamp(25px,5vw,76px)}.act--final{min-height:112svh}.final-message{text-align:center;flex-direction:column;align-items:center;display:flex}.final-message>p{color:var(--acid);font:700 10px/1 var(--mono);letter-spacing:.18em;margin:0 0 25px}.final-message h2{flex-direction:column;font-size:clamp(68px,12.5vw,190px);line-height:.77;display:flex}.final-message h2 span{color:#0000;-webkit-text-stroke:1.5px var(--white)}.final-message a{border:1px solid var(--white);font:700 10px/1 var(--mono);letter-spacing:.15em;pointer-events:auto;border-radius:999px;align-items:center;gap:22px;margin-top:55px;padding:17px 22px;transition:color .25s,background-color .25s;display:inline-flex}.final-message a:hover{color:var(--black);background:var(--white)}.act--final footer{border-top:1px solid var(--line);color:#f4f3ef8c;font:700 9px/1 var(--mono);letter-spacing:.12em;justify-content:space-between;padding-top:18px;display:flex;position:absolute;bottom:30px;left:clamp(25px,3vw,48px);right:clamp(25px,3vw,48px)}.side-rail{z-index:10;color:#f4f3ef8c;font:700 8px/1 var(--mono);mix-blend-mode:difference;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed;top:50%;right:clamp(14px,2vw,30px);transform:translateY(-50%)}.side-rail__line{background:var(--line);width:1px;height:100px}.progress{z-index:30;background:#ffffff14;height:3px;position:fixed;bottom:0;left:0;right:0}.progress span{background:var(--acid);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.performance{z-index:10;font:700 8px/1 var(--mono);letter-spacing:.12em;mix-blend-mode:difference;align-items:center;gap:9px;display:flex;position:fixed;bottom:28px;left:clamp(25px,3vw,48px)}.performance__pulse{background:var(--acid);width:6px;height:6px;box-shadow:0 0 12px var(--acid);border-radius:50%}@keyframes nudge{0%,to{transform:translateY(-2px)}50%{transform:translateY(4px)}}@media (max-width:700px){.hud{grid-template-columns:1fr auto;padding:20px}.hud__label{display:none}.hud__instruction{font-size:8px}.act{padding:95px 20px 60px}.act__index{top:18%;left:20px}.act--hero{justify-content:flex-end;padding-bottom:20vh}.act--hero h1{font-size:clamp(70px,24vw,110px);line-height:.78}.act--hero h1>span:last-child{align-self:flex-start}.act__caption{justify-content:space-between;font-size:8px;bottom:32px;left:20px;right:20px}.act--right{justify-content:flex-end;padding-bottom:20vh}.act--right h2{font-size:clamp(63px,21vw,96px)}.tech-stack{gap:6px}.tech-stack span{padding:9px 10px;font-size:7px}.act--split{justify-content:center}.act--split h2{font-size:clamp(67px,22vw,100px)}.act__side-note{font-size:7px;top:auto;bottom:11vh;right:20px}.act--final{min-height:100svh}.final-message h2{letter-spacing:-.07em;font-size:clamp(46px,12.8vw,56px)}.final-message>p{font-size:8px}.act--final footer{gap:15px;font-size:7px;line-height:1.4;bottom:22px;left:20px;right:20px}.act--final footer span:last-child{text-align:right}.side-rail{display:none}.performance{inset:26px 50% auto auto;transform:translate(50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
