*,:before,:after{box-sizing:border-box}.about-page{color:#fff;background:radial-gradient(1200px 800px at 10% 10%,#f967fb26,#0000 60%),radial-gradient(900px 700px at 90% 20%,#53bc2826,#0000 60%),radial-gradient(1000px 800px at 50% 90%,#6958d533,#0000 65%),#050505;place-items:center;min-height:100vh;padding:80px 24px;font-family:Montserrat,serif;display:grid;position:relative;overflow:hidden}.about-page:before,.about-page:after{content:"";mix-blend-mode:screen;filter:blur(45px);opacity:.65;z-index:0;pointer-events:none;background:conic-gradient(#ff008a2e,#60aed52e,#53bc282e,#6958d52e,#ff008a2e);animation:28s linear infinite tube-spin;position:absolute;inset:-25%}.about-page:after{opacity:.45;animation:38s linear infinite tube-spin-reverse;inset:-35%}.about-glow{filter:blur(40px);opacity:.8;z-index:0;background:radial-gradient(600px 600px at 20% 40%,#ff008a40,#0000 60%),radial-gradient(700px 700px at 80% 60%,#60aed540,#0000 60%);position:absolute;inset:-20%}.about-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0006;border:1px solid #fff3;border-radius:24px;grid-template-columns:minmax(0,13fr) minmax(0,7fr);align-items:start;column-gap:24px;width:min(100%,800px);max-width:800px;padding:48px 40px;display:grid;position:relative;box-shadow:0 30px 60px #00000073}.about-content{grid-column:1}.about-eyebrow{letter-spacing:6px;text-transform:uppercase;opacity:.75;margin-bottom:16px;font-size:12px}.about-name{text-transform:uppercase;text-shadow:0 0 24px #000c;margin:0;padding-bottom:50px;font-size:clamp(36px,6vw,56px)}.about-summary{opacity:.9;margin:0 0 32px;padding-bottom:24px;font-size:18px;line-height:1.7}.about-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.about-details span{letter-spacing:3px;text-transform:uppercase;opacity:.7;margin-bottom:8px;font-size:12px;display:block}.about-details p{margin:0;font-size:16px}.about-photo{grid-column:2;justify-self:end;width:100%;margin:0}.about-photo img{aspect-ratio:1/1.2;object-fit:cover;border:1px solid #ffffff40;border-radius:18px;width:100%;max-width:100%;box-shadow:0 18px 36px #00000080}@media (width<=640px){.about-card{grid-template-columns:1fr;padding:36px 28px}.about-photo{justify-self:center;width:100%;margin-top:24px}}@keyframes tube-spin{0%{transform:rotate(0)scale(1.1)}to{transform:rotate(360deg)scale(1.1)}}@keyframes tube-spin-reverse{0%{transform:rotate(360deg)scale(1.05)}to{transform:rotate(0)scale(1.05)}}.section-page{color:#fff;background:radial-gradient(1200px 800px at 10% 10%,#f967fb26,#0000 60%),radial-gradient(900px 700px at 90% 20%,#53bc2826,#0000 60%),radial-gradient(1000px 800px at 50% 90%,#6958d533,#0000 65%),#050505;place-items:center;min-height:100vh;padding:80px 24px;font-family:Montserrat,serif;display:grid;position:relative;overflow:hidden}.contact-page{text-align:center;align-content:center;gap:16px}.contact-title{text-transform:uppercase;letter-spacing:3px;text-shadow:0 0 24px #000c;z-index:1;margin:0;font-size:clamp(32px,5vw,54px)}.contact-subtitle{opacity:.9;z-index:1;max-width:640px;margin:0 0 12px;font-size:16px;line-height:1.7}.contact-toggle{color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;z-index:2;background:0 0;border:1px solid #ffffff59;border-radius:999px;margin-top:16px;padding:10px 20px;font-size:13px;transition:transform .2s,border-color .2s;position:relative}.contact-toggle:hover{border-color:#ffffffb3;transform:translateY(-1px)}.contact-orbit{z-index:1;place-items:center;width:260px;height:260px;display:grid;position:relative}.contact-panel{opacity:0;pointer-events:none;z-index:1;transition:transform .25s,opacity .25s;position:absolute;inset:0;transform:scale(.92)}.contact-panel.is-open{opacity:1;pointer-events:none;transform:scale(1)}.contact-link{color:#fff;letter-spacing:1px;opacity:0;transform:var(--contact-transform,translate(0, 0)) scale(.6);pointer-events:none;background:#00000040;border:1px solid #fff3;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font-size:12px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:absolute}.contact-link:hover{border-color:#fff9;transform:translateY(-2px);box-shadow:0 10px 24px #0006}.contact-panel.is-open .contact-link{opacity:1;transform:var(--contact-transform,translate(0, 0)) scale(1);pointer-events:auto}.contact-link.instagram{--contact-transform:translateX(-50%);top:-6px;left:50%}.contact-link.telegram{--contact-transform:translateY(-50%);top:50%;right:-75px}.contact-link.linkedin{--contact-transform:translateX(-50%);bottom:-6px;left:50%}.contact-link.github{--contact-transform:translateY(-50%);top:50%;left:-63px}.contact-icon{background:#ffffff14;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.contact-icon svg{fill:currentColor;width:18px;height:18px}.resume-page{place-items:start center;padding-top:120px}.resume-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0006;border:1px solid #fff3;border-radius:24px;width:min(100%,980px);padding:48px 42px;position:relative;box-shadow:0 30px 60px #00000073}.resume-eyebrow{letter-spacing:6px;text-transform:uppercase;opacity:.75;margin:0 0 16px;font-size:12px}.resume-title{text-transform:uppercase;text-shadow:0 0 24px #000c;margin:0 0 8px;font-size:clamp(32px,5vw,48px)}.resume-intro{opacity:.9;margin:0 0 20px;font-size:16px;line-height:1.6}.resume-download{color:#fff;letter-spacing:2px;text-transform:uppercase;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:13px;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.resume-download:hover{border-color:#ffffffb3;transform:translateY(-2px)}.resume-section{margin-top:28px}.resume-section h2{text-transform:uppercase;letter-spacing:2px;margin:0 0 14px;font-size:18px}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.skill-box{background:#0000004d;border:1px solid #fff3;border-radius:16px;gap:8px;padding:16px 14px;display:grid}.skill-box strong{letter-spacing:2px;text-transform:uppercase;font-size:13px}.skill-box span{opacity:.9;font-size:14px;line-height:1.6}.resume-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.resume-list li{background:#00000040;border:1px solid #ffffff2e;border-radius:14px;padding:10px 12px}.resume-meta{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.resume-meta p{opacity:.9;margin:0}@media (width<=640px){.contact-orbit{width:220px;height:220px}.resume-card{padding:36px 26px}}.section-page{color:#fff;background:radial-gradient(1200px 800px at 10% 10%,#f967fb26,#0000 60%),radial-gradient(900px 700px at 90% 20%,#53bc2826,#0000 60%),radial-gradient(1000px 800px at 50% 90%,#6958d533,#0000 65%),#050505;flex-direction:column;align-items:center;gap:24px;min-height:100vh;padding:120px 24px 80px;font-family:Montserrat,serif;display:flex;position:relative;overflow:hidden}.section-page:before,.section-page:after{content:"";mix-blend-mode:screen;filter:blur(45px);opacity:.65;z-index:0;pointer-events:none;background:conic-gradient(#ff008a2e,#60aed52e,#53bc282e,#6958d52e,#ff008a2e);animation:28s linear infinite tube-spin;position:absolute;inset:-25%}.section-page:after{opacity:.45;animation:38s linear infinite tube-spin-reverse;inset:-35%}.section-glow{filter:blur(40px);opacity:.85;z-index:0;background:radial-gradient(600px 600px at 30% 40%,#ff008a38,#0000 60%),radial-gradient(700px 700px at 70% 60%,#60aed538,#0000 60%);position:absolute;inset:-20%}.return-home{z-index:2;position:absolute;top:24px;left:24px}.home-link{letter-spacing:2px;text-transform:uppercase;color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:999px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:inline-flex}.home-link:hover{color:#fff;border-color:#ffffffb3;transform:translateY(-1px)}.project-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0006;border:1px solid #fff3;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;width:min(100%,980px);min-height:160px;padding:28px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;box-shadow:0 20px 40px #00000059}.project-card:hover{border-color:#fff9;transform:translateY(-6px)scale(1.01);box-shadow:0 30px 60px #00000073}.project-content{flex:1}.project-content h2{text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 20px #0009;margin:0 0 12px;font-size:clamp(20px,3vw,28px)}.project-content p{opacity:.85;margin:0;font-size:16px;line-height:1.6}.project-media{border:1px solid #ffffff40;border-radius:16px;width:min(240px,35%);transition:transform .2s,border-color .2s,box-shadow .2s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 32px #0006}.project-media img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;display:block}.project-media.is-unavailable:after{content:"Image unavailable";letter-spacing:4px;text-transform:uppercase;color:#ffffffd9;pointer-events:none;text-shadow:0 4px 10px #000000b3;background:linear-gradient(135deg,#000000bf 0%,#00000040 50%,#000000bf 100%);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0;transform:skewY(-6deg)}.project-media:hover{border-color:#fff9;transform:translateY(-2px)scale(1.01);box-shadow:0 22px 40px #00000080}@media (width<=640px){.section-page{padding:120px 20px 64px}.project-card{flex-direction:column;align-items:flex-start;min-height:140px}.project-media{width:100%}}html,body,#root,#app{width:100%;min-height:100%;margin:0}html{scroll-behavior:smooth}body{touch-action:none}#app{min-height:100vh;font-family:Montserrat,serif;position:relative}#app a{color:#fff;text-decoration:none}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative}h1,h2,p{color:#fff;text-shadow:0 0 20px #000;-webkit-user-select:none;user-select:none;margin:0;padding:0;line-height:100%}h1{text-transform:uppercase;font-size:80px;font-weight:700}h2{text-transform:uppercase;font-size:60px;font-weight:500}h3{color:#fff;text-shadow:0 0 20px #000;text-transform:uppercase;letter-spacing:2px;margin:0 0 12px;font-size:28px}.hero-eyebrow{letter-spacing:6px;text-transform:uppercase;opacity:.8;font-size:14px}.scroll-link{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #fff6;border-radius:999px;margin-top:16px;padding:10px 18px;transition:transform .2s,border-color .2s}.scroll-link:hover{border-color:#ffffffe6;transform:translateY(-2px)}.sections{padding:40px 24px 120px;position:relative}.section-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1100px;margin:0 auto;display:grid}.section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;text-transform:uppercase;letter-spacing:2px;text-align:center;background:#00000059;border:1px solid #fff3;border-radius:20px;justify-content:center;align-items:center;min-height:200px;padding:28px 24px;font-size:22px;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 20px 40px #00000059}.section-card:hover{border-color:#fff9;transform:translateY(-6px)scale(1.01);box-shadow:0 30px 60px #00000073}.section-card p{opacity:.9;font-size:16px;line-height:1.6}#canvas{z-index:0;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.hero,.sections{z-index:1;pointer-events:none}.section-card,.scroll-link{pointer-events:auto}.route-transition,.route-view{position:relative}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s}@media (width<=768px){h1{font-size:56px}h2{font-size:40px}}
