*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh}#root{min-height:100vh}::selection{background:#2563eb;color:#fff}[data-theme=dark] ::selection{background:#d4af37;color:#0a0a0a}:root{--bg-primary: #f7f4ef;--bg-secondary: #ffffff;--bg-tertiary: #ebe4d8;--text-primary: #1a1816;--text-secondary: #3d3832;--text-muted: #5c564d;--accent: #2f3627;--accent-hover: #7a5c3a;--border: #d4cdc2}[data-theme=dark]{--bg-primary: #09090b;--bg-secondary: #18181b;--bg-tertiary: #27272a;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent: #d4af37;--accent-hover: #eab308;--border: #27272a}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);transition:background-color .2s ease,color .2s ease}.hamburger{display:block;width:20px;height:2px;background:var(--text-primary);position:relative;transition:background .2s ease}.hamburger:before,.hamburger:after{content:"";position:absolute;width:20px;height:2px;background:var(--text-primary);left:0;transition:transform .2s ease}.hamburger:before{top:-6px}.hamburger:after{bottom:-6px}.hamburger.open{background:transparent}.hamburger.open:before{transform:rotate(45deg) translate(4px,5px)}.hamburger.open:after{transform:rotate(-45deg) translate(4px,-5px)}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.skill-progress{transition:width .6s cubic-bezier(.4,0,.2,1)}.developer-animation{display:none;align-items:center;justify-content:flex-start;flex-shrink:0;padding:0;position:relative;margin:0 0 0 -180px}@media(min-width:640px){.developer-animation{display:flex}}.developer{position:relative;width:280px;height:340px;animation:developerFloat 3s ease-in-out infinite}.developer__head{position:absolute;top:0;left:50%;transform:translate(-50%);width:80px;height:80px;background:linear-gradient(145deg,#f5d0a9,#e8b88a);border-radius:50%;box-shadow:inset -4px -4px 8px #0000001a,4px 4px 12px #0003}.developer__eye{position:absolute;width:10px;height:10px;background:#2d3748;border-radius:50%;top:28px;animation:eyeBlink 4s ease-in-out infinite}.developer__eye--left{left:20px}.developer__eye--right{right:20px}.developer__glasses{position:absolute;top:22px;left:50%;transform:translate(-50%);width:50px;height:20px;border:3px solid #4a5568;border-radius:4px;background:#ffffff1a}.developer__glasses:before,.developer__glasses:after{content:"";position:absolute;top:5px;width:18px;height:12px;border:2px solid #4a5568;border-radius:3px;background:#c8e6ff4d}.developer__glasses:before{left:2px}.developer__glasses:after{right:2px}.developer__smile{position:absolute;bottom:18px;left:50%;transform:translate(-50%);width:20px;height:8px;border:3px solid #c97c5d;border-top:none;border-radius:0 0 20px 20px}.developer__body{position:absolute;top:85px;left:50%;transform:translate(-50%);width:70px;height:90px;background:linear-gradient(145deg,#4299e1,#3182ce);border-radius:20px 20px 10px 10px;box-shadow:inset -3px -3px 6px #00000026,3px 3px 10px #0003}.developer__tie{position:absolute;top:5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:45px solid #e53e3e}.developer__tie:after{content:"";position:absolute;top:-45px;left:-5px;width:10px;height:10px;background:#e53e3e;border-radius:2px}.developer__arm{position:absolute;top:100px;width:22px;height:70px;background:linear-gradient(145deg,#4299e1,#3182ce);border-radius:11px;transform-origin:top center;box-shadow:2px 2px 6px #00000026}.developer__arm--left{left:60px;transform:rotate(45deg);animation:typeLeft .5s ease-in-out infinite}.developer__arm--right{right:60px;transform:rotate(-45deg);animation:typeRight .5s ease-in-out infinite .25s}.developer__laptop{position:absolute;top:160px;left:50%;transform:translate(-50%);width:120px;height:80px}.developer__screen{position:absolute;top:0;left:50%;transform:translate(-50%) perspective(200px) rotateX(-5deg);width:100px;height:65px;background:linear-gradient(145deg,#1a202c,#2d3748);border-radius:6px 6px 0 0;border:3px solid #4a5568;overflow:hidden;box-shadow:inset 0 0 20px #00ff881a,0 5px 15px #0000004d}.developer__code{position:absolute;left:8px;height:4px;border-radius:2px}.developer__code--1{top:10px;width:50px;background:#68d391;animation:codeType1 2s ease-in-out infinite}.developer__code--2{top:22px;width:35px;background:#63b3ed;animation:codeType2 2s ease-in-out infinite .3s}.developer__code--3{top:34px;width:55px;background:#f6ad55;animation:codeType3 2s ease-in-out infinite .6s}.developer__keyboard{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:110px;height:12px;background:linear-gradient(145deg,#a0aec0,#718096);border-radius:0 0 4px 4px;box-shadow:0 3px 8px #0003}.developer__legs{position:absolute;top:175px;left:50%;transform:translate(-50%);width:80px;height:120px}.developer__leg{position:absolute;top:65px;width:26px;height:80px;background:linear-gradient(145deg,#2d3748,#1a202c);border-radius:8px;box-shadow:2px 2px 6px #0003}.developer__leg--left{left:10px;transform:rotate(5deg)}.developer__leg--right{right:10px;transform:rotate(-5deg)}.developer__shadow{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:120px;height:20px;background:radial-gradient(ellipse,rgba(0,0,0,.3) 0%,transparent 70%);animation:shadowPulse 3s ease-in-out infinite}.floating-icons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.floating-icon{position:absolute;padding:8px 12px;border-radius:8px;font-weight:700;font-size:.75rem;font-family:Courier New,monospace;box-shadow:0 4px 12px #0003}.floating-icon--react{top:20px;right:-20px;background:linear-gradient(145deg,#61dafb,#4fc3f7);color:#1a202c;animation:floatIcon 4s ease-in-out infinite}.floating-icon--js{top:120px;left:-30px;background:linear-gradient(145deg,#f7df1e,#f0d000);color:#1a202c;animation:floatIcon 4s ease-in-out infinite 1s}.floating-icon--git{bottom:80px;right:-10px;background:linear-gradient(145deg,#f05032,#e04020);color:#fff;animation:floatIcon 4s ease-in-out infinite 2s}@keyframes developerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes eyeBlink{0%,42%,48%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}@keyframes typeLeft{0%,to{transform:rotate(45deg)}50%{transform:rotate(50deg)}}@keyframes typeRight{0%,to{transform:rotate(-45deg)}50%{transform:rotate(-50deg)}}@keyframes codeType1{0%,to{width:0}50%{width:50px}}@keyframes codeType2{0%,to{width:0}50%{width:35px}}@keyframes codeType3{0%,to{width:0}50%{width:55px}}@keyframes shadowPulse{0%,to{transform:translate(-50%) scale(1);opacity:.3}50%{transform:translate(-50%) scale(.9);opacity:.2}}@keyframes floatIcon{0%,to{transform:translateY(0) rotate(0);opacity:.9}50%{transform:translateY(-15px) rotate(5deg);opacity:1}}@media(min-width:1024px){.developer{width:320px;height:400px}.developer__head{width:95px;height:95px}.developer__eye{width:12px;height:12px;top:32px}.developer__eye--left{left:24px}.developer__eye--right{right:24px}.developer__glasses{width:58px;height:24px;top:26px}.developer__glasses:before,.developer__glasses:after{width:22px;height:14px}.developer__body{top:100px;width:82px;height:105px}.developer__arm{top:115px;width:26px;height:80px}.developer__arm--left{left:70px}.developer__arm--right{right:70px}.developer__laptop{top:190px;width:140px;height:95px}.developer__screen{width:120px;height:78px}.developer__keyboard{width:130px;height:14px}.developer__legs{top:205px;width:95px;height:140px}.developer__leg{top:75px;width:30px;height:95px}.floating-icon{padding:10px 14px;font-size:.85rem}}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.85}}.animate-pulse-badge{animation:pulse-badge 1.5s ease-in-out infinite}.education-item{transition:transform .2s ease,background-color .2s ease;cursor:pointer;border-radius:6px;padding:8px 10px;margin:0 -10px;position:relative}.education-item:hover{transform:translateY(-4px);background-color:var(--bg-tertiary);z-index:10}.cert-item{transition:transform .2s ease,background-color .2s ease;cursor:pointer;border-radius:6px;padding:8px 10px;margin:0 -10px;position:relative}.cert-item:hover{transform:translateY(-4px);background-color:var(--bg-tertiary);z-index:10}.achievement-item{transition:transform .2s ease,background-color .2s ease;cursor:pointer;border-radius:6px;padding:8px 10px;margin:0 -10px;position:relative}.achievement-item:hover{transform:translateY(-4px);background-color:var(--bg-tertiary);z-index:10}.hover-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.hover-card:hover{transform:translateY(-6px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media print{.header-nav,.theme-toggle,.mobile-menu-btn,.skip-link,.hero-buttons,.expand-btn,.project-links,.back-to-top{display:none!important}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.project-visual{animation:float 3s ease-in-out infinite}.project-visual-glow{animation:pulse-glow 2s ease-in-out infinite}.project-visual-shimmer{background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0);background-size:200px 100%;animation:shimmer 3s infinite linear}.project-card:hover .project-visual{animation:float 1.5s ease-in-out infinite}.project-card:hover .project-visual-glow{animation:pulse-glow 1s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-pulse-badge{animation:pulse-badge 1s ease-in-out infinite}.project-visual{transition:transform .3s ease,box-shadow .3s ease}.project-card:hover .project-visual{transform:translateY(-2px);box-shadow:0 10px 25px #00000026}.project-visual .absolute{transition:background-color .3s ease}.project-visual[style*=background-image]{background-size:cover;background-position:center;background-repeat:no-repeat}.project-visual .absolute.bottom-0{background:linear-gradient(transparent,#000c);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
