:root{--bg-primary:#060918;--bg-secondary:#0d1333;--bg-tertiary:#111a42;--bg-glass:#0d1333a6;--bg-glass-hover:#0d1333d9;--bg-glass-light:#ffffff08;--text-primary:#e8eaf6;--text-secondary:#8892b0;--text-muted:#5a6380;--text-accent:#c5cae9;--accent-primary:#7c3aed;--accent-primary-rgb:124, 58, 237;--accent-secondary:#06d6a0;--accent-secondary-rgb:6, 214, 160;--accent-tertiary:#e040fb;--accent-tertiary-rgb:224, 64, 251;--cat-web:#06d6a0;--cat-web-rgb:6, 214, 160;--cat-iot:#ff6b35;--cat-iot-rgb:255, 107, 53;--cat-ai:#7c3aed;--cat-ai-rgb:124, 58, 237;--cat-robotics:#e040fb;--cat-robotics-rgb:224, 64, 251;--diff-beginner:#06d6a0;--diff-intermediate:#fbbf24;--diff-advanced:#ef4444;--border-glass:#ffffff14;--border-glow:#7c3aed4d;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:24px;--border-radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #7c3aed26;--shadow-glow-lg:0 0 40px #7c3aed40;--shadow-glow-cyan:0 0 20px #06d6a026;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:2.5rem;--fs-4xl:3rem;--fs-5xl:3.5rem;--fs-6xl:4.5rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.1;--lh-snug:1.3;--lh-normal:1.6;--lh-relaxed:1.8;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--container-max:1200px;--container-narrow:800px;--nav-height:72px;--section-padding:6rem 0;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--transition-spring:.4s cubic-bezier(.175, .885, .32, 1.275);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-nav:1000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text-primary)}h1{font-size:var(--fs-5xl);font-weight:var(--fw-extrabold)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}p{color:var(--text-secondary);line-height:var(--lh-normal)}a{color:var(--accent-secondary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-primary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none;outline:none}input,textarea,select{font-family:var(--font-body);font-size:var(--fs-base);outline:none}code,pre{font-family:var(--font-mono)}::selection{background:rgba(var(--accent-primary-rgb), .3);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:rgba(var(--accent-primary-rgb), .3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-primary-rgb), .5)}*{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-primary-rgb), .3) var(--bg-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-xl);margin:0 auto}.container-narrow{max-width:var(--container-narrow)}.section{padding:var(--section-padding);position:relative}.section-header{text-align:center;margin-bottom:var(--space-4xl)}.section-header h2{margin-bottom:var(--space-md);display:inline-block;position:relative}.section-header h2:after{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));border-radius:2px;width:60px;height:3px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.section-header p{font-size:var(--fs-md);max-width:600px;margin:var(--space-lg) auto 0}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all var(--transition-base);position:relative;overflow:hidden}.glass-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.glass-card:hover{background:var(--bg-glass-hover);border-color:rgba(var(--accent-primary-rgb), .2);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:var(--border-radius-full);transition:all var(--transition-base);letter-spacing:.02em;white-space:nowrap;padding:.75rem 1.75rem;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), #9333ea);color:#fff;box-shadow:0 4px 15px rgba(var(--accent-primary-rgb), .3)}.btn-primary:hover{box-shadow:0 6px 25px rgba(var(--accent-primary-rgb), .45);color:#fff;transform:translateY(-2px)}.btn-primary:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:after{left:100%}.btn-outline{border:1px solid rgba(var(--accent-secondary-rgb), .5);color:var(--accent-secondary);background:0 0}.btn-outline:hover{background:rgba(var(--accent-secondary-rgb), .1);border-color:var(--accent-secondary);color:var(--accent-secondary);transform:translateY(-2px)}.btn-ghost{color:var(--text-secondary);padding:.5rem 1rem}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-glass-light)}.btn-sm{font-size:var(--fs-xs);padding:.5rem 1.25rem}.btn-icon{width:40px;height:40px;font-size:var(--fs-lg);border-radius:50%;padding:0}.badge{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--border-radius-full);letter-spacing:.03em;white-space:nowrap;align-items:center;padding:.25rem .75rem;display:inline-flex}.badge-web{background:rgba(var(--cat-web-rgb), .12);color:var(--cat-web);border:1px solid rgba(var(--cat-web-rgb), .25)}.badge-iot{background:rgba(var(--cat-iot-rgb), .12);color:var(--cat-iot);border:1px solid rgba(var(--cat-iot-rgb), .25)}.badge-ai{background:rgba(var(--cat-ai-rgb), .12);color:var(--cat-ai);border:1px solid rgba(var(--cat-ai-rgb), .25)}.badge-robotics{background:rgba(var(--cat-robotics-rgb), .12);color:var(--cat-robotics);border:1px solid rgba(var(--cat-robotics-rgb), .25)}.badge-difficulty{text-transform:uppercase;font-size:.65rem;font-weight:var(--fw-bold);letter-spacing:.08em}.badge-beginner{color:var(--diff-beginner);background:#06d6a01f;border:1px solid #06d6a040}.badge-intermediate{color:var(--diff-intermediate);background:#fbbf241f;border:1px solid #fbbf2440}.badge-advanced{color:var(--diff-advanced);background:#ef44441f;border:1px solid #ef444440}.badge-featured{background:linear-gradient(135deg, rgba(var(--accent-primary-rgb), .2), rgba(var(--accent-tertiary-rgb), .2));color:var(--accent-tertiary);border:1px solid rgba(var(--accent-tertiary-rgb), .3)}.badge-coming-soon{color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff1a}.badge-tech{color:var(--text-accent);font-family:var(--font-mono);background:#ffffff0d;border:1px solid #ffffff14;font-size:.7rem}.filter-tabs{gap:var(--space-sm);margin-bottom:var(--space-2xl);flex-wrap:wrap;justify-content:center;display:flex}.filter-tab{font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--border-radius-full);color:var(--text-secondary);transition:all var(--transition-base);cursor:pointer;background:0 0;border:1px solid #0000;padding:.5rem 1.25rem}.filter-tab:hover{color:var(--text-primary);background:var(--bg-glass-light);border-color:var(--border-glass)}.filter-tab.active{background:rgba(var(--accent-primary-rgb), .15);color:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb), .3);font-weight:var(--fw-semibold)}.terminal{border-radius:var(--border-radius-md);font-family:var(--font-mono);font-size:var(--fs-sm);background:#0006;border:1px solid #ffffff14;overflow:hidden}.terminal-header{align-items:center;gap:var(--space-sm);padding:.75rem var(--space-md);background:#ffffff08;border-bottom:1px solid #ffffff0f;display:flex}.terminal-dot{border-radius:50%;width:10px;height:10px}.terminal-dot:first-child{background:#ff5f57}.terminal-dot:nth-child(2){background:#febc2e}.terminal-dot:nth-child(3){background:#28c840}.terminal-body{padding:var(--space-lg);line-height:var(--lh-relaxed)}.terminal-body .prompt{color:var(--accent-secondary)}.terminal-body .output{color:var(--text-secondary);margin-top:var(--space-sm)}.glow-text{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glow-text-alt{background:linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider{background:linear-gradient(90deg, transparent, var(--border-glass), transparent);width:100%;height:1px;margin:var(--space-2xl) 0}.skeleton{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-tertiary) 50%, var(--bg-secondary) 75%);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--fs-xs);border-radius:var(--border-radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:all var(--transition-fast);border:1px solid var(--border-glass);padding:.4rem .8rem;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.8)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)scale(1)}.grid-2{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.modal{width:100%;height:100%;z-index:var(--z-modal);padding:var(--space-xl);justify-content:center;align-items:center;display:none;position:fixed;top:0;left:0}.modal.active{display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#020617d9;width:100%;height:100%;position:absolute;top:0;left:0}.modal-container{background:var(--bg-glass);-webkit-backdrop-filter:blur(25px);border:1px solid var(--border-glass);border-radius:var(--border-radius-xl);z-index:1;width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg), var(--shadow-glow-lg);opacity:0;transition:all var(--transition-spring);position:relative;overflow-y:auto;transform:translateY(30px)}.modal.active .modal-container{opacity:1;transform:translateY(0)}.modal-close{top:var(--space-lg);right:var(--space-lg);border:1px solid var(--border-glass);background:var(--bg-glass-light);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute}.modal-close:hover{color:#ef4444;background:#ef444433;border-color:#ef4444;transform:rotate(90deg)}.modal-content{padding:0}.modal-hero{width:100%;height:350px;position:relative;overflow:hidden}.modal-hero img{object-fit:cover;width:100%;height:100%}.modal-hero:after{content:"";background:linear-gradient(to top, var(--bg-primary), transparent);width:100%;height:50%;position:absolute;bottom:0;left:0}.modal-body{padding:var(--space-2xl)}.modal-header{margin-bottom:var(--space-xl)}.modal-header h2{font-family:var(--font-heading);font-size:var(--fs-3xl);margin-bottom:var(--space-sm);line-height:var(--lh-tight)}.modal-tags{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.modal-description{color:var(--text-secondary);font-size:var(--fs-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-2xl)}.modal-footer{gap:var(--space-md);padding-top:var(--space-xl);border-top:1px solid var(--border-glass);display:flex}.modal-container::-webkit-scrollbar{width:8px}.modal-container::-webkit-scrollbar-track{background:#ffffff05}.modal-container::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:10px}@media (width<=768px){.modal-hero{height:250px}.modal-body{padding:var(--space-xl)}.modal-header h2{font-size:var(--fs-2xl)}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.navbar{width:100%;height:var(--nav-height);z-index:9999;transition:all var(--transition-base);padding:0 var(--space-xl);-webkit-backdrop-filter:blur(10px);background:#060918f2;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:#060918;border-bottom:1px solid #ffffff1a;box-shadow:0 4px 20px #00000080}.navbar-inner{width:100%;max-width:var(--container-max);justify-content:space-between;align-items:center;display:flex}.navbar-logo{align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:var(--fw-extrabold);color:var(--text-primary);text-decoration:none;display:flex;position:relative}.navbar-logo .logo-ai{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar-logo .logo-dot{background:var(--accent-secondary);width:6px;height:6px;box-shadow:0 0 8px var(--accent-secondary);border-radius:50%;animation:2s ease-in-out infinite pulse-glow}.navbar-links{align-items:center;gap:var(--space-xs);display:flex}.navbar-links a{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--border-radius-full);transition:all var(--transition-fast);padding:.5rem 1rem;text-decoration:none}.navbar-links a:hover,.navbar-links a.active{color:var(--text-primary);background:#ffffff0d}.navbar-links a.active{color:var(--accent-secondary)}.dropdown{display:inline-block;position:relative}.dropdown-arrow{opacity:.6;margin-left:2px;font-size:.6em}.dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--border-radius-md);min-width:200px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:var(--z-dropdown);padding:.5rem;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(10px)}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.dropdown-menu a{color:var(--text-secondary);border-radius:var(--border-radius-sm);padding:.5rem 1rem;display:block}.dropdown-menu a:hover{color:var(--text-primary);background:#ffffff0d}.lang-switch{margin-left:var(--space-md);border-radius:var(--border-radius-full);border:1px solid var(--border-glass);background:#ffffff0d;align-items:center;gap:2px;padding:3px;display:flex}.lang-btn{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:var(--border-radius-full);transition:all var(--transition-fast);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:.35rem .75rem}.lang-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px rgba(var(--accent-primary-rgb), .4)}.menu-toggle{cursor:pointer;z-index:calc(var(--z-nav) + 1);flex-direction:column;gap:5px;padding:8px;display:none}.menu-toggle span{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-base);transform-origin:50%;border-radius:2px;display:block}.menu-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;height:100%;z-index:calc(var(--z-nav) - 1);opacity:0;transition:opacity var(--transition-base);background:#060918f2;display:none;position:fixed;top:0;left:0}.mobile-overlay.active{justify-content:center;align-items:center;gap:var(--space-lg);opacity:1;flex-direction:column;display:flex}.mobile-overlay a{font-size:var(--fs-2xl);font-family:var(--font-heading);font-weight:var(--fw-semibold);color:var(--text-secondary);transition:all var(--transition-fast);text-decoration:none}.mobile-overlay a:hover{color:var(--accent-secondary);transform:scale(1.05)}.filter-container{margin-bottom:var(--space-2xl);justify-content:center;display:flex}.filter-tabs{border-radius:var(--border-radius-full);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;gap:8px;padding:6px;display:flex}.filter-tab{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:var(--border-radius-full);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;padding:.6rem 1.2rem}.filter-tab:hover{color:var(--text-primary);background:#ffffff0d}.filter-tab.active{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px rgba(var(--accent-primary-rgb), .3)}#hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}#particles-canvas{z-index:-2;width:100vw;height:100vh;position:fixed;top:0;left:0}body{min-height:100vh;color:var(--text-primary);background:linear-gradient(#060918 0%,#03050b 1000px,#000 100%);position:relative}section,.section,main{background:0 0!important}.hero-content{z-index:10;text-align:center;max-width:800px;padding:0 var(--space-xl);position:relative}.hero-greeting{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--accent-secondary);margin-bottom:var(--space-sm);letter-spacing:.05em}.hero-title{font-size:clamp(3rem, 8vw, var(--fs-6xl));font-weight:var(--fw-extrabold);margin-bottom:var(--space-md);line-height:var(--lh-tight)}.hero-tagline{font-size:clamp(1rem, 2.5vw, var(--fs-xl));color:var(--text-secondary);margin-bottom:var(--space-sm);font-weight:var(--fw-regular)}.hero-rotating{font-size:var(--fs-lg);color:var(--text-muted);margin-bottom:var(--space-lg);min-height:2rem;font-family:var(--font-mono)}.hero-rotating .typed-text{color:var(--accent-secondary);border-right:2px solid var(--accent-secondary);padding-right:4px;animation:.8s step-end infinite cursor-blink}.hero-description{font-size:var(--fs-md);color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-2xl);line-height:var(--lh-relaxed)}.hero-cta{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.hero-scroll-indicator{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:var(--fs-xs);flex-direction:column;animation:3s ease-in-out infinite float;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-scroll-indicator .scroll-line{background:linear-gradient(to bottom, var(--accent-primary), transparent);width:1px;height:30px;animation:2s ease-in-out infinite scroll-pulse}#about{position:relative}.about-grid{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.about-terminal{top:calc(var(--nav-height) + var(--space-xl));position:sticky}.about-info{gap:var(--space-xl);flex-direction:column;display:flex}.about-bio{font-size:var(--fs-md);line-height:var(--lh-relaxed)}.stats-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.stat-item{text-align:center;padding:var(--space-lg);background:var(--bg-glass-light);border-radius:var(--border-radius-md);border:1px solid var(--border-glass);transition:all var(--transition-base)}.stat-item:hover{border-color:rgba(var(--accent-primary-rgb), .2);box-shadow:var(--shadow-glow)}.stat-number{font-family:var(--font-heading);font-size:var(--fs-3xl);font-weight:var(--fw-extrabold);margin-bottom:var(--space-xs);line-height:1}.stat-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}#expertise{position:relative}.expertise-grid{gap:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.expertise-card{padding:var(--space-2xl);position:relative}.expertise-card .card-icon{border-radius:var(--border-radius-md);width:56px;height:56px;font-size:var(--fs-2xl);margin-bottom:var(--space-lg);justify-content:center;align-items:center;display:flex;position:relative}.expertise-card[data-category=web] .card-icon{background:rgba(var(--cat-web-rgb), .1)}.expertise-card[data-category=iot] .card-icon{background:rgba(var(--cat-iot-rgb), .1)}.expertise-card[data-category=ai] .card-icon{background:rgba(var(--cat-ai-rgb), .1)}.expertise-card[data-category=robotics] .card-icon{background:rgba(var(--cat-robotics-rgb), .1)}.badge-web{color:#06d6a0;background:#06d6a033;border:1px solid #06d6a04d}.badge-iot{color:#ff6b35;background:#ff6b3533;border:1px solid #ff6b354d}.badge-ai{color:#a78bfa;background:#7c3aed33;border:1px solid #7c3aed4d}.badge-robotics{color:#f0abfc;background:#e040fb33;border:1px solid #e040fb4d}.badge-arduino{color:#00d4db;background:#00979d33;border:1px solid #00979d4d}.badge-esp32{color:#fbbc05;background:#fbbc0533;border:1px solid #fbbc054d}.expertise-card h3{margin-bottom:var(--space-sm)}.expertise-card .card-desc{color:var(--text-secondary);font-size:var(--fs-sm);margin-bottom:var(--space-lg);line-height:var(--lh-relaxed)}.expertise-skills{gap:var(--space-sm);flex-wrap:wrap;display:flex}.expertise-skill-tag{font-size:var(--fs-xs);border-radius:var(--border-radius-sm);color:var(--text-accent);font-family:var(--font-mono);transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;padding:.3rem .6rem}.expertise-card:hover .expertise-skill-tag{background:#ffffff0f;border-color:#ffffff1f}#projects{position:relative}.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.project-card{cursor:pointer;flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card .card-image{background:var(--bg-tertiary);height:200px;position:relative;overflow:hidden}.project-card .card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .card-image img{transform:scale(1.08)}.project-card .card-image .card-overlay{opacity:0;width:100%;height:100%;transition:opacity var(--transition-base);padding:var(--space-lg);background:linear-gradient(#0000 40%,#060918e6);justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0;left:0}.project-card:hover .card-overlay{opacity:1}.project-card .card-badges{top:var(--space-md);left:var(--space-md);gap:var(--space-xs);z-index:2;display:flex;position:absolute}.project-card .card-body{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.project-card .card-body h3{font-size:var(--fs-lg);margin-bottom:var(--space-sm)}.project-card .card-body p{font-size:var(--fs-sm);line-height:var(--lh-normal);margin-bottom:var(--space-md);flex:1}.project-card .card-tags{margin-bottom:var(--space-md);flex-wrap:wrap;gap:6px;display:flex}.project-card .card-action{align-items:center;gap:var(--space-xs);color:var(--accent-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:all var(--transition-fast);display:flex}.project-card:hover .card-action{gap:var(--space-sm)}.project-card .card-action .arrow{transition:transform var(--transition-fast)}.project-card:hover .card-action .arrow{transform:translate(4px)}.project-card.coming-soon{opacity:.6;cursor:default}.project-card.coming-soon .card-image{filter:grayscale(.5)}.project-card.coming-soon:hover{box-shadow:none;transform:none}#tutorials{background:linear-gradient(180deg, transparent, rgba(var(--accent-primary-rgb), .02), transparent);position:relative}.tutorials-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.tutorial-card{cursor:pointer;flex-direction:column;padding:0;display:flex;overflow:hidden}.tutorial-card .card-image{background:var(--bg-tertiary);height:180px;position:relative;overflow:hidden}.tutorial-card .card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.tutorial-card:hover .card-image img{transform:scale(1.05)}.tutorial-card .card-meta{bottom:var(--space-sm);right:var(--space-sm);gap:var(--space-xs);display:flex;position:absolute}.tutorial-card .card-badges{top:var(--space-sm);left:var(--space-sm);gap:var(--space-xs);display:flex;position:absolute}.tutorial-card .card-body{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.tutorial-card .card-body h3{font-size:var(--fs-base);margin-bottom:var(--space-sm);line-height:var(--lh-snug)}.tutorial-card .card-body p{font-size:var(--fs-sm);line-height:var(--lh-normal);margin-bottom:var(--space-md);flex:1}.tutorial-card .card-footer{padding-top:var(--space-md);border-top:1px solid var(--border-glass);justify-content:space-between;align-items:center;display:flex}.tutorial-card .card-date{font-size:var(--fs-xs);color:var(--text-muted)}.tutorial-card .card-read-time{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono)}#contact{position:relative}.contact-grid{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-group{gap:var(--space-sm);flex-direction:column;display:flex}.form-group label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-accent)}.form-group input,.form-group textarea{padding:.875rem var(--space-md);border:1px solid var(--border-glass);border-radius:var(--border-radius-md);color:var(--text-primary);transition:all var(--transition-fast);background:#0000004d}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb), .1)}.form-group textarea{resize:vertical;min-height:140px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.contact-info{gap:var(--space-xl);flex-direction:column;display:flex}.contact-info-item{align-items:flex-start;gap:var(--space-md);display:flex}.contact-info-icon{border-radius:var(--border-radius-md);background:rgba(var(--accent-primary-rgb), .1);width:48px;height:48px;font-size:var(--fs-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info-text h4{margin-bottom:var(--space-xs)}.contact-info-text p{font-size:var(--fs-sm);color:var(--text-secondary)}.social-links{gap:var(--space-md);margin-top:var(--space-xl);display:flex}.social-link{border-radius:var(--border-radius-md);background:var(--bg-glass-light);border:1px solid var(--border-glass);width:48px;height:48px;color:var(--text-secondary);font-size:var(--fs-xl);transition:all var(--transition-base);justify-content:center;align-items:center;text-decoration:none;display:flex}.social-link:hover{background:rgba(var(--accent-primary-rgb), .15);border-color:rgba(var(--accent-primary-rgb), .3);color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-3px)}.footer{padding:var(--space-2xl) 0;border-top:1px solid var(--border-glass);text-align:center}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.footer p{font-size:var(--fs-sm)}.footer .social-links{margin:0}.footer .social-link{width:36px;height:36px;font-size:var(--fs-base)}.back-to-top{bottom:var(--space-xl);right:var(--space-xl);background:var(--accent-primary);color:#fff;width:44px;height:44px;font-size:var(--fs-lg);box-shadow:var(--shadow-glow-lg);opacity:0;visibility:hidden;transition:all var(--transition-base);cursor:pointer;z-index:var(--z-sticky);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(20px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{box-shadow:0 6px 25px rgba(var(--accent-primary-rgb), .4);transform:translateY(-3px)}@media (width<=1024px){.projects-grid,.tutorials-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{gap:var(--space-2xl);grid-template-columns:1fr}.about-terminal{position:static}}@media (width<=768px){:root{--section-padding:4rem 0;--nav-height:64px}.navbar-links{display:none}.menu-toggle{display:flex}.hero-title{font-size:clamp(2.2rem,8vw,3.5rem)}h2{font-size:var(--fs-2xl)}.expertise-grid,.projects-grid,.tutorials-grid{grid-template-columns:1fr}.container{padding:0 var(--space-md)}.section-header{margin-bottom:var(--space-2xl)}}@media (width<=480px){.hero-cta{flex-direction:column;align-items:center}.hero-cta .btn{width:100%;max-width:280px}.stats-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr}.stat-item{padding:var(--space-md)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-10px)}}@keyframes float-simple{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px var(--accent-secondary);opacity:1}50%{box-shadow:0 0 16px var(--accent-secondary), 0 0 32px rgba(var(--accent-secondary-rgb), .3);opacity:.8}}@keyframes cursor-blink{0%,to{border-color:var(--accent-secondary)}50%{border-color:#0000}}@keyframes scroll-pulse{0%{opacity:1;height:30px}50%{opacity:.3;height:20px}to{opacity:1;height:30px}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes counter-fill{0%{width:0%}to{width:var(--fill-width)}}.anim{opacity:1;transition:opacity .6s,transform .6s;transform:none}html.js-anim .anim:not(.anim-visible){opacity:0}html.js-anim .anim.anim-visible{opacity:1}html.js-anim .anim-up:not(.anim-visible){transform:translateY(40px)}html.js-anim .anim-up.anim-visible{transform:translateY(0)}html.js-anim .anim-down:not(.anim-visible){transform:translateY(-30px)}html.js-anim .anim-down.anim-visible{transform:translateY(0)}html.js-anim .anim-left:not(.anim-visible){transform:translate(-40px)}html.js-anim .anim-left.anim-visible{transform:translate(0)}html.js-anim .anim-right:not(.anim-visible){transform:translate(40px)}html.js-anim .anim-right.anim-visible{transform:translate(0)}html.js-anim .anim-scale:not(.anim-visible){transform:scale(.9)}html.js-anim .anim-scale.anim-visible{transform:scale(1)}html.js-anim-ready .anim{opacity:1!important;transform:none!important}.anim-delay-1{transition-delay:.1s}.anim-delay-2{transition-delay:.2s}.anim-delay-3{transition-delay:.3s}.anim-delay-4{transition-delay:.4s}.anim-delay-5{transition-delay:.5s}.anim-delay-6{transition-delay:.6s}.hero-animate-1{animation:.8s .2s both fadeInDown}.hero-animate-2{animation:.8s .4s both fadeInUp}.hero-animate-3{animation:.8s .6s both fadeInUp}.hero-animate-4{animation:.8s .8s both fadeInUp}.hero-animate-5{animation:.8s 1s both fadeInUp}.hero-animate-6{animation:1s 1.2s both fadeIn}.glass-card[data-category=web]:hover{border-color:rgba(var(--cat-web-rgb), .3);box-shadow:0 0 25px rgba(var(--cat-web-rgb), .1)}.glass-card[data-category=iot]:hover{border-color:rgba(var(--cat-iot-rgb), .3);box-shadow:0 0 25px rgba(var(--cat-iot-rgb), .1)}.glass-card[data-category=ai]:hover{border-color:rgba(var(--cat-ai-rgb), .3);box-shadow:0 0 25px rgba(var(--cat-ai-rgb), .1)}.glass-card[data-category=robotics]:hover{border-color:rgba(var(--cat-robotics-rgb), .3);box-shadow:0 0 25px rgba(var(--cat-robotics-rgb), .1)}.filter-hidden{opacity:0;pointer-events:none;position:absolute;transform:scale(.8)}.filter-visible{opacity:1;pointer-events:auto;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;transform:scale(1)}.bg-glow{filter:blur(100px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.bg-glow-1{background:rgba(var(--accent-primary-rgb), .06);width:600px;height:600px;top:-200px;right:-200px}.bg-glow-2{background:rgba(var(--accent-secondary-rgb), .04);width:400px;height:400px;bottom:-100px;left:-100px}.bg-glow-3{background:rgba(var(--accent-tertiary-rgb), .04);width:500px;height:500px;top:50%;left:50%;transform:translate(-50%,-50%)}.toast{bottom:var(--space-xl);padding:var(--space-md) var(--space-xl);background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:var(--fs-sm);z-index:var(--z-toast);opacity:0;transition:all var(--transition-base);box-shadow:var(--shadow-lg);position:fixed;left:50%;transform:translate(-50%)translateY(100px)}.toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.toast.success{border-color:rgba(var(--accent-secondary-rgb), .3)}.toast.error{border-color:#ef44444d}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin-slow}.page-transition{animation:.3s fadeIn}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.anim{opacity:1;transform:none}}
