@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Outfit:wght@400;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#050505;--surface:#0c0c0c;--surface-2:#141414;--surface-3:#1c1c1c;--border:#ffffff0f;--border-hover:#ffffff1f;--text:#e8e8e8;--text-muted:#888;--text-dim:#737373;--accent:#fff;--accent-subtle:#ffffff0a;--brand-glow:#b375f0;--brand-glow-subtle:#b375f080;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Space Grotesk", monospace;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--radius:12px;--radius-sm:8px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.65;overflow-x:hidden}::selection{color:var(--accent);background:#ffffff26}::-webkit-scrollbar{background:var(--bg);width:10px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid var(--border)}::-webkit-scrollbar-thumb{background:var(--surface-3);border:2px solid var(--bg);transition:all .3s var(--ease);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#9970c280}.navbar-container{z-index:500;-webkit-backdrop-filter:blur(24px)saturate(1.2);height:72px;animation:fadeDown .8s var(--ease) forwards;background:#050505b3;justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,64px);display:flex;position:fixed;top:0;left:0;right:0}@keyframes fadeDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.nav-border-glow{background:linear-gradient(90deg,#0000,#ffffff0d,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.nav-border-glow:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);width:150px;height:1px;animation:5s cubic-bezier(.4,0,.2,1) infinite navBorderSweep;position:absolute;top:0;left:0}@keyframes navBorderSweep{0%{opacity:0;transform:translate(-150px)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(100vw)}}.nav-logo{color:var(--accent);letter-spacing:.5px;cursor:pointer;transition:all .4s var(--ease);align-items:center;gap:4px;font-size:1.05rem;font-weight:800;display:flex}.nav-logo:hover{text-shadow:0 0 15px #ffffff4d}.logo-dot{background:var(--brand-glow);width:5px;height:5px;transition:all .4s var(--ease);border-radius:50%;margin:0 2px;box-shadow:0 0 10px #b375f0cc}.nav-logo:hover .logo-dot{background:var(--accent);box-shadow:0 0 15px var(--accent);transform:scale(1.5)}.nav-links{align-items:center;gap:12px;list-style:none;display:flex}.nav-links a{color:var(--text-dim);transition:all .4s var(--ease);border:1px solid #0000;border-radius:100px;padding:8px 18px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.nav-links a:before{content:"";background:hsla(var(--nav-hue,0), 60%, 60%, .1);opacity:0;transition:all .4s var(--ease);z-index:-1;border-radius:100px;position:absolute;inset:0}.nav-links a:hover{color:var(--accent);border-color:hsla(var(--nav-hue,0), 40%, 60%, .2);box-shadow:inset 0 0 12px hsla(var(--nav-hue,0), 60%, 60%, .15);transform:translateY(-1px)}.nav-links a:hover:before{opacity:1}@media (max-width:768px){.navbar-container{padding:0 20px}.nav-links{gap:6px}.nav-links a{padding:6px 12px;font-size:.72rem}}@media (max-width:520px){.nav-links{display:none}}section{max-width:1100px;margin:0 auto;padding:120px clamp(24px,6vw,80px) 80px;position:relative}.section-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:5px;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:20px;font-size:.75rem;font-weight:600;display:inline-flex}.section-label:before{content:"";width:24px;height:2px;box-shadow:0 0 10px var(--brand-glow-subtle);background:#b375f0cc;border-radius:2px;display:block}.section-title{font-family:var(--font-heading);letter-spacing:-1.5px;color:#0000;background-image:linear-gradient(135deg, var(--accent) 0%, #a0a0a0 50%, #444 100%);transition:transform .4s var(--ease), color .4s var(--ease), text-shadow .4s var(--ease);cursor:default;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin-bottom:56px;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.1;animation:6s ease-in-out infinite alternate shineGradient;position:relative}.section-title:hover{color:var(--accent);text-shadow:3px 0 #ff0000b3,-3px 0 #00ffffb3;background-image:none;transform:scale(1.01)}@keyframes shineGradient{0%{background-position:0%}to{background-position:100%}}.hero-container{flex-direction:column;justify-content:center;max-width:1200px;min-height:100vh;margin:0 auto;padding:140px clamp(24px,6vw,80px) 80px;display:flex;position:relative}.hero-ambient-glow{z-index:-1;pointer-events:none;transition:background .1s linear;position:fixed;inset:0}.hero-content{z-index:10;position:relative}.hero-label{color:var(--text-dim);letter-spacing:5px;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:24px;font-size:.72rem;font-weight:600;display:inline-flex}.hero-label-dot{background:var(--brand-glow);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulseHero;box-shadow:0 0 10px #b375f0cc}@keyframes pulseHero{0%{box-shadow:0 0 #b375f066}70%{box-shadow:0 0 0 6px #b375f000}to{box-shadow:0 0 #b375f000}}.hero-name{font-family:var(--font-heading);letter-spacing:-4px;margin-bottom:32px;font-size:clamp(3.5rem,10vw,8.5rem);font-weight:900;line-height:.95}.glitch-name{color:var(--accent);letter-spacing:-4px;font-weight:900;display:inline-block;position:relative}.glitch-name:before,.glitch-name:after{content:attr(data-text);opacity:.8;width:100%;height:100%;position:absolute;top:0;left:0}.glitch-name:before{color:#0ff;z-index:-1;animation:3s linear infinite alternate-reverse glitch-anim-1}.glitch-name:after{color:#f0f;z-index:-2;animation:3s linear infinite alternate-reverse glitch-anim-2}@keyframes glitch-anim-1{0%{clip-path:inset(20% 0 80%);transform:translate(-2px,1px)}20%{clip-path:inset(60% 0 10%);transform:translate(2px,-1px)}40%{clip-path:inset(40% 0 50%);transform:translate(-2px,2px)}60%{clip-path:inset(80% 0 5%);transform:translate(2px,-2px)}80%{clip-path:inset(10% 0 70%);transform:translate(-1px,2px)}to{clip-path:inset(30% 0 50%);transform:translate(1px,-1px)}}@keyframes glitch-anim-2{0%{clip-path:inset(10% 0 60%);transform:translate(2px,-1px)}20%{clip-path:inset(80% 0 5%);transform:translate(-2px,1px)}40%{clip-path:inset(30% 0 50%);transform:translate(2px,-2px)}60%{clip-path:inset(70% 0 20%);transform:translate(-2px,2px)}80%{clip-path:inset(20% 0 40%);transform:translate(1px,-2px)}to{clip-path:inset(50% 0 30%);transform:translate(-1px,1px)}}.hero-middle-section{flex-wrap:wrap;align-items:center;gap:80px;display:flex}.hero-middle-left{flex-direction:column;flex:1;min-width:320px;display:flex}.hero-tagline{color:var(--text-muted);max-width:540px;font-size:1.25rem;line-height:1.6}.glow-text{color:var(--text);text-shadow:0 0 20px #fff3;font-weight:600}.hero-subtitle{color:var(--text-dim);max-width:540px;margin-top:8px;font-size:.95rem;font-style:italic;line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-roles-tokens{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.role-token{color:var(--text-dim);transition:all .4s var(--ease);background:#ffffff08;border:1px solid #ffffff14;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.role-token:hover{color:var(--text);background:#ffffff14;border-color:#fff3;transform:translateY(-2px);box-shadow:0 10px 20px #0003}.hero-cta{flex-wrap:wrap;gap:16px;margin-top:48px;display:flex}.interactive-btn{font-family:var(--font);letter-spacing:.5px;cursor:pointer;transition:all .4s var(--ease);border:none;border-radius:100px;align-items:center;gap:10px;padding:14px 32px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary .btn-glow{opacity:0;width:100%;height:100%;transition:transform .5s var(--ease), opacity .5s var(--ease);pointer-events:none;background:radial-gradient(circle,#fffc 0%,#0000 70%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #fff3}.btn-primary:hover .btn-glow{opacity:1;transform:translate(-50%,-50%)scale(2)}.btn-primary .btn-text,.btn-primary .btn-icon{z-index:2;position:relative}.btn-ghost{color:var(--text-muted);border:1px solid var(--border-hover);background:0 0}.btn-ghost:hover{color:var(--text);background:#ffffff0d;border-color:#ffffff4d;transform:translateY(-2px)}.hero-tech{flex-wrap:wrap;align-items:center;gap:12px;margin-top:40px;display:flex}.tech-item{color:var(--text-dim);letter-spacing:.5px;font-family:monospace;font-size:.8rem}.tech-dot{background:var(--text-dim);opacity:.5;border-radius:50%;width:3px;height:3px}.hero-focus-interactive{justify-content:center;align-items:center;width:350px;height:350px;display:flex;position:relative}@media (max-width:850px){.hero-focus-interactive{width:280px;height:280px;margin:40px auto 0}}.focus-radar{background:#0a0a0a80;border:1px solid #ffffff0d;border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000c,0 0 40px #00000080}.radar-sweep{transform-origin:0 0;pointer-events:none;background:conic-gradient(#0000 70%,#c8ffff0d 95%,#c8ffff40 99%,#fff 100%);width:50%;height:50%;animation:4s linear infinite radarScan;position:absolute;top:50%;left:50%}@keyframes radarScan{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-ring{pointer-events:none;border:1px solid #ffffff0d;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radar-ring.r1{width:30%;height:30%}.radar-ring.r2{width:60%;height:60%}.radar-ring.r3{opacity:.5;border-style:dashed;width:90%;height:90%}.radar-node{transition:all .3s var(--ease);cursor:pointer;align-items:center;gap:8px;display:flex;position:absolute}.node-dot{width:6px;height:6px;transition:all .3s var(--ease);background:#fff3;border-radius:50%;box-shadow:0 0 10px #ffffff1a}.node-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;opacity:.5;transition:all .3s var(--ease);font-family:monospace;font-size:.65rem}.radar-node:hover .node-dot{background:var(--accent);box-shadow:0 0 15px var(--accent);transform:scale(1.5)}.radar-node:hover .node-label{color:var(--accent);opacity:1}.radar-node.n1{top:20%;left:30%}.radar-node.n2{top:60%;left:15%}.radar-node.n3{top:75%;left:60%}.radar-node.n4{top:35%;left:65%}.hero-scroll-indicator{pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-mouse{border:2px solid var(--text-dim);border-radius:20px;justify-content:center;width:24px;height:38px;padding-top:6px;display:flex}.scroll-wheel{background:var(--text-dim);border-radius:2px;width:4px;height:6px;animation:2s ease-in-out infinite scrollWheel}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(12px)}to{opacity:0;transform:translateY(0)}}.animate-fade-up{opacity:0;animation:fadeUp .8s var(--ease) forwards}.hide-mobile{display:block}@media (max-width:768px){.hide-mobile{display:none}}.hero-socials a:hover{color:var(--text);transform:translateY(-2px)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:72px;display:grid}@media (max-width:850px){.about-grid{grid-template-columns:1fr;gap:56px}}.about-text-column{flex-direction:column;gap:32px;display:flex}.status-badge{background:var(--surface-2);border:1px solid var(--border);width:fit-content;transition:all .4s var(--ease);border-radius:100px;align-items:center;gap:12px;padding:8px 16px;display:inline-flex}.status-badge:hover{background:#4db3800d;border-color:#40bf804d}.status-dot{background:#3cdd8c;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulseStatus;box-shadow:0 0 12px #3cdd8ccc}.status-text{color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;transition:color .4s var(--ease);font-size:.75rem;font-weight:600}.status-badge:hover .status-text{color:var(--text-muted)}@keyframes pulseStatus{0%{box-shadow:0 0 #3cdd8c66}70%{box-shadow:0 0 0 6px #3cdd8c00}to{box-shadow:0 0 #3cdd8c00}}.about-text p{color:var(--text-muted);margin-bottom:24px;font-size:1rem;line-height:1.85}.about-text strong{color:var(--text);transition:all .4s var(--ease);font-weight:600}.highlight-blue:hover{text-shadow:0 0 12px #5ea6ed4d;color:#5ea6ed!important}.highlight-purple:hover{text-shadow:0 0 12px #b375f04d;color:var(--brand-glow)!important}.highlight-teal:hover{text-shadow:0 0 12px #5eeda64d;color:#5eeda6!important}.highlight-emerald:hover{text-shadow:0 0 12px #30e8ab4d;color:#30e8ab!important}.highlight-amber:hover{text-shadow:0 0 12px #f5a83d4d;color:#f5a83d!important}.core-values{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.value-item{border:1px solid var(--border);color:var(--text-muted);transition:all .4s var(--ease);background:0 0;border-radius:100px;align-items:center;gap:10px;padding:10px 18px;font-size:.82rem;font-weight:500;display:flex}.value-item:hover{border-color:var(--border-hover);background:var(--surface-2);color:var(--text);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.value-icon{color:var(--text-dim);transition:all .4s var(--ease);font-size:.9rem}.value-item:hover .value-icon{color:var(--accent)}.about-visuals-column{flex-direction:column;gap:40px;display:flex}.stat-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius);transition:all .5s var(--ease);background:0 0;padding:28px 24px;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px)}.stat-minimal-glow{top:var(--mouse-y,0);left:var(--mouse-x,0);background:radial-gradient(circle, hsla(var(--stat-hue,0), 40%, 60%, .08) 0%, transparent 60%);opacity:0;pointer-events:none;width:250px;height:250px;transition:opacity .5s var(--ease);z-index:0;position:absolute;transform:translate(-50%,-50%)}.stat-card:hover .stat-minimal-glow{opacity:1}.stat-minimal-border{border-radius:var(--radius);transition:all .6s var(--ease);pointer-events:none;z-index:1;border:1px solid #0000;position:absolute;inset:0}.stat-card:hover .stat-minimal-border{border-color:hsla(var(--stat-hue,0), 40%, 50%, .3);box-shadow:inset 0 0 20px hsla(var(--stat-hue,0), 40%, 50%, .03)}.stat-content{z-index:2;position:relative}.stat-num{color:var(--accent);letter-spacing:-1px;transition:color .4s var(--ease);font-size:2.4rem;font-weight:800;line-height:1.1}.stat-card:hover .stat-num{color:hsla(var(--stat-hue,0), 60%, 75%, 1)}.stat-label{color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-top:8px;font-size:.72rem;font-weight:600}.timeline-container{flex-direction:column;gap:32px;padding-left:24px;display:flex;position:relative}.timeline-container:before{content:"";background:linear-gradient(to bottom, var(--border-hover) 0%, transparent 100%);width:1px;position:absolute;top:10px;bottom:10px;left:4px}.timeline-item{transition:all .4s var(--ease);flex-direction:column;gap:6px;display:flex;position:relative}.timeline-item:hover{transform:translate(8px)}.timeline-dot{width:8px;height:8px;transition:all .4s var(--ease);border-radius:50%;position:absolute;top:6px;left:-23.5px}.timeline-item:hover .timeline-dot{transform:scale(1.5);box-shadow:0 0 15px}.timeline-year{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;font-size:.68rem;font-weight:600}.timeline-title{color:var(--text);font-size:.95rem;font-weight:700}.timeline-desc{color:var(--text-muted);font-size:.85rem;line-height:1.5}.github-stats-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .5s var(--ease);padding:24px;position:relative;overflow:hidden}.github-stats-container:hover{border-color:var(--border-hover);box-shadow:0 16px 40px #0006}.github-stats-glow{pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff08 0%,#0000 60%);position:absolute;inset:0}.github-stats{z-index:2;flex-direction:column;gap:16px;display:flex;position:relative}.github-stats img{border-radius:var(--radius-sm);filter:grayscale(.6)brightness(.85);width:100%;transition:all .5s var(--ease);display:block}.github-stats-container:hover img{filter:grayscale(0)brightness()}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.skill-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .5s var(--ease);isolation:isolate;padding:32px;position:relative;overflow:hidden}.skill-group:hover{border-color:hsla(var(--skill-hue,0), 60%, 50%, .25);box-shadow:0 12px 40px #00000080, 0 0 60px hsla(var(--skill-hue,0), 70%, 50%, .06);transform:translateY(-6px)}.skill-glow-border{border-radius:var(--radius);background:linear-gradient(135deg, hsla(var(--skill-hue,0), 70%, 50%, 0) 0%, hsla(var(--skill-hue,0), 70%, 50%, .15) 50%, hsla(var(--skill-hue,0), 70%, 50%, 0) 100%);-webkit-mask:linear-gradient(var(--accent) 0 0) content-box, linear-gradient(var(--accent) 0 0);-webkit-mask:linear-gradient(var(--accent) 0 0) content-box, linear-gradient(var(--accent) 0 0);mask:linear-gradient(var(--accent) 0 0) content-box, linear-gradient(var(--accent) 0 0);-webkit-mask-composite:xor;opacity:0;transition:opacity .5s var(--ease);pointer-events:none;z-index:1;padding:1px;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.skill-group:hover .skill-glow-border{opacity:1;animation:4s linear infinite borderRotate}.skill-cursor-glow{width:200px;height:200px;left:var(--mouse-x,50%);top:var(--mouse-y,50%);background:radial-gradient(circle, hsla(var(--skill-hue,0), 70%, 50%, .08) 0%, transparent 70%);pointer-events:none;opacity:0;transition:opacity .4s var(--ease);z-index:0;position:absolute;transform:translate(-50%,-50%)}.skill-group:hover .skill-cursor-glow{opacity:1}.skill-orbs{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.skill-orb{filter:blur(20px);border-radius:50%;position:absolute}.skill-orb-1{width:120px;height:120px;animation:8s ease-in-out infinite orbDrift1;top:-30px;right:-20px}.skill-orb-2{width:80px;height:80px;animation:10s ease-in-out infinite orbDrift2;bottom:-20px;left:-10px}.skill-group-header{border-bottom:1px solid var(--border);z-index:2;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex;position:relative}.skill-group-icon{background:hsla(var(--skill-hue,0), 60%, 50%, .08);border:1px solid hsla(var(--skill-hue,0), 50%, 50%, .15);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--skill-accent);transition:all .4s var(--ease);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.skill-group:hover .skill-group-icon{background:hsla(var(--skill-hue,0), 60%, 50%, .15);border-color:hsla(var(--skill-hue,0), 50%, 50%, .3);box-shadow:0 0 20px hsla(var(--skill-hue,0), 70%, 50%, .15);transform:scale(1.05)}.skill-group-title{color:var(--text);letter-spacing:1px;text-transform:uppercase;flex:1;font-size:.8rem;font-weight:700}.skill-group:hover .skill-group-title{color:var(--skill-accent);transition:color .4s var(--ease)}.skill-group-count{background:var(--accent-subtle);color:var(--text-dim);letter-spacing:.5px;transition:all .4s var(--ease);border-radius:100px;padding:3px 8px;font-size:.62rem;font-weight:600}.skill-group:hover .skill-group-count{background:hsla(var(--skill-hue,0), 60%, 50%, .1);color:var(--skill-accent)}.skill-tags{z-index:2;flex-wrap:wrap;gap:12px;display:flex;position:relative}.skill-item-container{flex-direction:column;flex:calc(50% - 12px);gap:6px;display:flex}.tag{background:var(--accent-subtle);color:var(--text-muted);border:1px solid var(--border);transition:all .3s var(--ease);text-align:center;border-radius:100px;justify-content:center;align-items:center;width:100%;padding:6px 14px;font-size:.72rem;font-weight:500;display:flex}.tag:hover{border-color:var(--border-hover);color:var(--text);background:#ffffff0f}.skill-heatmap-track{background:var(--border);border-radius:2px;width:100%;height:2px;position:relative;overflow:hidden}.skill-heatmap-fill{transform-origin:0;height:100%;animation:scaleX 1s var(--ease) forwards;opacity:.8;border-radius:2px;box-shadow:0 0 10px}.skill-tag{align-items:center;gap:6px;display:inline-flex;position:relative;overflow:hidden}.skill-tag:after{content:"";background:linear-gradient(90deg, transparent, hsla(var(--skill-hue,0), 70%, 60%, .08), transparent);width:100%;height:100%;transition:left .6s var(--ease);pointer-events:none;position:absolute;top:0;left:-100%}.skill-tag:hover:after{left:100%}.skill-tag:hover{border-color:hsla(var(--skill-hue,0), 50%, 50%, .25);color:var(--skill-accent);background:hsla(var(--skill-hue,0), 60%, 50%, .06)}.tag-dot{background:var(--skill-accent);opacity:.5;width:5px;height:5px;transition:all .3s var(--ease);border-radius:50%;flex-shrink:0}.skill-tag:hover .tag-dot{opacity:1;box-shadow:0 0 8px hsla(var(--skill-hue,0), 70%, 55%, .5)}.reveal.visible .skill-tag{animation:tagPop .4s var(--ease) both}@keyframes orbDrift1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-15px,10px)scale(1.1)}66%{transform:translate(10px,-8px)scale(.95)}}@keyframes orbDrift2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(12px,-12px)scale(1.08)}}@keyframes borderRotate{0%{background:linear-gradient(0deg, hsla(var(--skill-hue), 70%, 50%, 0) 0%, hsla(var(--skill-hue), 70%, 50%, .2) 50%, hsla(var(--skill-hue), 70%, 50%, 0) 100%)}25%{background:linear-gradient(90deg, hsla(var(--skill-hue), 70%, 50%, 0) 0%, hsla(var(--skill-hue), 70%, 50%, .2) 50%, hsla(var(--skill-hue), 70%, 50%, 0) 100%)}50%{background:linear-gradient(180deg, hsla(var(--skill-hue), 70%, 50%, 0) 0%, hsla(var(--skill-hue), 70%, 50%, .2) 50%, hsla(var(--skill-hue), 70%, 50%, 0) 100%)}75%{background:linear-gradient(270deg, hsla(var(--skill-hue), 70%, 50%, 0) 0%, hsla(var(--skill-hue), 70%, 50%, .2) 50%, hsla(var(--skill-hue), 70%, 50%, 0) 100%)}to{background:linear-gradient(360deg, hsla(var(--skill-hue), 70%, 50%, 0) 0%, hsla(var(--skill-hue), 70%, 50%, .2) 50%, hsla(var(--skill-hue), 70%, 50%, 0) 100%)}}@keyframes tagPop{0%{opacity:0;transform:scale(.85)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.skill-orb,.skill-glow-border,.skill-cursor-glow{transition:none!important;animation:none!important}.skill-tag:after{display:none}.reveal.visible .skill-tag{animation:none}}.filter-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:100px;flex-wrap:wrap;gap:8px;width:fit-content;margin-bottom:48px;padding:8px;display:flex;position:relative}.filter-btn{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;transition:all .4s var(--ease);z-index:2;text-transform:uppercase;letter-spacing:1px;background:0 0;border:1px solid #0000;border-radius:100px;padding:10px 24px;font-size:.72rem;font-weight:600;position:relative}.filter-btn:hover{color:var(--text-muted);border-color:var(--border-hover);background:var(--accent-subtle)}.filter-btn.active{border-color:var(--accent);color:var(--accent);background:#ffffff0d}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius);transition:all .6s var(--ease);background:0 0;flex-direction:column;padding:36px 32px;display:flex;position:relative;overflow:hidden}.project-minimal-glow{top:var(--mouse-y,0);left:var(--mouse-x,0);background:radial-gradient(circle, hsla(var(--proj-hue,0), 30%, 60%, .06) 0%, transparent 60%);opacity:0;pointer-events:none;width:400px;height:400px;transition:opacity .5s var(--ease);z-index:0;position:absolute;transform:translate(-50%,-50%)}.project-card:hover .project-minimal-glow{opacity:1}.project-minimal-border{border-radius:var(--radius);transition:all .6s var(--ease);pointer-events:none;z-index:1;border:1px solid #0000;position:absolute;inset:0}.project-card:hover .project-minimal-border{border-color:hsla(var(--proj-hue,0), 40%, 50%, .3);box-shadow:inset 0 0 30px hsla(var(--proj-hue,0), 40%, 50%, .03)}.project-content{z-index:2;flex-direction:column;flex:1;display:flex;position:relative}.project-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.project-num{color:var(--text-dim);letter-spacing:1px;font-family:monospace;font-size:.75rem}.badge{color:var(--text-dim);border:1px solid var(--border);letter-spacing:1px;transition:all .4s var(--ease);border-radius:100px;padding:4px 12px;font-size:.6rem;font-weight:600}.project-card:hover .badge{border-color:hsla(var(--proj-hue,0), 40%, 50%, .3);color:hsla(var(--proj-hue,0), 50%, 70%, 1);background:hsla(var(--proj-hue,0), 40%, 50%, .05)}.badge.live{background:var(--accent-subtle)}.project-title-wrapper{width:fit-content;margin-bottom:16px;position:relative}.project-title{color:var(--text);letter-spacing:-.5px;transition:color .4s var(--ease);font-size:1.4rem;font-weight:600}.project-card:hover .project-title{color:var(--accent)}.project-title-underline{background:hsla(var(--proj-hue,0), 60%, 60%, .8);width:0;height:1px;transition:width .5s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:0}.project-card:hover .project-title-underline{width:100%}.project-desc{color:var(--text-muted);flex:1;margin-bottom:32px;font-size:.88rem;line-height:1.7}.project-tags{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.project-tag{color:var(--text-dim);transition:color .4s var(--ease);font-family:monospace;font-size:.7rem}.project-card:hover .project-tag{color:hsla(var(--proj-hue,0), 40%, 70%, 1)}.project-links{gap:24px;margin-top:auto;display:flex}.project-link{color:var(--text-muted);transition:all .4s var(--ease);align-items:center;gap:4px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.project-link:hover{color:var(--accent)}.link-arrow{opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1);transform:translate(-10px)}.project-card:hover .link-arrow{opacity:1;transform:translate(0)}.cert-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.cert-card{border:1px solid var(--border);border-radius:var(--radius);transition:all .6s var(--ease);background:0 0;align-items:flex-start;gap:20px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.cert-minimal-glow{top:var(--mouse-y,0);left:var(--mouse-x,0);background:radial-gradient(circle, hsla(var(--cert-hue,0), 40%, 60%, .08) 0%, transparent 60%);opacity:0;pointer-events:none;width:350px;height:350px;transition:opacity .5s var(--ease);z-index:0;position:absolute;transform:translate(-50%,-50%)}.cert-card:hover .cert-minimal-glow{opacity:1}.cert-minimal-border{border-radius:var(--radius);transition:all .6s var(--ease);pointer-events:none;z-index:1;border:1px solid #0000;position:absolute;inset:0}.cert-card:hover .cert-minimal-border{border-color:hsla(var(--cert-hue,0), 40%, 50%, .3);box-shadow:inset 0 0 20px hsla(var(--cert-hue,0), 40%, 50%, .03)}.cert-content{z-index:2;align-items:flex-start;gap:20px;width:100%;display:flex;position:relative}.cert-icon-wrapper{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:48px;height:48px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex}.cert-card:hover .cert-icon-wrapper{background:hsla(var(--cert-hue,0), 30%, 50%, .15);border-color:hsla(var(--cert-hue,0), 40%, 50%, .4);color:hsla(var(--cert-hue,0), 50%, 65%, 1);box-shadow:0 0 15px hsla(var(--cert-hue,0), 40%, 50%, .2);transform:scale(1.05)}.cert-icon-wrapper.pending{color:var(--text-dim)}.cert-details{flex:1}.cert-date{color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:.62rem;font-weight:600}.cert-title{color:var(--text);transition:color .4s var(--ease);margin-bottom:6px;font-size:.95rem;font-weight:700}.cert-card:hover .cert-title{color:var(--accent)}.cert-sub{color:var(--text-dim);font-size:.78rem;line-height:1.6}.cert-badge-tag{color:var(--text-muted);border:1px solid var(--border);letter-spacing:1px;transition:all .4s var(--ease);border-radius:100px;align-items:center;gap:6px;margin-top:12px;padding:4px 12px;font-size:.58rem;font-weight:600;display:inline-flex}.cert-card:hover .cert-badge-tag{border-color:hsla(var(--cert-hue,0), 40%, 50%, .3);color:hsla(var(--cert-hue,0), 50%, 70%, 1);background:hsla(var(--cert-hue,0), 40%, 50%, .05)}.cert-badge-tag.pending{color:var(--text-dim)}.cert-badge-dot{background:var(--text-muted);width:4px;height:4px;transition:all .4s var(--ease);border-radius:50%}.cert-card:hover .cert-badge-dot{background:hsla(var(--cert-hue,0), 60%, 65%, 1);box-shadow:0 0 8px hsla(var(--cert-hue,0), 60%, 60%, .6)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:72px;display:grid}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:40px}}.contact-desc{color:var(--text-muted);padding-right:32px;font-size:1.05rem;line-height:1.85;position:relative}.contact-desc-glow{pointer-events:none;background:radial-gradient(circle,#4080bf0d 0%,#0000 70%);border-radius:50%;width:150px;height:150px;position:absolute;top:-20px;left:-20px}.contact-desc p{margin-bottom:24px}.contact-desc strong{color:var(--text);font-weight:600;position:relative}.contact-desc strong:after{content:"";background:linear-gradient(90deg,#0000,#6699cc80,#0000);width:100%;height:1px;position:absolute;bottom:-2px;left:0}.contact-links{flex-direction:column;gap:16px;display:flex}.contact-link{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:20px;width:100%;padding:20px 28px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.contact-link.copied{background:#33cc800d;border-color:#33cc8066}.contact-minimal-glow{top:var(--mouse-y,50%);left:var(--mouse-x,50%);background:radial-gradient(circle, hsla(var(--contact-hue,0), 40%, 60%, .08) 0%, transparent 60%);opacity:0;pointer-events:none;width:300px;height:300px;transition:opacity .5s var(--ease);z-index:0;position:absolute;transform:translate(-50%,-50%)}.contact-link:hover .contact-minimal-glow{opacity:1}.contact-link:hover{border-color:hsla(var(--contact-hue,0), 40%, 50%, .4);color:var(--text);box-shadow:0 12px 30px #0006, inset 0 0 20px hsla(var(--contact-hue,0), 30%, 50%, .05);transform:translate(8px)}.footer-container{text-align:center;background:var(--bg);padding:64px 24px 48px;position:relative;overflow:hidden}.footer-glow-line{background:linear-gradient(90deg,#0000,#9966cc80,#0000);width:100%;max-width:800px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.footer-glow-line:after{content:"";background:linear-gradient(90deg, transparent, var(--brand-glow), transparent);width:150px;height:1px;animation:4s ease-in-out infinite alternate footerSweep;position:absolute;top:0;left:50%;transform:translate(-50%)}@keyframes footerSweep{0%{opacity:0;transform:translate(-300px)}50%{opacity:1}to{opacity:0;transform:translate(150px)}}.footer-content{z-index:2;flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.footer-brand{font-family:var(--font-heading);align-items:center;gap:8px;display:flex}.footer-name{color:var(--text);font-size:1.1rem;font-weight:800}.footer-year{font-size:.8rem;font-family:var(--font-mono);color:var(--text-dim)}.footer-heart{color:var(--text-muted);font-size:.8rem}.pulse-heart{color:#ff4b4b;margin:0 4px;animation:1.5s infinite pulseHeart}.pulse-coffee{color:#c9935b;margin:0 4px}@keyframes pulseHeart{0%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.25)}60%{transform:scale(1)}to{transform:scale(1)}}.footer-links a{font-size:.75rem;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;transition:color .4s var(--ease);text-decoration:none}.footer-links a:hover{color:var(--accent)}.section-divider{max-width:1100px;margin:0 auto;padding:0 clamp(24px,6vw,80px)}.section-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--border-hover), transparent);width:100%;height:1px;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleX{0%{opacity:0;transform-origin:0;transform:scaleX(0)}to{opacity:1;transform-origin:0;transform:scaleX(1)}}.reveal{opacity:0;filter:blur(8px);transform-origin:top;transition:opacity 1.2s cubic-bezier(.19,1,.22,1),transform 1.2s cubic-bezier(.19,1,.22,1),filter 1.2s cubic-bezier(.19,1,.22,1);transform:translateY(32px)rotateX(10deg)scale(.95)}.reveal.visible,.reveal.visible .stagger-item{opacity:1;filter:blur();transform:translateY(0)rotateX(0)scale(1)}.reveal.visible .stagger-item:hover{transition:transform .1s linear, box-shadow .4s var(--ease), border-color .4s var(--ease);transform:perspective(1000px) rotateX(var(--rotate-x,0deg)) rotateY(var(--rotate-y,0deg)) scale(1.02);z-index:10}.stagger-item{opacity:0;filter:blur(8px);transform-origin:top;transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1),filter 1s cubic-bezier(.19,1,.22,1);transform:translateY(24px)rotateX(10deg)scale(.95)}.stagger-item:first-child{transition-delay:50ms}.stagger-item:nth-child(2){transition-delay:.1s}.stagger-item:nth-child(3){transition-delay:.15s}.stagger-item:nth-child(4){transition-delay:.2s}.stagger-item:nth-child(5){transition-delay:.25s}.stagger-item:nth-child(6){transition-delay:.3s}.stagger-item:nth-child(7){transition-delay:.35s}.stagger-item:nth-child(8){transition-delay:.4s}@media (max-width:480px){.stat-grid,.projects-grid,.cert-grid{grid-template-columns:1fr}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.project-card:focus-visible,.cert-card:focus-visible,.nav-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}a:active,button:active,.btn-primary:active,.btn-ghost:active{transition:transform .1s var(--ease-out);transform:scale(.98)!important}.mobile-menu-toggle{cursor:pointer;z-index:501;background:0 0;border:none;width:44px;height:44px;padding:8px;display:none;position:relative}.hamburger-line{background:var(--text);width:24px;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);border-radius:2px;margin:5px auto;display:block}.mobile-menu-toggle.open .hamburger-line:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.open .hamburger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (max-width:768px){.mobile-menu-toggle{flex-direction:column;justify-content:center;align-items:center;display:flex}.nav-links{-webkit-backdrop-filter:blur(24px)saturate(1.5);opacity:0;pointer-events:none;height:calc(100dvh - 72px);transition:opacity .4s var(--ease), transform .4s var(--ease);z-index:499;background:#050505fa;flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex;position:fixed;top:72px;left:0;right:0;transform:translateY(-10px)}.nav-links.nav-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{padding:16px 32px;font-size:1.5rem}.projects-grid,.cert-grid{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:16px;width:100%;padding-bottom:24px;padding-left:16px;padding-right:16px;display:flex!important;overflow:auto hidden!important}.projects-grid::-webkit-scrollbar{display:none}.cert-grid::-webkit-scrollbar{display:none}.project-card,.cert-card{scroll-snap-align:center;flex-shrink:0;width:85%;min-width:280px;max-width:340px}section{padding:64px clamp(16px,5vw,24px) 48px!important}.section-title{margin-bottom:32px!important;font-size:2.25rem!important}.section-label{margin-bottom:12px!important}.hero-title{font-size:clamp(2.5rem,8vw,3.5rem)!important;line-height:1.1!important}.hero-subtitle{margin-bottom:32px!important;font-size:1rem!important}.hero-buttons{flex-direction:column;gap:16px;width:100%}.hero-buttons .btn-primary,.hero-buttons .btn-ghost{justify-content:center;width:100%}.skills-container{gap:32px!important}.contact-input,.contact-textarea,.btn-primary{min-height:48px!important}.projects-grid,.cert-grid{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;grid-template-columns:none!important;gap:16px!important;width:100vw!important;margin-left:calc(-1*clamp(16px,5vw,24px))!important;margin-right:calc(-1*clamp(16px,5vw,24px))!important;padding-bottom:24px!important;padding-left:clamp(16px,5vw,24px)!important;padding-right:clamp(16px,5vw,24px)!important;display:flex!important;position:relative!important;left:auto!important;overflow:auto hidden!important;transform:none!important}.projects-grid::-webkit-scrollbar{display:none!important}.cert-grid::-webkit-scrollbar{display:none!important}.project-card,.cert-card{scroll-snap-align:center!important;flex-shrink:0!important;width:80vw!important;min-width:280px!important;max-width:320px!important;height:auto!important}}.contact-icon-wrapper{z-index:2;background:var(--surface-2);border:1px solid var(--border);width:40px;height:40px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.contact-link:hover .contact-icon-wrapper{background:hsla(var(--contact-hue,0), 40%, 50%, .1);border-color:hsla(var(--contact-hue,0), 50%, 50%, .4);color:hsla(var(--contact-hue,0), 60%, 70%, 1);box-shadow:0 0 15px hsla(var(--contact-hue,0), 50%, 50%, .2);transform:scale(1.1)rotate(5deg)}.contact-text{z-index:2;transition:color .4s var(--ease);white-space:nowrap;text-overflow:ellipsis;flex:1;position:relative;overflow:hidden}.contact-link:hover .contact-text{color:var(--accent)}.contact-arrow{z-index:2;color:var(--text-dim);opacity:0;font-size:1rem;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;transform:translate(-10px,10px)}.contact-link:hover .contact-arrow{opacity:1;color:hsla(var(--contact-hue,0), 60%, 70%, 1);transform:translate(0)}@media (max-width:768px){.contact-link{gap:12px!important;padding:16px 20px!important}.filter-bar{-webkit-overflow-scrolling:touch;border-radius:100px!important;flex-wrap:nowrap!important;width:100%!important;max-width:100vw!important;padding:6px!important;overflow-x:auto!important}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0!important;padding:10px 20px!important}}@media (min-width:769px){.projects-bento{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(250px,auto);gap:24px;display:grid}.projects-bento>.project-card:first-child{grid-area:span 2/span 2}.projects-bento>.project-card:nth-child(2),.projects-bento>.project-card:nth-child(3){grid-area:span 1/span 1}.projects-bento>.project-card:nth-child(4){grid-area:span 1/span 3}}@media (max-width:768px){.projects-bento{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:24px;display:flex;overflow-x:auto;width:100vw!important;margin-left:calc(-1*clamp(16px,5vw,24px))!important;margin-right:calc(-1*clamp(16px,5vw,24px))!important;padding-left:clamp(16px,5vw,24px)!important;padding-right:clamp(16px,5vw,24px)!important}.projects-bento::-webkit-scrollbar{display:none!important}}.archive-section{margin-top:120px}.archive-section .section-title{margin-bottom:16px}.archive-header{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);grid-template-columns:1fr 3fr 3fr 1fr;gap:16px;margin-bottom:8px;padding-bottom:16px;font-size:.85rem;display:grid}.archive-item{border-bottom:1px solid var(--border);transition:all .3s var(--ease);color:var(--text-muted);grid-template-columns:1fr 3fr 3fr 1fr;align-items:center;gap:16px;padding:24px 0;font-size:.95rem;text-decoration:none;display:grid}.archive-item:hover{color:var(--text);background:#ffffff08;border-bottom-color:#0000;border-radius:8px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.archive-item-year{font-family:var(--font-mono);color:var(--text-dim)}.archive-item-title{color:var(--text);font-size:1.1rem;font-weight:600}.archive-item-tags{flex-wrap:wrap;gap:8px;display:flex}.archive-item-tag{font-family:var(--font-mono);color:hsla(var(--proj-hue,0), 60%, 70%, 1);background:hsla(var(--proj-hue,0), 40%, 50%, .1);border-radius:100px;padding:4px 8px;font-size:.75rem}.archive-item-link{color:var(--text-dim);transition:color .3s var(--ease);justify-self:end}.archive-item:hover .archive-item-link{color:var(--accent)}@media (max-width:768px){.archive-header{display:none}.archive-item{grid-template-columns:1fr;gap:12px;padding:24px 0}.archive-item-year{display:none}.archive-item-link{justify-self:start;margin-top:8px}.archive-item:hover{background:0 0;margin-left:0;padding-left:0}}.comparison-container{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-top:48px;overflow-x:auto}.comparison-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:.9rem}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--border);padding:16px 24px}.comparison-table th{color:var(--text-muted);font-weight:500}.comparison-table th[scope=row]{color:var(--text);font-weight:600}.comparison-table thead th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table .highlight-col{color:var(--accent);background:var(--accent-subtle);border-left:1px solid var(--border);border-right:1px solid var(--border)}.comparison-table thead .highlight-col{color:var(--brand-glow)}.faq-list{flex-direction:column;gap:16px;max-width:800px;margin-top:40px;display:flex}.faq-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:all .4s var(--ease);cursor:pointer;padding:24px}.faq-item:hover{border-color:var(--border-hover);background:var(--surface-3);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.faq-question{font-family:var(--font-heading);color:var(--text);transition:color .4s var(--ease);margin-bottom:12px;font-size:1.1rem;font-weight:600}.faq-item:hover .faq-question{color:var(--brand-glow)}.faq-answer{color:var(--text-muted);font-size:.95rem;line-height:1.6}.code-demo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:48px;overflow:hidden}.code-header{background:var(--surface-2);border-bottom:1px solid var(--border);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:12px 24px;font-size:.8rem;display:flex}.code-filename{color:var(--brand-glow)}.code-lang{color:var(--text-dim)}.code-body{padding:24px;overflow-x:auto}.code-body pre{font-family:var(--font-mono);color:#a8b2d1;font-size:.85rem;line-height:1.6}.thesis-quote{border-left:3px solid var(--brand-glow);margin-top:48px;padding-left:24px}.thesis-quote p{color:var(--text-muted);font-size:1.05rem;font-style:italic;line-height:1.6}.thesis-quote footer{font-family:var(--font-mono);color:var(--text-dim);margin-top:16px;font-size:.8rem}.mobile-sticky-cta{z-index:100;-webkit-backdrop-filter:blur(12px);color:var(--text);white-space:nowrap;background:#0a0a0cb3;border:1px solid #ffffff1a;border-radius:999px;padding:12px 24px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006,inset 0 0 0 1px #ffffff0d}.mobile-sticky-cta:active{background:#ffffff1a;transform:translate(-50%)scale(.95)}@media (max-width:768px){.mobile-sticky-cta{justify-content:center;align-items:center;display:flex}}.prose-blog{color:var(--text-muted);font-family:var(--font);font-size:1.05rem;line-height:1.8}.prose-blog h1,.prose-blog h2,.prose-blog h3,.prose-blog h4{color:var(--text);font-family:var(--font-heading);margin-top:2em;margin-bottom:1em;font-weight:600;font-style:normal!important}.prose-blog h2{letter-spacing:-.02em;font-size:1.8rem}.prose-blog h3{font-size:1.4rem}.prose-blog p{margin-bottom:1.5em}.prose-blog a{color:var(--accent);border-bottom:1px solid #10b9814d;text-decoration:none;transition:all .3s}.prose-blog a:hover{border-bottom-color:var(--accent);text-shadow:0 0 12px #10b98166}.prose-blog ul,.prose-blog ol{margin-bottom:1.5em;padding-left:1.5em}.prose-blog li{margin-bottom:.5em}.prose-blog li::marker{color:var(--text-dim)}.prose-blog blockquote{color:var(--text-dim);border-left:2px solid #10b98180;margin-left:0;margin-right:0;padding-left:1.5em;font-style:italic}.prose-blog code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.2em .4em;font-size:.85em}.prose-blog pre{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:1.5em;padding:1.2em;overflow-x:auto;background:var(--surface-2)!important}.prose-blog pre code{color:#e2e8f0;background:0 0;border:none;padding:0}.blog-header{margin-bottom:64px}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.blog-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:all .4s var(--ease);flex-direction:column;height:100%;padding:32px;text-decoration:none;display:flex;position:relative;overflow:hidden}.blog-card:before{content:"";opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(circle at 100% 0,#30e8ab1a,#0000 50%);position:absolute;inset:0}.blog-card:hover{background:var(--surface-3);border-color:#30e8ab4d;transform:translateY(-4px);box-shadow:0 12px 32px #0006}.blog-card:hover:before{opacity:1}.blog-meta-row{z-index:2;align-items:center;gap:12px;margin-bottom:16px;display:flex;position:relative}.blog-date{font-family:var(--font-mono);color:var(--text-dim);font-size:.8rem}.blog-line{background:var(--border);flex:1;height:1px}.blog-title{font-family:var(--font-heading);color:var(--text);z-index:2;transition:color .4s var(--ease);margin-bottom:12px;font-size:1.4rem;font-weight:600;position:relative}.blog-card:hover .blog-title{color:#30e8ab}.blog-desc{color:var(--text-muted);z-index:2;flex:1;margin-bottom:32px;font-size:.95rem;line-height:1.6;position:relative}.blog-tags{z-index:2;flex-wrap:wrap;gap:8px;margin-top:auto;display:flex;position:relative}.blog-tag{font-family:var(--font-mono);color:var(--text-dim);background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;padding:4px 10px;font-size:.75rem}.blog-post-container{max-width:800px;margin:0 auto;padding:120px clamp(24px,6vw,80px) 80px}.blog-back-link{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;margin-bottom:48px;font-size:.85rem;text-decoration:none;transition:color .3s;display:inline-flex}.blog-back-link:hover{color:#30e8ab}.blog-post-header{border-bottom:1px solid var(--border);margin-bottom:64px;padding-bottom:40px}.blog-post-title{font-family:var(--font-heading);letter-spacing:-1px;color:var(--text);margin-bottom:24px;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.prose-blog table{border-collapse:collapse;background:#18181b66;border-radius:8px;width:100%;margin:2.5rem 0;font-size:.95rem;overflow:hidden;box-shadow:0 4px 20px #0003}.prose-blog th{color:#fff;text-align:left;background:#252528cc;border-bottom:1px solid #30e8ab4d;padding:14px 16px;font-weight:600}.prose-blog td{color:var(--text-muted);border-bottom:1px solid #ffffff0d;padding:12px 16px}.prose-blog tr:last-child td{border-bottom:none}.prose-blog tbody tr:hover{background:#30e8ab08}
