.cursor-trail-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.cursor-gradient-circle{position:fixed;width:80px;height:80px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);filter:blur(40px);opacity:.4}.cursor-gradient-circle[data-color="0"]{background:radial-gradient(circle,rgba(139,92,246,.4) 0%,rgba(56,189,248,.2) 40%,transparent 70%)}.cursor-gradient-circle[data-color="1"]{background:radial-gradient(circle,rgba(236,72,153,.3) 0%,rgba(139,92,246,.15) 40%,transparent 70%)}.cursor-gradient-circle[data-color="2"]{background:radial-gradient(circle,rgba(56,189,248,.35) 0%,rgba(236,72,153,.2) 40%,transparent 70%)}.cursor-gradient-circle.fade-out{animation:trail-fade .5s ease-out forwards}@keyframes trail-fade{0%{opacity:.4;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}@keyframes click-burst{0%{opacity:.6;transform:translate(-50%,-50%) translate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(calc(cos(var(--angle)) * var(--distance)),calc(sin(var(--angle)) * var(--distance))) scale(.2)}}.click-burst-particle{position:fixed;width:100px;height:100px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);filter:blur(40px);animation:click-burst .6s ease-out forwards}.click-burst-particle[data-color="0"]{background:radial-gradient(circle,rgba(139,92,246,.7) 0%,rgba(56,189,248,.4) 40%,transparent 70%)}.click-burst-particle[data-color="1"]{background:radial-gradient(circle,rgba(236,72,153,.6) 0%,rgba(139,92,246,.3) 40%,transparent 70%)}.click-burst-particle[data-color="2"]{background:radial-gradient(circle,rgba(56,189,248,.65) 0%,rgba(236,72,153,.4) 40%,transparent 70%)}.click-burst-particle[data-color="3"]{background:radial-gradient(circle,rgba(168,85,247,.65) 0%,rgba(59,130,246,.35) 40%,transparent 70%)}.click-burst-particle[data-color="4"]{background:radial-gradient(circle,rgba(34,197,94,.4) 0%,rgba(139,92,246,.3) 40%,transparent 70%)}.click-burst-particle[data-color="5"]{background:radial-gradient(circle,rgba(236,72,153,.7) 0%,rgba(56,189,248,.35) 40%,transparent 70%)}@media (prefers-reduced-motion: reduce){.cursor-trail-container{display:none}}.buildup-circle{position:fixed;width:60px;height:60px;border-radius:50%;pointer-events:none;z-index:999;transform:translate(-50%,-50%) scale(.2);opacity:0;background:radial-gradient(circle,rgba(139,92,246,.8) 0%,rgba(56,189,248,.5) 40%,transparent 70%);filter:blur(20px);box-shadow:0 0 40px #8b5cf699,0 0 80px #38bdf84d;transition:background .3s ease}.buildup-circle.active{opacity:.7}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#050509;color:#e0e0e0;font-family:Geist,Segoe UI,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}.spotlight-container{position:relative;min-height:100vh;overflow:hidden;isolation:isolate}.spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.spotlight-content{position:relative;z-index:1}.spotlight{position:absolute;width:65vw;height:65vw;min-width:500px;min-height:500px;border-radius:50%;filter:blur(100px);opacity:.35;will-change:transform}.spotlight-left{top:-35%;left:-25%;background:radial-gradient(circle,rgba(56,189,248,.8) 0%,rgba(59,130,246,.35) 40%,transparent 70%);animation:move-left-spotlight 12s ease-in-out infinite}.spotlight-mid{top:5%;left:25%;background:radial-gradient(circle,rgba(139,92,246,.7) 0%,rgba(99,102,241,.3) 40%,transparent 70%);animation:move-mid-spotlight 15s ease-in-out 3s infinite}.spotlight-right{top:-15%;right:-30%;background:radial-gradient(circle,rgba(236,72,153,.55) 0%,rgba(139,92,246,.25) 40%,transparent 70%);animation:move-right-spotlight 18s ease-in-out 5s infinite}@keyframes move-left-spotlight{0%,to{transform:translate(-50%,-50%) rotate(0)}33%{transform:translate(-30%,-70%) rotate(15deg)}66%{transform:translate(-70%,-30%) rotate(-15deg)}}@keyframes move-mid-spotlight{0%,to{transform:translate(0) rotate(-20deg)}33%{transform:translate(20%,30%) rotate(0)}66%{transform:translate(-20%,10%) rotate(20deg)}}@keyframes move-right-spotlight{0%,to{transform:translate(0) rotate(10deg)}33%{transform:translate(-30%,-20%) rotate(-10deg)}66%{transform:translate(10%,20%) rotate(25deg)}}@media (prefers-reduced-motion: reduce){.spotlight{animation:none}}#app{max-width:600px;min-height:100vh;margin:0 auto;padding:60px 32px;display:flex;flex-direction:column;justify-content:center}.header{margin-bottom:40px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.header:hover{transform:scale(1.01)}.name{font-size:32px;font-weight:600;margin-bottom:6px;color:#fff;transition:color .25s ease,transform .25s ease}.header:hover .name{color:#a78bfa;transform:translateY(-1px)}.subtitle{font-size:14px;color:#888;transition:color .3s cubic-bezier(.4,0,.2,1)}.header:hover .subtitle{color:#a0a0a0}.section{margin-bottom:32px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-title{font-size:13px;font-weight:500;color:#666;text-transform:lowercase;margin-bottom:14px;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1)}.work-section:hover .section-title{color:#38bdf880;letter-spacing:1.1px;text-shadow:0 0 4px rgba(56,189,248,.015);transition:color .25s ease,letter-spacing .25s ease,text-shadow .25s ease}.projects-section:hover .section-title{color:#ec489980;letter-spacing:1.1px;text-shadow:0 0 4px rgba(236,72,153,.015);transition:color .25s ease,letter-spacing .25s ease,text-shadow .25s ease}.work-item{margin-bottom:18px;padding:6px;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:block;text-decoration:none;color:inherit}.work-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#38bdf803,#8b5cf603);border-radius:10px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.work-item:hover{background:#1e1e281f;box-shadow:0 0 12px #8b5cf608,inset 0 0 12px #38bdf803}.work-item:hover:before{opacity:1}.job-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px;position:relative;z-index:1}.job-logo{width:20px;height:20px;flex-shrink:0;object-fit:contain;border-radius:4px;background-color:#fff;padding:2px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.work-item:hover .job-logo{transform:scale(1.15) rotate(5deg)}.job-title{font-size:16px;font-weight:600;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.work-item:hover .job-title{color:#38bdf8;transform:scale(1.03);text-shadow:0 0 6px rgba(56,189,248,.06)}.job-year{font-size:13px;color:#888;margin-left:auto;font-variant-numeric:tabular-nums;transition:color .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.work-item:hover .job-year{color:#a0a0a0}.job-details{font-size:14px;color:#b0b0b0;padding-left:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.work-item:hover .job-details{color:#d0d0d0}.project-item{margin-bottom:14px;padding:6px;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:block;text-decoration:none;color:inherit}.project-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ec489903,#8b5cf603);border-radius:10px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.project-item:hover{background:#1e14231f;box-shadow:0 0 12px #ec489908,inset 0 0 12px #8b5cf603}.project-item:hover:before{opacity:1}.project-link{font-size:16px;font-weight:600;color:#fff;text-decoration:none;display:inline-block;margin-bottom:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.project-item:hover .project-link{color:#ec4899;transform:scale(1.03);text-shadow:0 0 6px rgba(236,72,153,.06)}.project-description{font-size:14px;color:#888;transition:color .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.project-item:hover .project-description{color:#a0a0a0}.footer{display:flex;justify-content:center;gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid #222222}.link{font-size:14px;color:#888;text-decoration:none;transition:color .25s ease,transform .25s ease;position:relative;display:inline-block;transform-origin:center;padding:14px 16px;margin:-14px -16px}.link:hover{color:#fff;transform:scale(1.03);text-shadow:0 0 4px rgba(139,92,246,.04)}@media (max-width: 480px){#app{padding:28px 20px}.header{margin-bottom:32px}.name{font-size:24px}.section{margin-bottom:28px}.job-details{padding-left:0}.footer{gap:16px}}
