:root{--accent: #10b981;--accent-dark: #059669;--accent-rgb: 16, 185, 129;--hero-bg-from: #000000;--hero-bg-to: #0a0f0a;--hero-text: #10b981;--hero-muted: #4ade80;--body-bg: #020802;--body-alt: #0a0f0a;--border: #1a2e1a;--text: #a3e6b0;--text-muted: #4ade80;--text-light: #2d6a3f;--card-bg: #0a120a;--card-shadow: 0 1px 3px rgba(0,0,0,.6), 0 4px 16px rgba(16,185,129,.08);--card-shadow-hover: 0 4px 12px rgba(16,185,129,.15), 0 16px 40px rgba(16,185,129,.12);--logo-wrap-bg: #0f1f0f;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--ease: cubic-bezier(.4, 0, .2, 1);--duration: .22s}[data-theme=dark]{--body-bg: #000000;--body-alt: #050d05;--border: #132213;--text: #10b981;--text-muted: #059669;--text-light: #1a3d1a;--card-bg: #070e07;--card-shadow: 0 1px 3px rgba(0,0,0,.8), 0 4px 16px rgba(16,185,129,.1);--card-shadow-hover: 0 4px 12px rgba(16,185,129,.2), 0 16px 40px rgba(16,185,129,.15);--logo-wrap-bg: #0d1a0d}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:JetBrains Mono,Courier New,monospace;background:var(--body-bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:9999}img{display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.container{max-width:960px;margin:0 auto;padding:0 24px}.theme-toggle{position:fixed;top:20px;right:20px;z-index:200;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#0d1b2ab3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#e2e8f0;transition:transform var(--duration) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease);box-shadow:0 2px 12px #0000004d}.theme-toggle:hover{transform:scale(1.12) rotate(15deg);box-shadow:0 4px 20px rgba(var(--accent-rgb),.4)}.theme-toggle svg{width:18px;height:18px;stroke:currentColor}.icon-sun{display:none}.icon-moon,[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.hero{position:relative;background:linear-gradient(135deg,var(--hero-bg-from) 0%,var(--hero-bg-to) 100%);color:var(--hero-text);min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(16,185,129,.03) 2px,rgba(16,185,129,.03) 4px);pointer-events:none}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.2;pointer-events:none;animation:blobDrift 12s ease-in-out infinite alternate}.hero:before{width:500px;height:500px;background:var(--accent);top:-120px;right:-80px}.hero:after{width:400px;height:400px;background:#8b5cf6;bottom:-100px;left:-80px;animation-delay:-6s}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.particle{position:absolute;bottom:-8px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:var(--accent);opacity:0;animation:floatUp var(--dur) var(--delay) ease-in infinite}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;gap:56px;max-width:960px;margin:0 auto;padding:120px 24px 80px;animation:heroFadeUp .9s var(--ease) both}.hero-avatar-wrap{position:relative;flex-shrink:0}.hero-avatar{width:120px;height:120px;border-radius:4px;background:#000;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,Courier New,monospace;font-size:2.4rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);box-shadow:0 0 24px rgba(var(--accent-rgb),.4),inset 0 0 20px rgba(var(--accent-rgb),.05);position:relative;z-index:1}.avatar-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:6px;border:1px solid rgba(var(--accent-rgb),.3);animation:avatarPulse 2.4s ease-in-out infinite}.avatar-ring:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:8px;border:1px solid rgba(var(--accent-rgb),.1);animation:avatarPulse 2.4s ease-in-out infinite .4s}.hero-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.hero-name{font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--accent);margin-bottom:8px;text-shadow:0 0 20px rgba(var(--accent-rgb),.6)}.hero-title{font-size:1.1rem;font-weight:500;color:var(--hero-muted);margin-bottom:14px}.hero-tagline{font-size:1rem;color:var(--hero-muted);max-width:480px;margin-bottom:28px;line-height:1.7}.hero-contact{margin-bottom:24px;min-height:32px}.contact-loading{display:flex;gap:5px;align-items:center}.loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.4;animation:pulse 1.2s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.contact-details{display:flex;flex-wrap:wrap;gap:18px;animation:contactFadeIn .5s var(--ease) both}.contact-details.hidden{display:none}.contact-link{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--hero-muted);transition:color var(--duration) var(--ease);position:relative}.contact-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width var(--duration) var(--ease)}.contact-link:hover{color:var(--accent)}.contact-link:hover:after{width:100%}.contact-icon{width:15px;height:15px;stroke:currentColor}.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.hero-badge{padding:4px 12px;border:1px solid rgba(var(--accent-rgb),.35);border-radius:3px;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--accent);background:rgba(var(--accent-rgb),.08);transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}.hero-badge:hover{background:rgba(var(--accent-rgb),.18);transform:translateY(-1px)}.hero-scroll-hint{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--hero-muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;animation:scrollBounce 2s ease-in-out infinite;z-index:1}.hero-scroll-hint svg{width:16px;height:16px;stroke:var(--hero-muted)}.section{padding:96px 0}.section-alt{background:var(--body-alt);transition:background var(--duration) var(--ease)}.section-header{margin-bottom:48px}.section-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;text-shadow:0 0 8px rgba(var(--accent-rgb),.6)}.section-title{font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--accent);text-shadow:0 0 12px rgba(var(--accent-rgb),.4)}.about-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;box-shadow:var(--card-shadow);transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.about-text p{font-size:1rem;color:var(--text-muted);line-height:1.8;margin-bottom:16px}.about-text p:last-child{margin-bottom:0}.about-stats{display:flex;flex-direction:column;gap:24px;min-width:140px}.stat-item{text-align:center;padding:20px 24px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.02));border:1px solid rgba(var(--accent-rgb),.15);border-radius:var(--radius-md);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.stat-item:hover{transform:scale(1.04);box-shadow:0 4px 20px rgba(var(--accent-rgb),.15)}.stat-number{display:block;font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;color:var(--accent);letter-spacing:-.04em}.stat-label{display:block;font-size:.72rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.timeline{display:flex;flex-direction:column;gap:24px}.job-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.job-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.job-company-bar{display:flex;align-items:center;gap:14px;padding:18px 28px;background:linear-gradient(90deg,var(--hero-bg-from),var(--hero-bg-to));border-bottom:1px solid rgba(255,255,255,.06)}.job-company-logo{width:40px;height:40px;border-radius:var(--radius-sm);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:6px;box-shadow:0 2px 8px #0000004d;overflow:hidden}.company-logo-img{width:100%;height:100%;object-fit:contain}.company-logo-fallback{width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.02em}.job-company-info{flex:1;min-width:0}.job-company-name{display:block;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700;color:#fff}.job-location{display:block;font-size:.75rem;color:var(--hero-muted);margin-top:1px}.job-dates{font-size:.78rem;font-weight:600;color:var(--accent);white-space:nowrap;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25);border-radius:999px;padding:4px 12px}.job-body{padding:24px 28px 28px}.job-title{font-family:JetBrains Mono,Courier New,monospace;font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:14px}.job-bullets{display:flex;flex-direction:column;gap:8px}.job-bullets li{font-size:.9rem;color:var(--text-muted);line-height:1.65;padding-left:18px;position:relative}.job-bullets li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.7}.skills-category{margin-bottom:44px}.skills-cat-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}.skill-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 12px 18px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);cursor:default;position:relative;overflow:hidden;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.skill-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 30%,rgba(var(--accent-rgb),.08) 50%,transparent 70%);transform:translate(-120%);transition:transform .5s var(--ease)}.skill-tile:hover:before{transform:translate(120%)}.skill-tile:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.45)}.skill-logo-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--logo-wrap-bg);border-radius:var(--radius-sm);padding:6px;transition:background var(--duration) var(--ease)}.skill-logo{width:100%;height:100%;object-fit:contain}.skill-logo-fallback{width:36px;height:36px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-size:.65rem;font-weight:800;color:#fff;letter-spacing:.02em}.skill-name{font-size:.78rem;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.3}.edu-card{display:flex;align-items:center;gap:28px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 36px;box-shadow:var(--card-shadow);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.edu-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}.edu-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.04));border:1px solid rgba(var(--accent-rgb),.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.edu-icon svg{width:28px;height:28px;stroke:var(--accent)}.edu-degree{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:4px}.edu-university{font-size:.95rem;font-weight:500;color:var(--text-muted);margin-bottom:8px}.edu-meta{display:flex;gap:10px;align-items:center;font-size:.82rem;color:var(--text-light)}.edu-divider{opacity:.5}.edu-grade{color:var(--accent);font-weight:600}.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cert-card{display:flex;align-items:center;gap:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;box-shadow:var(--card-shadow);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.cert-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.4)}.cert-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--logo-wrap-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:5px;overflow:hidden}.cert-icon-text{font-family:Space Grotesk,sans-serif;font-size:.62rem;font-weight:800;color:var(--accent);letter-spacing:.02em;padding:0;background:transparent;border:none;width:40px;height:40px}.cert-logo{width:100%;height:100%;object-fit:contain}.cert-logo-fallback{width:28px;height:28px;border-radius:4px;background:linear-gradient(135deg,var(--accent),#8b5cf6);display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-size:.6rem;font-weight:800;color:#fff}.cert-info{flex:1;min-width:0}.cert-name{display:block;font-size:.92rem;font-weight:600;color:var(--text)}.cert-issuer{display:block;font-size:.76rem;color:var(--text-light);margin-top:2px}.cert-check{width:18px;height:18px;stroke:var(--accent);flex-shrink:0}.footer{background:var(--hero-bg-from);padding:32px 0;text-align:center}.footer-text{font-size:.8rem;color:var(--hero-muted)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger{opacity:0;transform:translateY(16px) scale(.97);transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:var(--stagger-delay, 0ms)}.stagger.visible{opacity:1;transform:translateY(0) scale(1)}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes contactFadeIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}@keyframes scrollBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(7px)}}@keyframes avatarPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:.2}}@keyframes blobDrift{0%{transform:translate(0) scale(1)}to{transform:translate(30px,20px) scale(1.08)}}@keyframes floatUp{0%{opacity:0;transform:translateY(0) scale(1)}8%{opacity:.55}90%{opacity:.08}to{opacity:0;transform:translateY(-95vh) scale(.2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal,.stagger{opacity:1;transform:none}.particle{display:none}}@media (max-width: 768px){.hero-inner{flex-direction:column;text-align:center;padding:100px 24px 60px;gap:28px}.hero-tagline{margin:0 auto 28px}.contact-details,.hero-badges{justify-content:center}.hero-scroll-hint{display:none}.about-card{grid-template-columns:1fr}.about-stats{flex-direction:row;justify-content:space-around}.job-company-bar{flex-wrap:wrap;gap:10px}.job-dates{order:3}.edu-card{flex-direction:column;text-align:center}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}.tabs{display:flex;gap:4px;background:var(--body-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;width:fit-content;margin-bottom:32px;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-family:Inter,sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.tab-btn svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}.tab-btn:hover{color:var(--text);background:rgba(var(--accent-rgb),.06)}.tab-btn.active{background:var(--card-bg);color:var(--accent);box-shadow:0 1px 4px #0000001a,0 0 0 1px var(--border)}.tab-panel{display:none}.tab-panel.active{display:block;animation:tabFadeIn .3s var(--ease) both}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--card-shadow);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:rgba(var(--accent-rgb),.35)}.project-header{display:flex;align-items:center;gap:12px}.project-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.04));border:1px solid rgba(var(--accent-rgb),.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.project-icon svg{width:18px;height:18px}.project-header>div:nth-child(2){flex:1;min-width:0}.project-title{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-status{display:inline-block;margin-top:3px;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.project-status--active{background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.25)}[data-theme=dark] .project-status--active{color:#4ade80;background:#4ade801a}.project-status--complete{background:rgba(var(--accent-rgb),.1);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.25)}.project-link{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-light);border:1px solid var(--border);flex-shrink:0;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.project-link:hover{color:var(--accent);border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.06)}.project-link svg{width:13px;height:13px}.project-desc{font-size:.88rem;color:var(--text-muted);line-height:1.7;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tag{font-size:.72rem;font-weight:600;color:var(--accent);background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;padding:3px 10px}.interests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.interest-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:var(--card-shadow);cursor:default;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.interest-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.4)}.interest-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.04));border:1px solid rgba(var(--accent-rgb),.15);display:flex;align-items:center;justify-content:center;color:var(--accent);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.interest-icon svg{width:22px;height:22px}.interest-card:hover .interest-icon{transform:scale(1.12);box-shadow:0 4px 16px rgba(var(--accent-rgb),.25)}.interest-name{font-size:.88rem;font-weight:700;color:var(--text)}.interest-desc{font-size:.75rem;color:var(--text-light);line-height:1.4}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.interests-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.tabs{width:100%}.tab-btn{flex:1;justify-content:center}}.now-card{margin-top:24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:16px 20px;max-width:440px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:heroFadeUp 1s .3s var(--ease) both}.now-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.now-pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade8099;animation:nowPulse 2s ease-out infinite;flex-shrink:0}.now-title{font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4ade80}.now-date{margin-left:auto;font-size:.7rem;color:var(--hero-muted);opacity:.7}.now-list{display:flex;flex-direction:column;gap:8px}.now-item{display:flex;align-items:center;gap:10px;font-size:.82rem}.now-icon{width:14px;height:14px;stroke:var(--accent);flex-shrink:0;opacity:.8}.now-key{font-weight:600;color:var(--hero-muted);min-width:68px;flex-shrink:0}.now-val{color:var(--hero-text);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes nowPulse{0%{box-shadow:0 0 #4ade8099}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-hint{font-size:.75rem;color:var(--hero-muted);opacity:.5;display:flex;align-items:center;gap:4px}kbd{font-family:Space Grotesk,monospace;font-size:.7rem;font-weight:600;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:1px 6px;color:var(--hero-muted)}.terminal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s var(--ease)}.terminal-overlay.open{opacity:1;pointer-events:all}.terminal-window{width:100%;max-width:680px;max-height:480px;background:#0d1117;border:1px solid #30363d;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 80px #000000b3;display:flex;flex-direction:column;transform:translateY(20px) scale(.97);transition:transform .25s var(--ease)}.terminal-overlay.open .terminal-window{transform:translateY(0) scale(1)}.terminal-titlebar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.terminal-dots{display:flex;gap:6px;align-items:center}.tdot{width:12px;height:12px;border-radius:50%;cursor:pointer;transition:opacity .15s}.tdot:hover{opacity:.8}.tdot-red{background:#ff5f57}.tdot-yellow{background:#febc2e}.tdot-green{background:#28c840}.terminal-title{flex:1;text-align:center;font-family:Space Grotesk,monospace;font-size:.78rem;color:#8b949e;letter-spacing:.04em;margin-right:48px}.terminal-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:4px;font-family:Space Grotesk,Cascadia Code,Fira Code,monospace;font-size:.82rem;line-height:1.6;color:#c9d1d9}.terminal-output{display:flex;flex-direction:column;gap:2px;flex:1}.t-line{white-space:pre-wrap;color:#c9d1d9}.t-cmd{color:#58a6ff}.t-hl{color:var(--accent);font-weight:600}.t-dim{color:#484f58}.t-green{color:#3fb950}.t-red{color:#f85149}.t-yellow{color:#d29922}.t-blank{height:6px}.terminal-welcome{color:#8b949e;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #21262d}.terminal-welcome span{color:var(--accent);font-weight:600}.terminal-input-row{display:flex;align-items:center;gap:10px;margin-top:4px;flex-shrink:0}.terminal-prompt{color:#3fb950;font-weight:600;white-space:nowrap;flex-shrink:0}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#c9d1d9;font-family:inherit;font-size:inherit;caret-color:var(--accent)}.terminal-body::-webkit-scrollbar{width:4px}.terminal-body::-webkit-scrollbar-track{background:transparent}.terminal-body::-webkit-scrollbar-thumb{background:#30363d;border-radius:2px}@media (max-width: 768px){.now-card{max-width:100%}.now-val{white-space:normal}.terminal-window{max-height:70vh}.footer-hint{display:none}}.terminal-fab{position:fixed;bottom:28px;right:28px;z-index:500;display:flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;background:#0d1117;border:1px solid rgba(var(--accent-rgb),.45);border-radius:999px;color:var(--accent);font-family:Space Grotesk,monospace;font-size:.78rem;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 20px rgba(var(--accent-rgb),.25),0 0 rgba(var(--accent-rgb),.4);animation:fabGlow 2.5s ease-in-out infinite;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease)}.terminal-fab:hover{transform:translateY(-3px) scale(1.04);background:#161b22;box-shadow:0 8px 32px rgba(var(--accent-rgb),.4),0 0 0 4px rgba(var(--accent-rgb),.12)}.terminal-fab svg{width:16px;height:16px;flex-shrink:0}.terminal-fab-label{position:relative}.terminal-fab-label:before{content:"> _";position:absolute;right:calc(100% + 4px);color:rgba(var(--accent-rgb),.5);font-size:.7rem;animation:blink 1.1s step-end infinite}@keyframes fabGlow{0%,to{box-shadow:0 4px 20px rgba(var(--accent-rgb),.2),0 0 rgba(var(--accent-rgb),.35)}50%{box-shadow:0 4px 28px rgba(var(--accent-rgb),.4),0 0 0 6px rgba(var(--accent-rgb),0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.footer-text strong{color:#e2e8f0;font-weight:600}@media (max-width: 480px){.terminal-fab-label:before{display:none}.terminal-fab{padding:12px;border-radius:50%}.terminal-fab-label{display:none}}
