body{padding:0;margin:0;-webkit-text-size-adjust:100%}#root{position:relative;background:#000;width:100vw;height:100vh;padding:0;margin:0}.welcome-frame-container{position:relative;width:100%;max-width:1400px;margin:auto}.welcome-frame-bg{width:100%;height:auto;display:block}.welcome-frame-header{position:absolute;top:80px;left:50%;transform:translate(-50%);color:#9a9a9a;font-size:96px}.welcome-frame-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-frame-inner{width:800px;height:auto}@keyframes blink{0%{opacity:.1}50%{opacity:1}to{opacity:.1}}.welcome-frame-title{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#c7c7c7;font-size:32px;gap:32px}.welcome-frame-subtitle{display:flex;align-items:center;flex-direction:column;justify-content:center;color:#c7c7c7;font-size:32px}.welcome-frame-footer{position:absolute;bottom:240px;left:50%;transform:translate(-50%);animation:blink 3s infinite linear}.crypto-letter{display:inline-block;min-width:.6em;text-align:center;transition:transform .2s ease,opacity .2s ease}.crypto-word-chunk,.crypto-letter{display:inline-block}.esc-back{position:fixed;bottom:24px;right:48px;z-index:1000;display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:6px 10px;font-family:inherit;font-size:11px;letter-spacing:.12em;color:#ffffff59;transition:color .2s ease,opacity .3s ease;animation:escFadeIn .6s ease forwards}.esc-back:hover{color:#ffffffbf}.esc-back-key{font-size:10px;letter-spacing:.15em;border:1px solid rgba(255,255,255,.25);padding:2px 5px;border-radius:3px;transition:border-color .2s ease}.esc-back:hover .esc-back-key{border-color:#ffffff8c}.esc-back-arrow{opacity:.5}.esc-back-label{letter-spacing:.05em;font-size:24px}@keyframes escFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.left-menu-svg{width:50vw;height:auto}.about-wrapper{position:relative;width:1177px;height:845px;opacity:0;transform:scale(.96) translateY(12px);animation:aboutEnter .75s cubic-bezier(.16,1,.3,1) .05s forwards}@keyframes aboutEnter{to{opacity:1;transform:scale(1) translateY(0)}}.about-achievement{opacity:0;position:absolute;right:-300px;top:-50px;cursor:pointer}.achievement-container{cursor:pointer}.about-achievement{opacity:0;visibility:hidden;cursor:pointer}.about-achievement-entered{visibility:visible;animation:achievementEnter .6s cubic-bezier(.16,1,.3,1) forwards,pulse 2s ease-in-out .6s 1,fadeOut .5s ease-out 6s forwards}.about-achievement-entered{animation:achievementEnter .6s cubic-bezier(.16,1,.3,1) forwards,pulse 2s ease-in-out 1,fadeOut .5s ease-out 6s forwards}@keyframes achievementEnter{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.achievement-content{position:absolute;top:-14px;right:116px;letter-spacing:0;margin-top:22px;color:#fff;cursor:pointer}.achievement-header{font-size:18px;font-weight:700;letter-spacing:0;text-shadow:2px 2px 4px rgba(0,0,0,.2);cursor:pointer}.achievement-text{font-size:32px;line-height:.01;margin:0;letter-spacing:0;cursor:pointer}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.025);opacity:.8;box-shadow:0 20px 60px #0006}to{transform:scale(1);opacity:1}}.pulse-animation{animation:pulse 2s ease-in-out 1}.about-achievement{opacity:0;animation:pulse 2s ease-in-out 3,fadeOut .5s ease-out 6s forwards}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9);visibility:hidden}}.about-wrapper:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.012) 3px,rgba(255,255,255,.012) 4px);pointer-events:none;z-index:10}.about-svg-frame{position:absolute;top:0;left:0}.about-content{position:absolute;inset:0}@keyframes aboutFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-index{position:absolute;top:64px;right:200px;font-size:27px;letter-spacing:0;color:#9a9a9a;text-transform:uppercase;opacity:0;animation:aboutFadeUp .5s ease .4s forwards}.about-label-left{position:absolute;top:280px;left:36px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.3em;color:#ffffff2e;text-transform:uppercase;opacity:0;animation:aboutFadeUp .6s ease .45s forwards}.about-corner-tl,.about-corner-br{position:absolute;width:18px;height:18px;opacity:0;animation:aboutFadeUp .5s ease .3s forwards}.about-corner-tl{top:85px;left:205px;border-top:.5px solid rgba(255,255,255,.25);border-left:.5px solid rgba(255,255,255,.25)}.about-corner-br{bottom:60px;right:100px;border-bottom:.5px solid rgba(255,255,255,.25);border-right:.5px solid rgba(255,255,255,.25)}.about-name{position:absolute;top:118px;left:210px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .35s forwards}.about-name h1{font-size:13px;font-weight:700;letter-spacing:.35em;color:#ffffffd9;text-transform:uppercase}.about-name p{font-size:11px;letter-spacing:.22em;color:#ffffff59;margin-top:5px;text-transform:uppercase}.about-section-label{display:block;font-size:8px;letter-spacing:.4em;color:#ffffff40;text-transform:uppercase;margin-bottom:12px}.about-bio{position:absolute;top:150px;left:150px;max-width:900px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .5s forwards}.about-description{min-height:350px}.about-bio p{font-size:23px;line-height:1.25em;letter-spacing:0;color:#ffffff80;margin-top:0}.about-bio p+p{margin-top:10px}.about-marked{background-color:#29abe244}.about-software{margin-top:64px}.about-software-header{font-size:27px;text-transform:uppercase}.about-software-icons{margin-top:24px;display:flex;gap:24px}.about-software-icons svg{transition:scale .15s ease}.about-software-icons svg:hover{scale:1.1}.about-skills{position:absolute;top:200px;left:540px;width:340px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .58s forwards}.about-skill-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.about-skill-name{font-size:10px;letter-spacing:.15em;color:#ffffff73;width:130px;text-transform:uppercase;flex-shrink:0}.about-skill-bar-bg{flex:1;height:1px;background:#ffffff14;position:relative}.about-skill-bar-fill{position:absolute;top:0;left:0;height:100%;background:#ffffff59;transform-origin:left;transform:scaleX(0);animation:skillBarIn .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes skillBarIn{to{transform:scaleX(1)}}.about-skill-pct{font-size:9px;color:#fff3;width:24px;text-align:right}.about-exp{position:absolute;top:440px;left:210px;width:280px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .65s forwards}.about-exp-item{display:flex;flex-direction:column;margin-bottom:18px}.about-exp-year{font-size:9px;letter-spacing:.2em;color:#fff3}.about-exp-role{font-size:11px;letter-spacing:.12em;color:#ffffffa6;margin-top:3px}.about-exp-company{font-size:10px;letter-spacing:.1em;color:#ffffff4d;margin-top:2px}.about-stats{position:absolute;top:440px;left:540px;width:340px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .72s forwards}.about-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-stat-cell{border:.5px solid rgba(255,255,255,.07);padding:14px;display:flex;flex-direction:column}.about-stat-num{font-size:22px;font-weight:700;color:#fffc;letter-spacing:.05em}.about-stat-desc{font-size:9px;letter-spacing:.25em;color:#ffffff38;text-transform:uppercase;margin-top:5px}.about-contact{position:absolute;top:750px;left:210px;display:flex;gap:32px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .8s forwards}.about-contact-item{display:flex;align-items:center;gap:8px}.about-contact-label{font-size:10px;letter-spacing:.3em;color:#ffffff2e;text-transform:uppercase}.about-contact-value{font-size:12px;letter-spacing:.12em;color:#fff6}.about-contact-value--active{color:#ffffffa6}.contact-bio{position:absolute;top:200px;left:150px;max-width:900px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .5s forwards}.contact-item{padding:24px 0;display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;vertical-align:center;align-items:center}.contact-item-label{width:fit-content;font-size:27px}.contact-item-label>a{transition:all .15s ease-in-out}.contact-item-label:hover>a{color:#efefef}.contact-bar{height:1px;background:#9a9a9a;width:100%}.contact-description{min-height:350px}.contact-bio p{font-size:23px;line-height:1.25em;letter-spacing:0;color:#ffffff80;margin-top:0}.contact-bio p+p{margin-top:10px}.contact-label-left{position:absolute;top:280px;left:36px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.3em;color:#ffffff2e;text-transform:uppercase;opacity:0;animation:aboutFadeUp .6s ease .45s forwards}.contact-footer{position:absolute;top:600px;left:150px;display:flex;gap:32px;font-size:22px;opacity:0;animation:aboutFadeUp .6s cubic-bezier(.16,1,.3,1) .8s forwards}.main-page-container{position:relative;width:100%;height:100vh;overflow:hidden}.glow-bg{position:absolute;top:50%;left:50%;width:800px;height:800px;transform:translate(-50%,-50%);background:radial-gradient(circle,#00ffc880,#0096ff40 30%,#0000 80%);filter:blur(100px);opacity:.3;pointer-events:none;z-index:0;animation:glowPulse 3s ease-in-out infinite alternate}@keyframes glowPulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(.95)}50%{opacity:.8;transform:translate(-50%,-50%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.main-page-welcome{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;opacity:1;transform:scale(1);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1);pointer-events:auto}.main-page-welcome--exit{opacity:0;transform:scale(1.08);pointer-events:none}.main-page-welcome--enter{opacity:1;transform:scale(1)}.main-page-content{position:absolute;inset:0;z-index:5;opacity:0;transition:opacity .65s cubic-bezier(.4,0,.2,1)}.main-page-content--visible{opacity:1}.main-page-content--hidden{opacity:0}.main-page-placeholder{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:13px;letter-spacing:.2em;color:#ffffff4d}.main-page-background{position:absolute}.main-page-about,.main-page-contact{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#000000d9}.projects-main-container{display:flex;width:100vw;height:100vh;flex-direction:column;justify-content:space-evenly;align-items:center}.projects-container{position:relative;display:flex;justify-content:center;align-items:center;width:105%}.projects-fade-wrapper{opacity:0;transition:opacity .5s ease-in-out}.projects-fade-wrapper.visible{opacity:1}.project-card{position:relative;width:400px;overflow:visible;height:600px;cursor:pointer;transition:transform .2s ease;z-index:2;margin-left:-180px}.project-card:first-child{margin-left:0}.project-card:hover:not(.active){transform:rotate(-8deg) translateY(-8%) translate(-8%)}.project-card img{width:100%;height:100%;min-height:400px;object-fit:contain;pointer-events:none}.project-card.active img{transition:transform .05s ease;min-width:600px!important;object-fit:contain}.backdrop{position:fixed;inset:0;background:#0009;z-index:50}.project-bottom-text{font-size:27px;animation:textBlink 3s infinite linear;cursor:pointer}@keyframes textBlink{0%{opacity:1}50%{opacity:.35}to{opacity:1}}@font-face{font-family:DeusEx;src:url(/assets/deusex-DSHZeEkt.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}body{position:relative;font-family:DeusEx,serif;color:#9a9a9a}canvas{display:block;width:100%;height:100%}.href{color:inherit;text-decoration:none}
