:root{--bg: #080f1e;--bg-2: #0c1528;--bg-3: #101e38;--card: #0e1c35;--card-hover: #122040;--border: #1c2f4d;--border-2: #243a60;--text: #cdd9ea;--text-2: #7a93b5;--text-3: #4a607a;--accent: #3ab0ff;--accent-2: #a78bfa;--accent-dim: rgba(58, 176, 255, .1);--green: #4ade80;--green-dim: rgba(74, 222, 128, .1);--yellow: #fbbf24;--red: #f87171;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 48px rgba(0, 0, 0, .6);--glow: 0 0 32px rgba(58, 176, 255, .15);--header-bg: rgba(8, 15, 30, .88)}[data-theme=light]{--bg: #f0f5fb;--bg-2: #e8eef7;--bg-3: #dde5f0;--card: #ffffff;--card-hover: #f7fafd;--border: #cad5e2;--border-2: #b5c4d6;--text: #1a2740;--text-2: #46607e;--text-3: #7a95b0;--accent: #0070e0;--accent-2: #6d28d9;--accent-dim: rgba(0, 112, 224, .08);--green: #16a34a;--green-dim: rgba(22, 163, 74, .08);--yellow: #d97706;--red: #dc2626;--shadow: 0 2px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--glow: 0 4px 20px rgba(0, 112, 224, .12);--header-bg: rgba(240, 245, 251, .9)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.container{max-width:960px;margin:0 auto;padding:0 1.5rem}.mono{font-family:JetBrains Mono,Fira Code,monospace}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:1rem}.header-logo{font-family:JetBrains Mono,monospace;font-weight:600;font-size:1rem;color:var(--accent)!important;letter-spacing:-.02em;flex-shrink:0}.header-logo:hover{color:var(--accent)!important;opacity:.85}.header-nav{display:flex;align-items:center;gap:.25rem;list-style:none}.header-nav a{color:var(--text-2);font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:6px;transition:color .2s,background .2s}.header-nav a:hover{color:var(--text);background:var(--accent-dim)}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-2);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.theme-toggle svg{width:16px;height:16px;transition:transform .3s ease}.icon-sun{display:none}.icon-moon,[data-theme=light] .icon-sun{display:block}[data-theme=light] .icon-moon{display:none}.page-content{padding-top:60px}.section{padding:5rem 0;border-bottom:1px solid var(--border)}.section:last-of-type{border-bottom:none}.section-label{display:inline-flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem}.section-label:before{content:"//";opacity:.6}.section-title{font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:.5rem;letter-spacing:-.02em}.section-desc{color:var(--text-2);font-size:.9375rem;margin-bottom:2.5rem;max-width:560px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:border-color .2s,background .2s,box-shadow .2s}.card:hover{border-color:var(--border-2);background:var(--card-hover);box-shadow:var(--shadow)}.tag{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500;font-family:JetBrains Mono,monospace;background:var(--accent-dim);color:var(--accent);border:1px solid transparent;transition:background .2s,border-color .2s;white-space:nowrap}.tag:hover{border-color:var(--accent)}.tag-green{background:var(--green-dim);color:var(--green)}.tag-green:hover{border-color:var(--green)}.site-footer{background:var(--bg-2);border-top:1px solid var(--border);padding:2rem 0;text-align:center}.footer-text{color:var(--text-3);font-size:.8125rem;font-family:JetBrains Mono,monospace}.footer-text span{color:var(--accent)}@media (max-width: 768px){.header-nav{display:none}.section{padding:3.5rem 0}.section-title{font-size:1.5rem}}@media (max-width: 480px){.container{padding:0 1rem}}.hero-section[data-astro-cid-j7pv25f6]{padding:6rem 0 5rem;border-bottom:1px solid var(--border);background:linear-gradient(160deg,var(--bg) 0%,var(--bg-2) 60%,var(--bg) 100%)}.hero-inner[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-status[data-astro-cid-j7pv25f6]{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--green);font-weight:500;margin-bottom:1.25rem;background:var(--green-dim);padding:.375rem .75rem;border-radius:99px;border:1px solid rgba(74,222,128,.2);width:fit-content}.status-dot[data-astro-cid-j7pv25f6]{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.hero-name[data-astro-cid-j7pv25f6]{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--text);margin-bottom:1rem}.hero-name-accent[data-astro-cid-j7pv25f6]{color:var(--accent)}.hero-role[data-astro-cid-j7pv25f6]{font-size:1.0625rem;color:var(--text-2);font-weight:500;margin-bottom:1.25rem}.hero-bio[data-astro-cid-j7pv25f6]{font-size:.9375rem;color:var(--text-2);line-height:1.75;margin-bottom:1.25rem;max-width:480px}.hero-bio[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{color:var(--text);font-weight:600}.hero-location[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-3);margin-bottom:2rem}.hero-location[data-astro-cid-j7pv25f6] svg[data-astro-cid-j7pv25f6]{color:var(--accent);flex-shrink:0}.hero-links[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.625rem}.hero-link[data-astro-cid-j7pv25f6]{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-2);border:1px solid var(--border);background:var(--card);transition:color .2s,border-color .2s,background .2s}.hero-link[data-astro-cid-j7pv25f6]:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.hero-photo-wrap[data-astro-cid-j7pv25f6]{display:flex;justify-content:center;align-items:center;position:relative}.hero-photo-ring[data-astro-cid-j7pv25f6]{position:relative;width:300px;height:300px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--glow),var(--shadow-lg);transition:box-shadow .3s ease}.hero-photo-ring[data-astro-cid-j7pv25f6]:hover{box-shadow:0 0 48px #3ab0ff59,var(--shadow-lg)}.hero-photo-ring[data-astro-cid-j7pv25f6]:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--border);animation:spin-slow 12s linear infinite;background:conic-gradient(from 0deg,transparent 0%,var(--accent) 40%,transparent 60%);opacity:.25}@keyframes spin-slow{to{transform:rotate(360deg)}}.hero-photo[data-astro-cid-j7pv25f6]{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top;display:block;background:var(--bg-3)}.hero-photo-badge[data-astro-cid-j7pv25f6]{position:absolute;bottom:16px;right:8px;display:flex;align-items:center;gap:.4rem;padding:.375rem .875rem;border-radius:99px;background:var(--card);border:1px solid rgba(74,222,128,.3);font-size:.8rem;font-weight:600;color:var(--green);box-shadow:var(--shadow)}.btn-hire[data-astro-cid-j7pv25f6]{display:inline-flex;align-items:center;padding:.375rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--bg);background:var(--accent);border:1px solid var(--accent);transition:opacity .2s,box-shadow .2s}.btn-hire[data-astro-cid-j7pv25f6]:hover{color:var(--bg);opacity:.88;box-shadow:var(--glow)}.skills-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.skill-card[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:1rem}.skill-card-header[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:.75rem}.skill-icon[data-astro-cid-j7pv25f6]{width:38px;height:38px;border-radius:10px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.skill-card-title[data-astro-cid-j7pv25f6]{font-size:.9375rem;font-weight:600;color:var(--text)}.skill-tags[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag[data-astro-cid-j7pv25f6]{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:6px;font-size:.8125rem;font-weight:500;font-family:JetBrains Mono,monospace;border:1px solid transparent;transition:transform .15s ease}.skill-tag[data-astro-cid-j7pv25f6]:hover{transform:translateY(-1px)}.st-csharp[data-astro-cid-j7pv25f6]{background:#6633cc1f;color:#a78bfa;border-color:#a78bfa33}.st-ts[data-astro-cid-j7pv25f6]{background:#3178c61f;color:#60a5fa;border-color:#60a5fa33}.st-nest[data-astro-cid-j7pv25f6]{background:#e732321a;color:#f87171;border-color:#f8717133}.st-python[data-astro-cid-j7pv25f6]{background:#ffd6001a;color:#fbbf24;border-color:#fbbf2433}.st-sql[data-astro-cid-j7pv25f6]{background:#fb923c1a;color:#fb923c;border-color:#fb923c33}.st-nosql[data-astro-cid-j7pv25f6]{background:#34d3991a;color:#34d399;border-color:#34d39933}.st-neutral[data-astro-cid-j7pv25f6]{background:var(--bg-3);color:var(--text-2);border-color:var(--border)}.st-accent[data-astro-cid-j7pv25f6]{background:var(--accent-dim);color:var(--accent);border-color:#3ab0ff33}.st-green[data-astro-cid-j7pv25f6]{background:var(--green-dim);color:var(--green);border-color:#4ade8033}.st-lang[data-astro-cid-j7pv25f6]{background:#a78bfa1a;color:var(--accent-2);border-color:#a78bfa33}.timeline[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:0;position:relative}.timeline[data-astro-cid-j7pv25f6]:before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,var(--accent),var(--border),transparent)}.timeline-item[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:24px 1fr;gap:1.25rem;padding-bottom:1.5rem;position:relative}.timeline-item[data-astro-cid-j7pv25f6]:last-child{padding-bottom:0}.timeline-marker[data-astro-cid-j7pv25f6]{width:24px;height:24px;border-radius:50%;background:var(--bg-2);border:2px solid var(--accent);flex-shrink:0;margin-top:1.5rem;position:relative;z-index:1;box-shadow:0 0 0 4px var(--accent-dim)}.timeline-content[data-astro-cid-j7pv25f6]{flex:1}.job-header[data-astro-cid-j7pv25f6]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.job-title[data-astro-cid-j7pv25f6]{font-size:1.0625rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.job-company[data-astro-cid-j7pv25f6]{font-size:.875rem;color:var(--text-2)}.job-meta[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;flex-shrink:0}.job-duration[data-astro-cid-j7pv25f6]{font-size:.75rem}.job-period[data-astro-cid-j7pv25f6]{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-3)}.job-bullets[data-astro-cid-j7pv25f6]{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.job-bullets[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{font-size:.9rem;color:var(--text-2);padding-left:1.25rem;position:relative;line-height:1.65}.job-bullets[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.75rem;top:.1rem}.job-stack[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.5rem}.edu-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2.5rem}.edu-card[data-astro-cid-j7pv25f6]{display:flex;gap:1rem;align-items:flex-start}.edu-icon[data-astro-cid-j7pv25f6]{width:48px;height:48px;border-radius:12px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.edu-icon-secondary[data-astro-cid-j7pv25f6]{background:#a78bfa1a;color:var(--accent-2)}.edu-content[data-astro-cid-j7pv25f6]{flex:1}.edu-year[data-astro-cid-j7pv25f6]{font-size:.6875rem;margin-bottom:.5rem;display:inline-block}.edu-degree[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.edu-institution[data-astro-cid-j7pv25f6]{font-size:.875rem;color:var(--text-2);font-weight:500;margin-bottom:.2rem}.edu-location[data-astro-cid-j7pv25f6]{font-size:.8125rem;color:var(--text-3)}.courses-block[data-astro-cid-j7pv25f6]{border-top:1px solid var(--border);padding-top:2rem}.courses-title[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:600;color:var(--text-2);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem}.courses-list[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:.75rem}.course-item[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:1.25rem;padding:.875rem 1.25rem}.course-year[data-astro-cid-j7pv25f6]{font-size:.8125rem;color:var(--accent);font-weight:600;min-width:40px}.course-name[data-astro-cid-j7pv25f6]{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.125rem}.course-place[data-astro-cid-j7pv25f6]{font-size:.8125rem;color:var(--text-3)}.footer-links[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.625rem}.footer-link[data-astro-cid-j7pv25f6]{font-size:.8125rem;color:var(--text-3);transition:color .2s}.footer-link[data-astro-cid-j7pv25f6]:hover{color:var(--accent)}.footer-sep[data-astro-cid-j7pv25f6]{color:var(--border-2);font-size:.75rem}@media (max-width: 768px){.hero-inner[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.hero-photo-wrap[data-astro-cid-j7pv25f6]{display:none}.skills-grid[data-astro-cid-j7pv25f6],.edu-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.job-header[data-astro-cid-j7pv25f6]{flex-direction:column;gap:.5rem}.job-meta[data-astro-cid-j7pv25f6]{align-items:flex-start;flex-direction:row;align-items:center}}
