.section-container{width:1300px;max-width:var(--cWidth);margin:auto}.title,.para{font-kerning:none;-webkit-text-rendering:optimizeSpeed;text-rendering:optimizeSpeed;-webkit-transform:translateZ(0);transform:translateZ(0)}@media only screen and (max-width: 1600px){.section-container{width:1200px;max-width:calc(100% - 160px)}}@media only screen and (max-width: 1400px){.section-container{width:900px}}@media only screen and (max-width: 900px){.section-container{width:500px;max-width:var(--cWidth)}}.loading-screen{position:fixed;width:100vw;height:var(--vh);background-color:var(--color-paper);z-index:999999999;display:flex;place-items:center;justify-content:center}.loading-button{padding:20px 50px;border-radius:var(--radius-round);background-color:var(--color-black);overflow:hidden;font-size:18px;font-weight:500;position:relative;z-index:9}.loading-button:before{content:"";background-color:var(--color-white);top:var(--mouse-y);left:var(--mouse-x);border-radius:50%;width:60px;height:60px;opacity:1;position:absolute;z-index:99;filter:blur(60px);opacity:0;transform:translate(-50%,-50%)}.loading-button:hover:before{opacity:1}.loading-clicked .loading-button:before{opacity:0}.loading-wrap{--Lsize: 145px;padding:6px;position:relative;min-width:0px;min-height:0px;border-radius:var(--radius-round);background-color:var(--color-black);overflow:hidden;transition:var(--duration-slower) var(--ease-in-out);transition-delay:.2s;box-shadow:var(--shadow-loading-pill);display:flex;justify-content:center;align-items:center}.loading-clicked{transition-delay:0ms;transition-timing-function:cubic-bezier(.33,.11,1,.72);transform:scale(1);min-width:calc(100vw + 5000px);border-radius:var(--radius-burst);min-height:calc(100vh + 500px);box-shadow:none}.loading-clicked .loading-button{overflow:visible}.loading-hover{background-color:var(--color-accent-400);width:250px;height:120px;position:absolute;top:var(--mouse-y);left:var(--mouse-x);border-radius:50%;transform:translate(-50%,-50%);filter:blur(30px);opacity:1;transition:opacity .5s}.loading-wrap:hover .loading-hover{opacity:1}.loading-clicked:hover .loading-hover,.loading-clicked .loading-hover{opacity:0}.loading-content{position:relative;background-color:var(--color-black);width:100%;overflow:hidden;transition:var(--duration-slow);text-transform:uppercase}.loading-content-in{position:relative;width:var(--Lsize);overflow:hidden}.loading-content2{position:relative;letter-spacing:2px;text-transform:uppercase;width:var(--Lsize);overflow:hidden;display:flex;justify-content:center;align-items:center;column-gap:10px;text-align:center;transition:var(--duration-slowest);max-width:var(--Lsize)}.loading-clicked .loading-content2{opacity:0;transition:var(--duration-med)}.loading-content span{font-weight:300;position:absolute;top:50%;right:0;transform:translateY(-50%);opacity:.7}.loading-box{position:absolute;right:0;top:50%;transform:translate(100%,-50%);width:15px;height:25px;background-color:var(--color-white);animation:blink 1s linear infinite}.loading-icon{transform:scale(0);opacity:0;transition:var(--duration-med);transition-delay:.5s}.loading-complete .loading-icon{transform:scale(1);opacity:1}.loading-clicked .loading-icon{transition-delay:0s;transition:var(--duration-slowest);transform:translate(200px)}.loading-clicked .loading-content2{overflow:visible}.loading-clicked .loading-content2 span{transition:var(--duration-slowest);transform:translateY(100px);opacity:0}.loading-container{position:absolute;width:100%;max-width:var(--Lsize);top:50%;transition:var(--duration-slowest);left:50px;z-index:9;transform:translateY(-50%)}.loading-complete .loading-container{max-width:0px}.loading-header{width:var(--cWidth);max-width:var(--cMaxWidth);position:fixed;z-index:9999999999;display:flex;justify-content:space-between;box-sizing:border-box;padding:20px 0;left:50%;transform:translate(-50%);top:0;color:var(--backgroundColor)}.loader-title{display:inline-flex;align-items:center;font-weight:700;font-size:14px;letter-spacing:.2px}.loader-logo{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.3))}@keyframes blink{0%{opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0}}.loading-complete .loading-box{animation:blinkDone .3s forwards;animation-delay:1s;opacity:1}@keyframes blinkDone{to{opacity:0}}.loaderGame-container{width:200px;transition:var(--duration-fast);height:100px;overflow:hidden;position:relative;transform:scale(.4);transform-origin:top right}.loader-out .loaderGame-container{opacity:0}.loaderGame-in{width:1200px;position:absolute;overflow:hidden;left:0;animation:loaderGame 7s linear infinite}@keyframes loaderGame{0%{transform:translate(0)}to{transform:translate(-300px)}}.loaderGame-line{float:left;margin:0 20px 40px;position:relative;width:10px;height:60px;background-color:var(--color-black);display:block}.loaderGame-line:nth-child(2n){margin-top:40px;margin-bottom:0}.loaderGame-ball{position:absolute;left:20%;top:0%;width:15px;height:15px;border-radius:50%;background-color:var(--color-accent-400);animation:ball25 7s infinite;transform:translateY(10px);animation-timing-function:cubic-bezier(.3,1.18,.63,1.28)}.loading-marquee{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%);color:var(--backgroundColor);font-size:60px;font-weight:600;text-transform:uppercase}.loading-marquee span{padding:0 50px;position:relative}.loading-marquee span:before{content:"";width:20px;height:20px;background-color:var(--backgroundColor);position:absolute;top:50%;border-radius:50px;left:0;transform:translate(-50%,-50%)}@keyframes ball25{0%{transform:translateY(70px)}15%{transform:translateY(10px)}30%{transform:translateY(70px)}45%{transform:translateY(10px)}67%{transform:translateY(70px)}80%{transform:translateY(10px)}90%{transform:translateY(70px)}to{transform:translateY(70px)}}@media only screen and (min-width: 1400px){.loading-wrap{--Lsize: 210px}.loading-button{padding:30px 70px;font-size:25px}.loading-container{left:70px}.loading-marquee{font-size:100px}}@media only screen and (min-width: 500px){.loading-header{padding:20px 0}.loader-title{font-size:16px}}@media only screen and (min-width: 1200px){.loading-header{padding:35px 0}.loader-title{font-size:18px}}:root{--color-base-950: #000000;--color-base-900: #0b080c;--color-accent-200: #d8c6ff;--color-accent-300: #c2a4ff;--color-accent-400: #b08cf5;--color-accent-500: #9a72e0;--color-accent-600: #8159c4;--color-sky-200: #e2d6ff;--color-sky-300: #cdb8ff;--color-sky-400: #b49bf0;--color-paper: #f1edf8;--color-white: #fff;--color-black: #000;--color-gray-100: #eae5ec;--color-gray-200: #d9d3dd;--color-gray-300: #adacac;--color-gray-400: #8a8a8f;--color-gray-500: #363636;--color-gray-600: #393939;--color-violet-500: rgb(175, 131, 255);--font-sans: "Geist", sans-serif;--font-display: "Clash Display", var(--font-sans);--radius-sm: 4px;--radius-md: 8px;--radius-pill: 50px;--radius-round: 100px;--radius-burst: 5000px;--duration-fast: .3s;--duration-med: .5s;--duration-slow: .6s;--duration-slower: .8s;--duration-slowest: 1s;--ease-standard: ease;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-carousel: cubic-bezier(.4, 0, .2, 1);--ease-expand: cubic-bezier(.16, 1, .3, 1);--accentColor: var(--color-accent-300);--backgroundColor: var(--color-base-900);--color-text: var(--color-gray-100);--color-text-dim: var(--color-gray-200);--color-text-muted: var(--color-gray-300);--color-text-faint: var(--color-gray-400);--color-line: var(--color-gray-500);--color-line-inset: var(--color-gray-600);--shadow-loading-pill: 0px 15px 15px 0px rgba(0, 0, 0, .2);--shadow-cursor-glow: 0px 0px 30px 0px var(--color-accent-500);--shadow-work-link: 0px 0px 10px 0px rgba(255, 255, 255, .35), inset 0px 0px 10px 0px var(--color-line-inset);--shadow-work-image: 0px 22px 50px rgba(0, 0, 0, .5);--glow-soft: rgba(194, 164, 255, .55);--glow-strong: rgba(194, 164, 255, .6);--glow-timeline-dot: 0px 0px 5px 2px var(--color-sky-300), 0px 0px 15px 8px var(--color-accent-300), 0px 0px 110px 20px var(--color-sky-200)}html[data-theme=light]{color-scheme:light;--color-base-950: #eef0f3;--color-base-900: #f5f6f8;--color-paper: #eef2f7;--color-accent-200: #e9d5ff;--color-accent-300: #a855f7;--color-accent-400: #9333ea;--color-accent-500: #7e22ce;--color-accent-600: #6d28d9;--color-sky-200: #ede9fe;--color-sky-300: #ddd6fe;--color-sky-400: #c4b5fd;--color-gray-100: #14161b;--color-gray-200: #2b2f38;--color-gray-300: #4b5160;--color-gray-400: #6a7180;--color-gray-500: #cfd4dc;--color-gray-600: #dfe3e9;--accentColor: var(--color-accent-600);--backgroundColor: var(--color-base-900);--color-text: var(--color-gray-100);--color-text-dim: var(--color-gray-200);--color-text-muted: var(--color-gray-300);--color-text-faint: var(--color-gray-400);--color-line: var(--color-gray-500);--color-line-inset: var(--color-gray-600);--shadow-cursor-glow: 0px 0px 30px 0px var(--color-accent-400);--shadow-work-image: 0px 18px 40px rgba(20, 22, 27, .18);--glow-soft: rgba(147, 51, 234, .35);--glow-strong: rgba(147, 51, 234, .4)}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Clash Display;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/clash-display/clash-display-300.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/clash-display/clash-display-400.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/clash-display/clash-display-500.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/clash-display/clash-display-600.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/clash-display/clash-display-700.woff2) format("woff2")}:root{font-family:var(--font-sans);font-optical-sizing:auto;font-style:normal;line-height:1.5;scroll-behavior:smooth;color-scheme:dark;color:var(--color-text);background-color:var(--backgroundColor);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-moz-user-select:none;--vh: 100vh;--vh: 100svh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}body{overflow:hidden}a{color:inherit;text-decoration:inherit}a:hover{color:var(--accentColor)}main{opacity:1;transition:var(--duration-fast)}.main-active{opacity:0;animation:fadeIn 1s 1;animation-fill-mode:forwards}@keyframes fadeIn{to{opacity:1}}body{margin:0;height:auto;background-color:var(--color-base-950);flex-grow:1;--cWidth: calc(100% - 30px) ;--cMaxWidth: 1920px;max-width:100vw;overflow-x:hidden}.main-body{max-width:100vw;overflow-x:hidden}.container-main{width:100%;margin:auto;position:relative}.container1{width:var(--cWidth);height:var(--vh);margin:auto;position:relative}.split-line{overflow:hidden}.split-h2{overflow:hidden;display:flex;white-space:nowrap;flex-wrap:nowrap}.techstack{width:100%;position:relative;overflow:clip;height:var(--vh);margin:50px auto -100px}.techstack h2{font-size:80px;text-align:center;position:absolute;width:100%;top:120px;left:0;font-weight:400;text-transform:uppercase}@media screen and (min-width: 768px){body{--cWidth: 94%}}@media screen and (max-width: 900px){.techstack h2{font-size:40px}}canvas{touch-action:none}@media only screen and (max-width: 1024px){.no-mobile{display:none!important}}:focus-visible{outline:2px solid var(--accentColor);outline-offset:3px}/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-sky-200:oklch(90.1% .058 230.902);--color-violet-500:oklch(60.6% .25 292.717);--spacing:.25rem;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base{.work-card-stack,.work-card-stack *,.site-footer,.site-footer *{box-sizing:border-box}.work-card-stack img,.work-card-stack svg,.site-footer img,.site-footer svg{display:block}.work-card-stack ul,.work-card-stack p,.work-card-stack h3,.site-footer ul,.site-footer h4,.site-footer p{margin:0;padding:0;list-style:none}.site-footer button{font:inherit}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.z-0{z-index:0}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.resize{resize:both}.fill-transparent{fill:#0000}.font-sans{font-family:var(--font-sans)}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}}@property --tw-font-weight{syntax:"*";inherits:false}
