:root{--navbar-height:120px;--font-primary:"Space Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--bg-primary:#000;--bg-navbar:#0009;--border-navbar:#00f0ff26;--text-primary:#f3f4f6;--text-muted:#f3f4f6a6;--accent:#00f0ff;--accent-glow:#00f0ff99;--shadow-navbar:0 4px 30px #000c, inset 0 1px 0 #ffffff0d}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-primary);margin:0;padding:0}.navbar{width:100%;height:var(--navbar-height);background:#0009;background:var(--bg-navbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-navbar);box-shadow:var(--shadow-navbar);z-index:1000;box-sizing:border-box;justify-content:space-between;align-items:center;padding:0 4rem;transition:background .3s,border-color .3s,box-shadow .3s;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards borderFluorescentFlicker;display:flex;position:fixed;top:0;left:0}.navbar__logo-container{z-index:10;border-radius:12px;justify-content:center;align-items:center;text-decoration:none;transition:transform .2s;display:flex;position:relative}.navbar__logo-container:hover{transform:scale(1.05)}.navbar__logo{object-fit:contain;z-index:10;opacity:.65;width:80px;height:80px;transition:transform .3s,filter .3s,opacity .3s;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards logoFluorescentFlicker}.navbar__logo-container:hover .navbar__logo{filter:drop-shadow(0 0 8px var(--accent))!important;opacity:1!important;transform:scale(1.08)rotate(2deg)!important}.navbar__list{z-index:10;align-items:center;gap:3rem;margin:0;padding:0;list-style:none;display:flex}.navbar__link{color:var(--accent);font-family:var(--font-primary);letter-spacing:.03em;opacity:.65;padding:.5rem 0;font-size:1.25rem;font-weight:500;text-decoration:none;transition:color .3s,opacity .3s;position:relative}.navbar__link-first-letter{color:#fff!important}.navbar__list li:first-child .navbar__link{animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards textFluorescentFlicker}.navbar__list li:nth-child(2) .navbar__link{animation:1.4s cubic-bezier(.25,1,.5,1) 1.52s forwards textFluorescentFlicker}.navbar__list li:nth-child(3) .navbar__link{animation:1.4s cubic-bezier(.25,1,.5,1) 1.64s forwards textFluorescentFlicker}.navbar__list li:nth-child(4) .navbar__link{animation:1.4s cubic-bezier(.25,1,.5,1) 1.76s forwards textFluorescentFlicker}.navbar__link:hover{opacity:1!important}.navbar__link--active:after{width:100%;left:0}.navbar__link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s cubic-bezier(.4,0,.2,1),left .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:50%}.navbar__link:hover:after{width:100%;left:0}@keyframes textFluorescentFlicker{0%{opacity:.65;color:var(--text-muted)}3%{opacity:1;color:var(--accent)}6%{opacity:.25;color:var(--text-muted)}9%{opacity:1;color:var(--accent)}12%{opacity:.35;color:var(--text-muted)}15%{opacity:.9;color:var(--accent)}18%{opacity:.3}21%{opacity:1;color:var(--accent)}24%{opacity:.5}28%{opacity:1}to{opacity:1}}@keyframes logoFluorescentFlicker{0%{opacity:.65;filter:none}3%{opacity:1;filter:drop-shadow(0 0 10px var(--accent-glow))}6%{opacity:.35;filter:none}9%{opacity:1;filter:drop-shadow(0 0 12px var(--accent-glow))}12%{opacity:.45;filter:none}15%{opacity:.9;filter:drop-shadow(0 0 6px var(--accent-glow))}18%{opacity:.4;filter:none}21%{opacity:1;filter:drop-shadow(0 0 15px var(--accent-glow))}24%{opacity:.55;filter:none}28%{opacity:1;filter:drop-shadow(0 0 6px var(--accent-glow))}to{opacity:1;filter:drop-shadow(0 0 6px var(--accent-glow))}}@keyframes borderFluorescentFlicker{0%{border-bottom-color:var(--border-navbar);box-shadow:var(--shadow-navbar)}3%{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 0 12px var(--accent-glow)}6%{border-bottom-color:var(--border-navbar);box-shadow:var(--shadow-navbar)}9%{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 0 15px var(--accent-glow)}12%{border-bottom-color:var(--border-navbar);box-shadow:var(--shadow-navbar)}15%{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 0 8px var(--accent-glow)}18%{border-bottom-color:var(--border-navbar);box-shadow:var(--shadow-navbar)}21%{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 0 18px var(--accent-glow)}24%{border-bottom-color:var(--border-navbar);box-shadow:var(--shadow-navbar)}28%{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 2px 20px var(--accent-glow)}to{border-bottom-color:var(--accent);box-shadow:var(--shadow-navbar), 0 2px 20px var(--accent-glow)}}.navbar__toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:none}.navbar__toggle-bar{background-color:var(--accent);width:100%;height:3px;box-shadow:0 0 5px var(--accent-glow);border-radius:4px;transition:transform .3s,opacity .3s}.navbar__toggle--open .navbar__toggle-bar:first-child{transform:translateY(8.5px)rotate(45deg)}.navbar__toggle--open .navbar__toggle-bar:nth-child(2){opacity:0}.navbar__toggle--open .navbar__toggle-bar:nth-child(3){transform:translateY(-8.5px)rotate(-45deg)}@media (width<=768px){:root{--navbar-height:80px}.navbar{padding:0 1.5rem}.navbar__logo{width:60px;height:60px}.navbar__toggle{display:flex}.navbar__list{top:var(--navbar-height);width:100%;height:calc(100vh - var(--navbar-height));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;border-bottom:1px solid var(--border-navbar);background:#000000f2;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s;position:fixed;left:0;transform:translateY(-100%);box-shadow:0 10px 30px #00000080}.navbar__list--open{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar__link{font-size:1.5rem}}.education__timeline{box-sizing:border-box;max-width:1200px;margin:3.5rem auto 0;padding:1.5rem 0;position:relative}.education__timeline:before{content:"";z-index:1;background:linear-gradient(#0000,#00f0ff4d 10% 90%,#0000);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{box-sizing:border-box;opacity:0;will-change:transform, opacity;width:100%;margin:2.5rem 0;transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.timeline-item--left{justify-content:flex-start;transform:translate(-120px)}.timeline-item--right{justify-content:flex-end;transform:translate(120px)}.timeline-item--visible{opacity:1;transform:translate(0)}.timeline-item__marker{background:var(--bg-primary,#0a0a0c);z-index:5;border:2px solid #00f0ff66;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .3s,box-shadow .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-item__marker-inner{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%}.timeline-item--visible .timeline-item__marker{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.timeline-item__card{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:1.2rem;width:45%;padding:1.25rem;transition:border-color .3s,box-shadow .3s,background-color .3s;display:flex}.timeline-item__card:hover{background:#ffffff0a;border-color:#00f0ff73;box-shadow:0 0 30px #00f0ff14}.timeline-item__image-wrapper{background:#141416;border:1px solid #ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.timeline-item__image{object-fit:cover;width:100%;height:100%}.timeline-item__details{flex-direction:column;flex:1;gap:.35rem;display:flex}.timeline-item__year{font-family:var(--font-primary);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.timeline-item__title{color:var(--text-primary,#fff);margin:0;font-size:1.05rem;font-weight:700;line-height:1.35}.timeline-item__subtitle{color:var(--text-muted,#8a8a93);margin:0;font-size:.82rem;font-weight:500;line-height:1.4}.timeline-item__separator{color:#ffffff26;margin:0 .2rem}@media (width<=900px){.education__timeline:before{left:20px;transform:none}.timeline-item{margin:2rem 0}.timeline-item--left,.timeline-item--right{justify-content:flex-start;padding-left:45px;transform:translate(-60px)}.timeline-item--visible{transform:translate(0)}.timeline-item__marker{top:1.5rem;left:20px;transform:translate(-50%)}.timeline-item__card{width:100%}}@media (width<=600px){.timeline-item__card{flex-direction:column;align-items:flex-start;gap:.8rem;padding:1rem}.timeline-item__image-wrapper{width:50px;height:50px}.timeline-item__title{font-size:.95rem}}.colliding-title{justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.6rem 0;display:flex;overflow:hidden}.colliding-title__word{opacity:0;display:inline-block}.colliding-title__word--left{color:var(--text-primary)}.colliding-title__word--right{color:var(--accent)}.colliding-title.animate{animation:.8s ease-out forwards titleImpactGlow}.colliding-title.animate .colliding-title__word--left{animation:.8s cubic-bezier(.25,1,.5,1) forwards titleSlideLeft}.colliding-title.animate .colliding-title__word--right{animation:.8s cubic-bezier(.25,1,.5,1) forwards titleSlideRight}@keyframes titleSlideLeft{0%{opacity:0;transform:translate(-160px)}65%{opacity:1;transform:translate(10px)}78%{transform:translate(-4px)}90%{transform:translate(1px)}to{opacity:1;transform:translate(0)}}@keyframes titleSlideRight{0%{opacity:0;transform:translate(160px)}65%{opacity:1;transform:translate(-10px)}78%{transform:translate(4px)}90%{transform:translate(-1px)}to{opacity:1;transform:translate(0)}}@keyframes titleImpactGlow{0%,60%{text-shadow:none;filter:brightness();transform:scale(1)}65%{text-shadow:0 0 25px var(--accent), 0 0 50px var(--accent);filter:brightness(1.6);transform:scale(1.04)}80%{text-shadow:0 0 12px var(--accent-glow), 0 0 25px var(--accent-glow);filter:brightness(1.2);transform:scale(.98)}to{text-shadow:0 0 8px var(--accent-glow);filter:brightness();transform:scale(1)}}.project-dock{flex-direction:column;width:100%;max-width:100%;margin:0 auto;display:flex;position:relative}.project-dock__preview-card{border:1px solid var(--accent);box-shadow:0 25px 60px #0000008c, 0 0 20px var(--accent-glow), inset 0 1px 0 #ffffff08;z-index:2;box-sizing:border-box;background:#ffffff06;border-radius:18px;flex-direction:column;width:100%;max-width:1100px;height:380px;margin-bottom:2.2rem;margin-left:auto;margin-right:auto;padding:2.5rem;display:flex;position:relative;overflow:hidden}.project-dock__preview-bg{opacity:.08;filter:blur(40px);z-index:1;pointer-events:none;background-position:50%;background-size:cover;transition:background-image .4s ease-in-out;position:absolute;inset:0}.project-dock__preview-content{z-index:2;gap:2.5rem;display:flex;position:relative}.project-dock__preview-left{cursor:pointer;background:#0d0d0d;border:1px solid #ffffff14;border-radius:12px;flex-shrink:0;width:400px;height:250px;transition:transform .3s,border-color .3s,box-shadow .3s;display:block;overflow:hidden;box-shadow:0 10px 30px #0006}.project-dock__preview-image{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.project-dock__preview-right{text-align:left;flex-direction:column;flex:1.2;justify-content:space-between;display:flex}.project-dock__preview-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .75rem;font-size:2rem;font-weight:800}.project-dock__preview-description{color:var(--text-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.6;display:-webkit-box;overflow:hidden}.project-dock__preview-tech{flex-wrap:wrap;gap:6px;margin-bottom:2rem;display:flex}.project-dock__tech-badge{color:var(--accent);letter-spacing:.02em;background:#00f0ff0a;border:1px solid #00f0ff26;border-radius:50px;padding:3px 8px;font-size:.72rem;font-weight:600}.project-dock__preview-actions{gap:1rem;display:flex}.project-dock__preview-actions .btn{width:fit-content;padding:.8rem 1.6rem;font-size:.95rem}.project-dock__btn-demo{background:var(--accent)!important;color:#000!important;border-color:var(--accent)!important;animation:none!important;box-shadow:0 0 15px #00f0ff40!important}.project-dock__btn-demo:hover{background:#1ae8ff!important;transform:translateY(-2px)!important;box-shadow:0 0 25px #00f0ff73!important}.project-dock__outer{z-index:3;perspective:800px;cursor:grab;pointer-events:none;box-sizing:border-box;align-items:flex-end;width:100%;height:170px;padding-bottom:20px;display:flex;position:relative;overflow:hidden}.project-dock__container{box-sizing:border-box;width:max-content;height:46px;transform-style:preserve-3d;pointer-events:auto;will-change:transform;z-index:2;-webkit-backdrop-filter:blur(16px);border:1px solid var(--accent);box-shadow:0 10px 30px #0006, 0 0 20px var(--accent-glow),  inset 0 1px 0 #ffffff0d;background:#ffffff0a;border-radius:16px;align-items:flex-end;gap:12px;padding:0 16px 4px;display:flex;position:relative}.project-dock__item-wrapper{transform-style:preserve-3d;transform:translateZ(40px) rotateY(var(--dock-rotate-y,0deg)) scale(var(--dock-scale,1));opacity:1;pointer-events:auto;flex-direction:column;align-self:flex-end;align-items:center;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.project-dock__tooltip{-webkit-backdrop-filter:none;color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:15;background:#0a0a0ad9;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:500;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:100%;transform:translateY(5px)scale(.9);box-shadow:0 5px 15px #0000004d}.project-dock__item-wrapper:hover .project-dock__tooltip{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(8px);transform:translateY(-10px)scale(1)}.project-dock__item{width:var(--item-width,60px);height:var(--item-height,60px);cursor:pointer;transform-origin:bottom;background:#0d0d0d;border:1px solid #ffffff1f;border-radius:12px;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 5px 12px #0006,0 0 8px #ffffff08}.project-dock__item--level-3{--item-width:60px;--item-height:60px}.project-dock__item--level-2{--item-width:70px;--item-height:70px}.project-dock__item--level-1{--item-width:80px;--item-height:80px}.project-dock__item--level-0{--item-width:95px;--item-height:95px;border-color:#00f0ff73;box-shadow:0 0 12px #00f0ff40,0 8px 18px #0006}.project-dock__item--active{border-color:var(--accent);box-shadow:0 0 10px #00f0ff33}.project-dock__image{object-fit:cover;width:100%;height:100%;display:block}.project-dock__item-overlay{pointer-events:none;background:0 0;transition:opacity .2s;position:absolute;inset:0}.project-dock__item:hover .project-dock__item-overlay,.project-dock__item--active .project-dock__item-overlay{opacity:0}.project-dock__dot{opacity:.5;background:#ffffff26;border-radius:50%;width:4px;height:4px;margin-top:5px;margin-bottom:2px;transition:all .2s}.project-dock__dot--active{background:var(--accent);box-shadow:0 0 6px var(--accent);opacity:1;width:5px;height:5px;transform:scale(1.2)}@media (width<=768px){.project-dock__preview-card{height:auto;margin-bottom:2.5rem;padding:1.5rem}.project-dock__preview-content{flex-direction:column;gap:1.5rem}.project-dock__preview-left{aspect-ratio:16/10;flex-shrink:1!important;width:100%!important;max-width:100%!important;height:auto!important}.project-dock__preview-right{text-align:center}.project-dock__preview-title{text-align:center;margin-bottom:.5rem;font-size:1.5rem}.project-dock__preview-description{margin-bottom:1rem;font-size:.95rem}.project-dock__preview-tech{justify-content:center;margin-bottom:1.5rem}.project-dock__preview-actions{flex-flow:wrap;justify-content:center;gap:.8rem}.project-dock__preview-actions .btn{width:fit-content;padding:.6rem 1.2rem;font-size:.9rem}.project-dock__outer{-webkit-overflow-scrolling:touch;justify-content:flex-start;padding-bottom:10px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#fff 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#fff 8% 92%,#0000);height:auto!important}.project-dock__container{align-items:center;gap:10px;margin:0 auto;padding:6px 12px 4px;height:auto!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:none!important}.project-dock__item{border-radius:10px;transition:transform .2s;width:50px!important;height:50px!important}.project-dock__item--active{transform:scale(1.1)}.project-dock__tooltip{display:none!important}}@media (pointer:fine){*{cursor:none!important}}.custom-cursor-container{pointer-events:none;z-index:9999;width:100vw;height:100vh;position:fixed;top:0;left:0}.cursor-dot{pointer-events:none;z-index:9999;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot--cyan{background-color:var(--accent);box-shadow:0 0 8px var(--accent), 0 0 15px var(--accent)}.cursor-dot--white{background-color:#fff;box-shadow:0 0 8px #fff,0 0 15px #fff}.cursor-dot--1{opacity:1;width:6px;height:6px;margin:-3px}.cursor-dot--2{opacity:.8;width:5px;height:5px;margin:-2.5px}.cursor-dot--3{opacity:.6;width:4.5px;height:4.5px;margin:-2.25px}.cursor-dot--4{opacity:.4;width:4px;height:4px;margin:-2px}.cursor-dot--5{opacity:.25;width:3.5px;height:3.5px;margin:-1.75px}.cursor-dot--6{opacity:.12;width:3px;height:3px;margin:-1.5px}.cursor-dot--large{opacity:1;width:12px;height:12px;margin:-6px}.cursor-dot--large.cursor-dot--cyan{box-shadow:0 0 12px var(--accent), 0 0 22px var(--accent)}.cursor-dot--large.cursor-dot--white{box-shadow:0 0 12px #fff,0 0 22px #fff}.cursor-spark{pointer-events:none;z-index:10000;border-radius:50%;width:3px;height:3px;animation:.6s cubic-bezier(.1,.8,.3,1) forwards cursorSparkFade;position:fixed}@keyframes cursorSparkFade{0%{opacity:1;transform:translate(0,0)scale(1)}to{transform:translate3d(var(--tx), var(--ty), 0) scale(.1);opacity:0}}@media (pointer:coarse),(width<=768px){.custom-cursor-container{display:none!important}}.home-container{background-color:var(--bg-primary);padding-top:var(--navbar-height);box-sizing:border-box;flex-direction:column;display:flex}.hero{min-height:min(75vh - var(--navbar-height), 480px);box-sizing:border-box;justify-content:space-between;align-items:flex-start;gap:4rem;width:100%;max-width:1400px;margin:0 auto;padding:2rem 4rem;display:flex}.hero__content{flex-direction:column;flex:1.2;gap:1.5rem;min-width:300px;margin-top:5rem;display:flex}.hero__title{color:var(--text-primary);letter-spacing:-.02em;justify-content:flex-start;align-items:center;margin:0;font-size:4rem;font-weight:800;line-height:1.1;animation:.8s ease-out forwards impactGlow;display:flex}.hero__title-name{opacity:0;animation:.8s cubic-bezier(.25,1,.5,1) forwards slideFromName;display:inline-block}.hero__title-dotdev{opacity:0;color:var(--accent);animation:.8s cubic-bezier(.25,1,.5,1) forwards slideFromDotDev;display:inline-block}.hero__title-wrapper{flex-direction:column;width:fit-content;display:flex}.hero__title-underline{background:var(--accent);height:3px;box-shadow:0 0 10px var(--accent), 0 0 20px var(--accent-glow);transform-origin:100%;opacity:0;border-radius:4px;margin-top:.6rem;animation:.8s cubic-bezier(.25,1,.5,1) .8s forwards drawUnderlineRightToLeft;transform:scaleX(0)}.hero__subtitle{color:var(--accent);letter-spacing:-.01em;opacity:0;margin:0;font-size:1.8rem;font-weight:600;animation:.6s cubic-bezier(.25,1,.5,1) .6s forwards fadeInUp}.hero__subtitle-white{color:#fff}.hero__description{color:var(--text-muted);opacity:0;max-width:600px;margin:0;font-size:1.1rem;line-height:1.6;animation:.6s cubic-bezier(.25,1,.5,1) .8s forwards fadeInUp}.hero__actions{opacity:0;flex-wrap:wrap;gap:1.5rem;margin-top:1rem;animation:.6s cubic-bezier(.25,1,.5,1) 1s forwards fadeInUp;display:flex}.btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.9rem 2.2rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s;display:inline-flex}.hero__actions .btn{box-sizing:border-box;width:200px;padding:.9rem 1.5rem}.btn--primary{background:var(--accent);color:#000;border:1px solid var(--accent);animation:1.4s cubic-bezier(.25,1,.5,1) 2.8s backwards primaryButtonFlicker;box-shadow:0 0 15px #00f0ff40}.btn--primary:hover{background:#1ae8ff;transform:translateY(-2px);box-shadow:0 0 25px #00f0ff73}.btn--secondary{color:var(--text-primary);background:0 0;border:1px solid #ffffff26}.btn--secondary:hover{background:#ffffff0d;border-color:#ffffff4d;transform:translateY(-2px)}.btn--contact{animation:1.4s cubic-bezier(.25,1,.5,1) 2.8s backwards secondaryButtonFlicker;position:relative}.btn--contact:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 0 25px #ffffff73}.btn__glow-dot{background-color:var(--accent);box-shadow:0 0 8px var(--accent), 0 0 15px var(--accent);pointer-events:none;z-index:10;border-radius:50%;animation-name:borderTravel,scaleUp;animation-duration:4s,.3s;animation-timing-function:linear,cubic-bezier(.25,1,.5,1);animation-iteration-count:infinite,1;animation-fill-mode:none,forwards;position:absolute;transform:scale(0)}.btn--contact .btn__glow-dot--white{background-color:#fff;animation-duration:3.4s,.3s;box-shadow:0 0 8px #fff,0 0 15px #fff}.btn__glow-dot--1{opacity:1;width:6px;height:6px;margin:-3px;animation-delay:2.8s,2.8s}.btn__glow-dot--2{opacity:.8;width:5px;height:5px;margin:-2.5px;animation-delay:2.82s,2.82s}.btn__glow-dot--3{opacity:.6;width:4.5px;height:4.5px;margin:-2.25px;animation-delay:2.84s,2.84s}.btn__glow-dot--4{opacity:.4;width:4px;height:4px;margin:-2px;animation-delay:2.86s,2.86s}.btn__glow-dot--5{opacity:.25;width:3.5px;height:3.5px;margin:-1.75px;animation-delay:2.88s,2.88s}.btn__glow-dot--6{opacity:.12;width:3px;height:3px;margin:-1.5px;animation-delay:2.9s,2.9s}.hero__ide{opacity:0;min-width:420px;max-width:780px;min-height:240px;font-family:var(--font-mono);text-align:left;flex:1.4;margin-top:15rem;animation:.8s cubic-bezier(.25,1,.5,1) .5s forwards fadeInUp;transform:translateY(20px)}.ide__titlebar{-webkit-app-region:drag;background:#081020d9;border-bottom:1px solid #00f0ff1a;align-items:center;height:32px;padding:0 12px;display:flex}.ide__titlebar-dots{gap:7px;margin-right:12px;display:flex}.ide__dot{border-radius:50%;width:12px;height:12px;position:relative}.ide__dot--red{background:#ff5f57}.ide__dot--yellow{background:#febc2e}.ide__dot--green{background:#28c840}.ide__titlebar-name{text-align:center;color:#00f0ff73;letter-spacing:.02em;flex:1;font-size:.72rem}.ide__titlebar-spacer{width:60px}.ide__tabs{border-top:1px solid var(--accent);background:#04091499;border-bottom:1px solid #00f0ff1a;align-items:stretch;height:34px;display:flex;position:relative;box-shadow:inset 0 1px #00f0ff0d,0 0 8px #00f0ff26}.ide__tab{color:#00f0ff73;cursor:pointer;border-right:1px solid #00f0ff26;align-items:center;gap:6px;padding:5px 14px 0;font-size:.75rem;transition:background .15s;display:flex;position:relative}.ide__tab:hover{background:#00f0ff0a}.ide__tab--active{color:#00f0ff;background:#050c18e6;border-bottom:none}.ide__tab-icon{flex-shrink:0}.ide__tab-close{opacity:0;color:#00f0ff66;margin-left:6px;font-size:1rem;line-height:1;transition:opacity .15s}.ide__tab--active .ide__tab-close{opacity:.5}.ide__tab:hover .ide__tab-close{opacity:.7}.ide__body{height:330px;display:flex}.ide__sidebar{background:#060d1ad9;border-right:1px solid #00f0ff1a;flex-direction:column;align-items:center;gap:4px;width:40px;padding-top:8px;display:flex}.ide__sidebar-icon{color:#00f0ff59;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .15s,background .15s;display:flex;position:relative}.ide__sidebar-icon:hover{color:#00f0ffb3}.ide__sidebar-icon--active{color:var(--accent)}.ide__sidebar-icon--active:before{content:"";background:var(--accent);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:0}.ide__editor{flex:1;display:flex;position:relative;overflow:hidden}.ide__code{flex:1;padding:10px 0;overflow:hidden}.ide__line{align-items:flex-start;height:auto;min-height:24px;padding:2px 16px 2px 0;display:flex;position:relative}.ide__line--active{background:#00f0ff0a}.ide__line--active:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 6px var(--accent);position:absolute;top:0;bottom:0;left:0}.ide__line-number{text-align:right;color:#00f0ff2e;-webkit-user-select:none;user-select:none;flex-shrink:0;width:42px;padding-right:16px;font-size:.78rem}.ide__line-number--active{color:#00f0ff99}.ide__line-content{white-space:nowrap;letter-spacing:.02em;font-size:.82rem}.ide__comment{color:#4f7896;font-style:italic}.ide__keyword,.ide__var-name{color:var(--accent)}.ide__punctuation{color:#94a3b8}.ide__key{color:#38bdf8}.ide__colon{color:#38bdf880}.ide__string{color:#bae6fd}.ide__boolean{color:var(--accent)}.ide__value{color:#e2e8f0}.ide__comma{color:#38bdf866}.ide__cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:16px;box-shadow:0 0 4px var(--accent), 0 0 10px var(--accent-glow);margin-left:1px;animation:1s step-end infinite ideBlink;display:inline-block}@keyframes ideBlink{0%,to{opacity:1}50%{opacity:0}}.ide__minimap{opacity:.6;border-left:1px solid #00f0ff1a;flex-direction:column;gap:3px;width:40px;padding:10px 6px;display:flex}.ide__minimap-line{background:#00f0ff1f;border-radius:1px;height:2px}.ide__minimap-line--active{background:var(--accent);opacity:.5;box-shadow:0 0 3px var(--accent)}.ide__statusbar{color:#00f0ffb3;letter-spacing:.02em;background:#060d1af2;border-top:1px solid #00f0ff26;justify-content:space-between;align-items:center;height:24px;padding:0 10px;font-size:.68rem;display:flex}.ide__statusbar-left,.ide__statusbar-right{align-items:center;gap:12px;display:flex}.ide__statusbar-item{white-space:nowrap;align-items:center;gap:4px;display:flex}.ide__statusbar-branch svg{opacity:.9}@keyframes slideFromName{0%{opacity:0;transform:translate(-180px)}65%{opacity:1;transform:translate(10px)}78%{transform:translate(-4px)}90%{transform:translate(1px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromDotDev{0%{opacity:0;transform:translate(180px)}65%{opacity:1;transform:translate(-10px)}78%{transform:translate(4px)}90%{transform:translate(-1px)}to{opacity:1;transform:translate(0)}}@keyframes impactGlow{0%,60%{text-shadow:none;filter:brightness();transform:scale(1)}65%{text-shadow:0 0 25px var(--accent), 0 0 50px var(--accent);filter:brightness(1.6);transform:scale(1.04)}80%{text-shadow:0 0 12px var(--accent-glow), 0 0 25px var(--accent-glow);filter:brightness(1.2);transform:scale(.98)}to{text-shadow:0 0 8px var(--accent-glow);filter:brightness();transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drawUnderlineRightToLeft{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes borderTravel{0%{top:0%;left:0%}37.5%{top:0%;left:100%}50%{top:100%;left:100%}87.5%{top:100%;left:0%}to{top:0%;left:0%}}@keyframes scaleUp{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes primaryButtonFlicker{0%,8%,10%,18%,20%,23%,38%,44%,48%,60%,64%,68%,77%,82%,86.5%{color:var(--text-primary);box-shadow:none;background:0 0;border-color:#ffffff26}9%{color:var(--text-primary);background:#00f0ff33;border-color:#00f0ff66;box-shadow:0 0 8px #00f0ff26}19%,21%{color:#000;border-color:var(--accent);background:#00f0ff99;box-shadow:0 0 12px #00f0ff4d}40%{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}50%,54%,58%{color:#000;border-color:var(--accent);background:#00f0ffbf;box-shadow:0 0 15px #00f0ff66}52%,56%{color:var(--text-primary);background:#00f0ff4d;border-color:#00f0ff80;box-shadow:0 0 10px #00f0ff33}66%,72%,75%,84%,85%{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 0 25px var(--accent-glow)}88%,to{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 0 15px #00f0ff40}}@keyframes secondaryButtonFlicker{0%,8%,10%,18%,20%,23%,38%,44%,48%,60%,64%,68%,77%,82%,86.5%{color:#f3f4f60d;box-shadow:none;background:0 0;border-color:#ffffff05}9%{color:#f3f4f633;border-color:#ffffff26;box-shadow:0 0 5px #ffffff0d}19%,21%{color:#f3f4f680;border-color:#ffffff4d;box-shadow:0 0 10px #ffffff1a}40%{color:#fff;background:#ffffff26;border-color:#fff;box-shadow:0 0 15px #fff3}50%,54%,58%{color:#f3f4f6cc;border-color:#fff6;box-shadow:0 0 8px #ffffff26}52%,56%{color:#f3f4f633;box-shadow:none;border-color:#ffffff1a}66%,72%,75%,84%,85%{color:#fff;border-color:#fff;box-shadow:0 0 20px #ffffff4d}88%,to{color:var(--text-primary);box-shadow:none;background:0 0;border-color:#ffffff26}}@media (width<=900px){.hero{text-align:center;flex-direction:column;align-items:center;gap:2.5rem;padding:2rem 1.5rem}.hero__content{align-items:center;margin-top:0}.hero__title{justify-content:center;font-size:2.8rem}.hero__subtitle{font-size:1.4rem}.hero__description{max-width:100%}.hero__actions{justify-content:center;width:100%}.hero__ide{min-width:unset;width:90%;max-width:460px;margin:2rem auto 0}.ide__body{height:auto;min-height:250px}.ide__sidebar{display:none}.ide__titlebar-name{font-size:.65rem}.ide__titlebar-spacer{width:20px}.ide__line-content{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;font-size:.68rem}.ide__line-number{width:32px;padding-right:10px;font-size:.68rem}.ide__minimap,.ide__statusbar-right{display:none}.tech-marquee__track--left{animation:30s linear 2.8s infinite scrollMarqueeResponsive}.tech-marquee__track--right{animation:30s linear 2.8s infinite scrollMarqueeResponsiveRight}}@media (width<=500px){.tech-marquee__track--left{animation:45s linear 2.8s infinite scrollMarqueeResponsive}.tech-marquee__track--right{animation:45s linear 2.8s infinite scrollMarqueeResponsiveRight}}.tech-marquee{box-sizing:border-box;background:#0a0a0a66;width:100%;margin-top:.5rem;margin-bottom:2rem;padding:.75rem 0;overflow:hidden}.tech-marquee__container{-webkit-user-select:none;user-select:none;width:100%;display:flex;overflow:hidden}.tech-marquee__track{gap:1.2rem;width:max-content;display:flex;transform:translate(calc(50vw - 50% - .6rem))}.tech-marquee__track--left{animation:30s 2.8s infinite scrollMarquee}.tech-marquee__track--right{animation:30s 2.8s infinite scrollMarqueeRight}.tech-marquee__item{color:var(--text-primary);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem 1.1rem;font-size:.9rem;font-weight:600;transition:border-color .3s,background .3s,transform .3s;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards skillItemFluorescentFlicker;display:inline-flex}.tech-marquee__img{object-fit:contain;filter:drop-shadow(0 0 4px #00f0ff33);width:20px;height:20px}.tech-marquee__name{font-family:var(--font-primary);letter-spacing:.02em}@keyframes scrollMarquee{0%{animation-timing-function:ease-out;transform:translate(calc(50vw - 50% - .6rem))}25%{animation-timing-function:ease-in-out;transform:translate(0)}75%{animation-timing-function:ease-in;transform:translate(calc(100vw - 100% - 1.2rem))}to{transform:translate(calc(50vw - 50% - .6rem))}}@keyframes scrollMarqueeRight{0%{animation-timing-function:ease-out;transform:translate(calc(50vw - 50% - .6rem))}25%{animation-timing-function:ease-in-out;transform:translate(calc(100vw - 100% - 1.2rem))}75%{animation-timing-function:ease-in;transform:translate(0)}to{transform:translate(calc(50vw - 50% - .6rem))}}@keyframes scrollMarqueeResponsive{0%{transform:translate(calc(50vw - 50% - .6rem))}25%{transform:translate(0)}75%{transform:translate(calc(100vw - 100% - 1.2rem))}to{transform:translate(calc(50vw - 50% - .6rem))}}@keyframes scrollMarqueeResponsiveRight{0%{transform:translate(calc(50vw - 50% - .6rem))}25%{transform:translate(calc(100vw - 100% - 1.2rem))}75%{transform:translate(0)}to{transform:translate(calc(50vw - 50% - .6rem))}}@keyframes skillItemFluorescentFlicker{0%{box-shadow:none;border-color:#ffffff14}3%{border-color:var(--accent);box-shadow:0 0 10px #00f0ff26}6%{box-shadow:none;border-color:#ffffff14}9%{border-color:var(--accent);box-shadow:0 0 12px #00f0ff33}12%{box-shadow:none;border-color:#ffffff14}15%{border-color:var(--accent);box-shadow:0 0 8px #00f0ff1a}18%{box-shadow:none;border-color:#ffffff14}21%{border-color:var(--accent);box-shadow:0 0 15px #00f0ff33}24%{box-shadow:none;border-color:#ffffff14}28%{border-color:var(--accent);box-shadow:0 0 10px #00f0ff26}to{border-color:var(--accent);box-shadow:0 0 10px #00f0ff26}}.footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-sizing:border-box;background:#0a0a0ccc;border-top:1px solid #00f0ff0d;margin-top:6rem;padding:3rem 4rem;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards footerFluorescentFlicker}.footer__container{justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;margin:0 auto;display:flex}.footer__left{flex-direction:column;gap:.5rem;display:flex}.footer__logo{color:var(--text-primary);letter-spacing:-.01em;font-size:1.4rem;font-weight:800}.footer__logo-dot{color:var(--accent)}.footer__copy{color:var(--text-muted);margin:0;font-size:.88rem}.footer__socials-wrapper{box-sizing:border-box;background:#ffffff03;border:1px solid #ffffff14;border-radius:50px;padding:.4rem .65rem;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards socialsWrapperFluorescentFlicker;position:relative}.footer__socials-wrapper .btn__glow-dot{offset-path:xywh(0 0 100% 100% round 50px);offset-anchor:center;animation-name:borderTravelRound,scaleUp;animation-duration:4s,.3s;animation-timing-function:linear,cubic-bezier(.25,1,.5,1);animation-iteration-count:infinite,1;animation-fill-mode:none,forwards;position:absolute;top:0;left:0}.footer__socials-wrapper .btn__glow-dot--1{animation-delay:2.8s,2.8s}.footer__socials-wrapper .btn__glow-dot--2{animation-delay:2.82s,2.82s}.footer__socials-wrapper .btn__glow-dot--3{animation-delay:2.84s,2.84s}.footer__socials-wrapper .btn__glow-dot--4{animation-delay:2.86s,2.86s}.footer__socials-wrapper .btn__glow-dot--5{animation-delay:2.88s,2.88s}.footer__socials-wrapper .btn__glow-dot--6{animation-delay:2.9s,2.9s}.footer__socials-wrapper .btn__glow-dot--white{background-color:#fff;animation-duration:3.4s,.3s;box-shadow:0 0 8px #fff,0 0 15px #fff}.footer__right{z-index:5;align-items:center;gap:1.25rem;display:flex;position:relative}.footer__social-link{opacity:.15;background:#ffffff05;border:1px solid #ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards socialLinkFluorescentFlicker;display:flex}.footer__social-icon{object-fit:contain;opacity:.2;width:20px;height:20px;transition:opacity .3s,filter .3s;animation:1.4s cubic-bezier(.25,1,.5,1) 1.4s forwards socialIconFluorescentFlicker}.footer__right a:first-child .footer__social-link,.footer__right a:first-child .footer__social-icon{animation-delay:1.4s}.footer__right a:nth-child(2) .footer__social-link,.footer__right a:nth-child(2) .footer__social-icon{animation-delay:1.48s}.footer__right a:nth-child(3) .footer__social-link,.footer__right a:nth-child(3) .footer__social-icon{animation-delay:1.56s}.footer__right a:nth-child(4) .footer__social-link,.footer__right a:nth-child(4) .footer__social-icon{animation-delay:1.64s}.footer__right a:nth-child(5) .footer__social-link,.footer__right a:nth-child(5) .footer__social-icon{animation-delay:1.72s}.footer__social-link:hover{border-color:var(--accent);background:#00f0ff26;transform:translateY(-2px);box-shadow:0 0 22px #00f0ff59}.footer__social-link:hover .footer__social-icon{opacity:1;filter:drop-shadow(0 0 8px var(--accent-glow))}@media (width<=768px){.footer{padding:2.5rem 1.5rem}.footer__container{text-align:center;flex-direction:column;gap:1.5rem}.footer__right{justify-content:center}}@keyframes borderTravelRound{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes footerFluorescentFlicker{0%{box-shadow:none;border-top-color:#00f0ff0d}3%{border-top-color:var(--accent);box-shadow:0 -10px 40px #00f0ff26}6%{box-shadow:none;border-top-color:#00f0ff0d}9%{border-top-color:var(--accent);box-shadow:0 -10px 45px #00f0ff33}12%{box-shadow:none;border-top-color:#00f0ff0d}15%{border-top-color:var(--accent);box-shadow:0 -10px 30px #00f0ff1a}18%{box-shadow:none;border-top-color:#00f0ff0d}21%{border-top-color:var(--accent);box-shadow:0 -10px 50px #00f0ff33}24%{box-shadow:none;border-top-color:#00f0ff0d}28%{border-top-color:var(--accent);box-shadow:0 -10px 40px #00f0ff0d}to{border-top-color:var(--accent);box-shadow:0 -10px 40px #00f0ff0d}}.footer__spark{pointer-events:none;z-index:15;border-radius:50%;width:4px;height:4px;animation:.6s cubic-bezier(.1,.8,.3,1) forwards sparkFade;position:absolute}@keyframes sparkFade{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.1);opacity:0}}@keyframes socialLinkFluorescentFlicker{0%{opacity:.15;background:#ffffff05;border-color:#ffffff0f}3%{border-color:var(--accent);opacity:1;background:#00f0ff14;box-shadow:0 0 10px #00f0ff26}6%{box-shadow:none;opacity:.25;background:#ffffff05;border-color:#ffffff0f}9%{border-color:var(--accent);opacity:1;background:#00f0ff14;box-shadow:0 0 12px #00f0ff40}12%{box-shadow:none;opacity:.3;background:#ffffff05;border-color:#ffffff0f}15%{border-color:var(--accent);opacity:.8;background:#00f0ff14;box-shadow:0 0 8px #00f0ff1f}18%{box-shadow:none;opacity:.35;background:#ffffff05;border-color:#ffffff0f}21%{border-color:var(--accent);opacity:1;background:#00f0ff14;box-shadow:0 0 15px #00f0ff40}24%{box-shadow:none;opacity:.5;background:#ffffff05;border-color:#ffffff0f}28%{opacity:1;background:#00f0ff0a;border-color:#00f0ff73;box-shadow:0 0 10px #00f0ff26}to{opacity:1;background:#00f0ff0a;border-color:#00f0ff73;box-shadow:0 0 10px #00f0ff26}}@keyframes socialIconFluorescentFlicker{0%{opacity:.2;filter:none}3%{opacity:1;filter:drop-shadow(0 0 4px var(--accent-glow))}6%{opacity:.25;filter:none}9%{opacity:1;filter:drop-shadow(0 0 6px var(--accent-glow))}12%{opacity:.3;filter:none}15%{opacity:.8;filter:drop-shadow(0 0 3px var(--accent-glow))}18%{opacity:.35;filter:none}21%{opacity:1;filter:drop-shadow(0 0 8px var(--accent-glow))}24%{opacity:.4;filter:none}28%{opacity:.85;filter:drop-shadow(0 0 4px var(--accent-glow))}to{opacity:.85;filter:drop-shadow(0 0 4px var(--accent-glow))}}@keyframes socialsWrapperFluorescentFlicker{0%{box-shadow:none;border-color:#ffffff14}3%{border-color:var(--accent);box-shadow:0 0 15px #00f0ff33,inset 0 0 10px #00f0ff1a}6%{box-shadow:none;border-color:#ffffff14}9%{border-color:var(--accent);box-shadow:0 0 18px #00f0ff40,inset 0 0 12px #00f0ff26}12%{box-shadow:none;border-color:#ffffff14}15%{border-color:var(--accent);box-shadow:0 0 12px #00f0ff26,inset 0 0 8px #00f0ff1a}18%{box-shadow:none;border-color:#ffffff14}21%{border-color:var(--accent);box-shadow:0 0 20px #00f0ff4d,inset 0 0 15px #00f0ff33}24%{box-shadow:none;border-color:#ffffff14}28%{border-color:var(--accent);box-shadow:0 0 15px #00f0ff40,inset 0 0 8px #00f0ff1a}to{border-color:var(--accent);box-shadow:0 0 15px #00f0ff40,inset 0 0 8px #00f0ff1a}}.projects{box-sizing:border-box;width:100%;max-width:min(95%,1800px);margin:0 auto;padding:6rem 4rem;overflow-x:hidden}.projects__header{text-align:center;margin-bottom:3rem}.projects__title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:2.8rem;font-weight:800}.projects__title-accent{color:var(--accent)}.projects__subtitle{color:var(--text-muted);margin:0;font-size:1.1rem;font-weight:400}@media (width<=900px){.projects{padding:3rem 1.5rem}.projects__title{font-size:2rem}}
