:root{--bg:#0c0c14;--bg-elevated:#13131e;--bg-surface:#ffffff06;--bg-surface-hover:#ffffff0d;--bg-input:#ffffff08;--text:#e2e2ec;--text-secondary:#8787a0;--text-tertiary:#55556a;--text-muted:#3a3a50;--border:#ffffff12;--border-subtle:#ffffff0a;--glass-bg:#ffffff06;--glass-border:#ffffff12;--glass-hover-border:#ff005e40;--navbar-bg:#0c0c14d1;--card-shadow:none;--card-glow:#ff005e0f;--tag-bg:#ffffff0d;--tag-text:#8787a0;--section-alt:#ffffff04;--timeline-line:#ff005e26;--timeline-bg:#0c0c14;--contribution-empty:#ffffff0a;--select-bg:#13131e;--success-bg:#22c55e1a;--success-border:#22c55e33;--success-text:#4ade80;--scrollbar-thumb:#ff005e40;--scrollbar-track:transparent;--particle-color:#ff005e4d;--particle-line:#ff005e0f;--radar-grid:#ffffff0d;--radar-label:#fff6;--radar-dot-border:#0c0c14}.light{--bg:#f4f1eb;--bg-elevated:#fff;--bg-surface:#ffffffb3;--bg-surface-hover:#1e1e320a;--bg-input:#1e1e320a;--text:#1a1a2e;--text-secondary:#4e4e68;--text-tertiary:#7c7c96;--text-muted:#a8a8be;--border:#1e1e321a;--border-subtle:#1e1e320f;--glass-bg:#ffffffa6;--glass-border:#1e1e3217;--glass-hover-border:#ff005e33;--navbar-bg:#f4f1ebd9;--card-shadow:0 1px 3px #1e1e320d, 0 6px 16px #1e1e320a;--card-glow:#ff005e0d;--tag-bg:#1e1e320d;--tag-text:#4e4e68;--section-alt:#1e1e3206;--timeline-line:#ff005e33;--timeline-bg:#f4f1eb;--contribution-empty:#1e1e320f;--select-bg:#fff;--success-bg:#16a34a14;--success-border:#16a34a2e;--success-text:#16a34a;--scrollbar-thumb:#ff005e33;--scrollbar-track:transparent;--particle-color:#ff005e26;--particle-line:#ff005e0a;--radar-grid:#1e1e320f;--radar-label:#1e1e3273;--radar-dot-border:#fff}html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:background-color .55s cubic-bezier(.4,0,.2,1),color .55s cubic-bezier(.4,0,.2,1),border-color .55s cubic-bezier(.4,0,.2,1),box-shadow .55s cubic-bezier(.4,0,.2,1),fill .55s cubic-bezier(.4,0,.2,1),stroke .55s cubic-bezier(.4,0,.2,1)!important}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ff005e66}.font-display{font-family:Syne,sans-serif}.gradient-text{background:linear-gradient(135deg,#ff005e,#7c3aed,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--card-shadow)}.glass:hover{border-color:var(--glass-hover-border)}.card-glow:hover{box-shadow:0 0 40px var(--card-glow), var(--card-shadow)}.tag{background:var(--tag-bg);color:var(--tag-text);border-radius:6px;padding:3px 8px;font-size:10px}.section-alt{background-color:var(--section-alt)}#particles-canvas{z-index:0;position:absolute;inset:0}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}@keyframes float-reverse{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(20px)rotate(-5deg)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-float{animation:6s ease-in-out infinite float}.animate-float-reverse{animation:7s ease-in-out infinite float-reverse}.animate-float-slow{animation:10s ease-in-out infinite float-slow}.animate-scroll{animation:40s linear infinite scroll-left}.animate-scroll:hover{animation-play-state:paused}.reveal{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translate(-60px)}.reveal-left.active{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:scale(.85)}.reveal-scale.active{opacity:1;transform:scale(1)}.skill-bar-track{background:var(--tag-bg)}.skill-bar-fill{width:0;transition:width 1.5s cubic-bezier(.16,1,.3,1)}.skill-bar-fill.active{width:var(--w)}.expertise-card{transition:all .5s cubic-bezier(.16,1,.3,1)}.expertise-card:hover{transform:translateY(-8px)}.project-card{transition:all .5s cubic-bezier(.16,1,.3,1)}.project-card:hover{transform:translateY(-6px)}.project-card:hover .project-img{transform:scale(1.05)}.project-img{transition:transform .7s cubic-bezier(.16,1,.3,1)}.tech-tag{border:1px solid var(--border-subtle);transition:all .3s}.tech-tag:hover{color:#ff005e!important;background:#ff005e1a!important;border-color:#ff005e4d!important}.timeline-line{background:var(--timeline-line);width:2px;position:absolute;top:0;bottom:0;left:-1px}.timeline-dot{padding-left:32px;position:relative}.timeline-dot:before{content:"";border:3px solid var(--timeline-bg);z-index:2;background:#ff005e;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-7px}.nav-link{color:var(--text-secondary);position:relative}.nav-link:after{content:"";background:#ff005e;width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:hover:after,.nav-link.active:after{width:100%}.modal-overlay{opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{transition:transform .4s cubic-bezier(.16,1,.3,1);transform:scale(.9)translateY(20px)}.modal-overlay.active .modal-content{transform:scale(1)translateY(0)}.modal-close-btn{color:#fff;-webkit-backdrop-filter:blur(14px);background:#0c0c1494;border:1px solid #ffffff38;transition:transform .25s,background-color .25s,border-color .25s;box-shadow:0 12px 30px #00000047}.modal-close-btn:hover{background:#ff005e;border-color:#ff005e;transform:scale(1.06)}.project-modal-hero{background:var(--bg-surface)}.project-modal-img{filter:saturate(1.08)contrast(1.02)}.project-modal-image-overlay{background:linear-gradient(#0c0c140d 0%,#0c0c1447 45%,#0c0c14db 100%);position:absolute;inset:0}.project-modal-badge{color:#fff;-webkit-backdrop-filter:blur(10px);background:#ff005ed1;border:1px solid #ffffff2e;box-shadow:0 10px 25px #ff005e38}.project-modal-stat{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:999px;padding:8px 12px}.project-modal-primary-btn{color:#fff;background:linear-gradient(135deg,#ff005e,#7c3aed);transition:transform .25s,box-shadow .25s;box-shadow:0 14px 35px #ff005e3d}.project-modal-primary-btn:hover{transform:translateY(-2px);box-shadow:0 18px 45px #7c3aed4d}.project-modal-secondary-btn{color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);transition:transform .25s,background-color .25s,border-color .25s}.project-modal-secondary-btn:hover{background:var(--bg-surface-hover);border-color:var(--glass-hover-border);transform:translateY(-2px)}.toast{transition:transform .5s cubic-bezier(.16,1,.3,1);transform:translate(120%)}.toast.show{transform:translate(0)}.contribution-cell{border-radius:2px;width:12px;height:12px;transition:transform .2s}.contribution-cell:hover{z-index:10;transform:scale(1.8)}.floating-btn{transition:all .3s cubic-bezier(.16,1,.3,1)}.floating-btn:hover{transform:scale(1.15)}.form-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);transition:border-color .3s,box-shadow .3s}.form-input::placeholder{color:var(--text-tertiary)}.form-input:focus{outline:none;box-shadow:0 0 0 3px #ff005e1a;border-color:#ff005e!important}.theme-toggle-track{background:var(--tag-bg);border:1px solid var(--border);cursor:pointer;border-radius:14px;width:52px;height:28px;transition:background .4s;position:relative}.light .theme-toggle-track{background:#ffb43233;border-color:#ffb4324d}.theme-toggle-thumb{background:var(--bg-elevated);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .4s cubic-bezier(.68,-.55,.27,1.55),background .4s;display:flex;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0003}.light .theme-toggle-thumb{background:#fff8e1;transform:translate(24px)}.theme-toggle-thumb svg{width:14px;height:14px;transition:opacity .3s,transform .4s}.dark .theme-icon-sun{opacity:0;transform:rotate(-90deg)scale(0)}.dark .theme-icon-moon,.light .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}.light .theme-icon-moon{opacity:0;transform:rotate(90deg)scale(0)}.status-badge{background:var(--tag-bg);border:1px solid var(--border-subtle)}.solution-card{transition:all .4s cubic-bezier(.16,1,.3,1)}.solution-card:hover{transform:translate(4px)}@media (width<=768px){.timeline-dot{padding-left:28px}.timeline-dot:before{width:12px;height:12px;left:-7px}}
