:root{--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--primary: #0a0f1e;--accent: #2563eb;--accent-light: #eff6ff;--bg: #f9fafb;--bg-card: #ffffff;--text: #111827;--text-muted: #6b7280;--text-subtle: #9ca3af;--text-body: #374151;--border: #e5e7eb;--border-light: #f3f4f6;--border-hover: #d1d5db;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--hero-bg: #ffffff;--hero-h1: var(--text);--hero-body: var(--text-body);--hero-subtle: var(--text-muted);--hero-cta2-color: var(--text-muted);--hero-cta2-border: var(--border);--hero-cta2-hover-color: var(--accent);--hero-cta2-hover-border:var(--accent)}[data-theme=dark]{--accent-light: rgba(37, 99, 235, .18);--bg: #0a0f1e;--bg-card: #161b27;--text: #f1f5f9;--text-muted: #94a3b8;--text-subtle: #475569;--text-body: #cbd5e1;--border: #2d3348;--border-light: #1a1f2e;--border-hover: #3d4461;--shadow-sm: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.2);--hero-bg: #0a0f1e;--hero-h1: #ffffff;--hero-body: #cbd5e1;--hero-subtle: #94a3b8;--hero-cta2-color: #94a3b8;--hero-cta2-border: #334155;--hero-cta2-hover-color: #cbd5e1;--hero-cta2-hover-border:#64748b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--primary);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100}.nav-brand{font-size:1rem;font-weight:700;color:#fff;letter-spacing:.2em;text-decoration:none}.nav-links{display:flex;gap:0}.nav-links a{color:#64748b;text-decoration:none;font-size:.875rem;font-weight:500;padding:0 1.2rem;height:64px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav-links a:hover{color:#fff}.nav-links a.active{color:#fff;border-bottom-color:var(--accent)}.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:none;cursor:pointer;gap:5px;padding:0}.nav-hamburger span{display:block;width:22px;height:1.5px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.nav-overlay.open{display:block}.nav-drawer{position:fixed;top:0;right:0;width:min(320px,85vw);height:100dvh;background:var(--primary);z-index:200;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column}.nav-drawer.open{transform:translate(0)}.nav-drawer-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid #1e293b;flex-shrink:0}.nav-drawer-close{background:none;border:none;color:#94a3b8;font-size:1.25rem;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s}.nav-drawer-close:hover{color:#fff}.nav-drawer-links{display:flex;flex-direction:column;padding:.5rem 0}.nav-drawer-links a{color:#94a3b8;text-decoration:none;font-size:1rem;font-weight:500;padding:1rem 1.5rem;border-bottom:1px solid #1e293b;transition:color .2s}.nav-drawer-links a:hover,.nav-drawer-links a.active{color:#fff}main{background:transparent;display:flex;flex-direction:column;flex:1}.hero-section{background:var(--hero-bg);border-bottom:1px solid var(--border);width:100%;flex:1;transition:background-color .2s}.hero-inner{max-width:860px;margin:0 auto;padding:4.5rem 1.5rem 0}.hero-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#0f172a);border:2px solid #1e3a5f;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.05em;margin-bottom:1.5rem;flex-shrink:0}.hero-eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:1rem}.hero-inner h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;color:var(--hero-h1);line-height:1.05;margin-bottom:.75rem;letter-spacing:-.02em}.hero-subtitle{font-size:1.125rem;color:var(--hero-subtle);font-weight:400;margin-bottom:1.25rem}.hero-bio{font-size:1.025rem;color:var(--hero-body);line-height:1.75;margin-bottom:.75rem}.hero-currently{display:flex;align-items:baseline;gap:.6rem;font-size:.9rem;color:var(--hero-body);margin-bottom:.75rem;line-height:1.6}.hero-currently-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);background:var(--accent-light);padding:.15rem .45rem;border-radius:3px;flex-shrink:0}.hero-location{color:var(--hero-subtle);font-size:.9rem;margin-bottom:2rem}.hero-ctas{display:flex;gap:.75rem;margin-bottom:3.5rem;flex-wrap:wrap}.cta-primary{display:inline-flex;align-items:center;background:var(--accent);color:#fff;padding:.625rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s}.cta-primary:hover{background:#1d4ed8}.cta-secondary{display:inline-flex;align-items:center;background:transparent;color:var(--hero-cta2-color);border:1px solid var(--hero-cta2-border);padding:.625rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s}.cta-secondary:hover{border-color:var(--hero-cta2-hover-border);color:var(--hero-cta2-hover-color)}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:3rem;gap:0}.stat-item{border-top:2px solid var(--accent);padding-top:1rem;padding-right:1.5rem}.stat-value{font-size:2rem;font-weight:800;color:var(--hero-h1);line-height:1;margin-bottom:.4rem;letter-spacing:-.02em}.stat-label{font-size:.72rem;color:var(--hero-subtle);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.content{flex:1;min-height:0;max-width:860px;width:100%;margin:0 auto;padding:3.5rem 1.5rem}.page{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}h2{font-size:1.625rem;font-weight:700;color:var(--text);margin-bottom:2rem;letter-spacing:-.01em}.section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);margin-bottom:.75rem}.company-banner{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:var(--border-light);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem}.company-name{font-size:.9375rem;font-weight:600;color:var(--text)}.company-tenure{font-size:.8125rem;color:var(--text-subtle)}.about-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem}.about-header h2{margin-bottom:0}.print-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.8125rem;font-weight:500;font-family:inherit;padding:.4rem .9rem;border-radius:var(--radius);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.print-btn:hover{border-color:var(--accent);color:var(--accent)}.skill-groups{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:2.5rem}.skill-group{display:flex;gap:1rem;align-items:flex-start}.skill-group-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);min-width:80px;padding-top:.3rem;flex-shrink:0}.about-bio{font-size:1rem;line-height:1.75;color:var(--text);max-width:680px;margin-bottom:2.5rem}.about-bio p+p{margin-top:1rem}.skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.skill-tag{background:var(--border-light);color:var(--text-muted);border:none;padding:.3rem .75rem;border-radius:4px;font-size:.8125rem;font-weight:500}.contact-list{display:flex;flex-direction:column;gap:.9rem}.contact-item{display:flex;align-items:baseline;gap:1rem}.contact-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);min-width:72px}.contact-item a{color:var(--accent);text-decoration:none;font-size:.9375rem}.contact-item a:hover{text-decoration:underline}.contact-item span{font-size:.9375rem;color:var(--text)}.achievements-list{display:flex;flex-direction:column;gap:1.25rem}.achievement-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.achievement-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.achievement-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.achievement-card-header h3{margin-bottom:0}.achievement-period{font-size:.8125rem;color:var(--text-subtle);font-weight:500;white-space:nowrap;flex-shrink:0}.achievement-card h3{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.6rem;letter-spacing:-.01em}.achievement-card p{color:var(--text-body);font-size:.9375rem;line-height:1.75;margin-bottom:1.25rem}.bullet-list{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.55rem}.bullet-list li{color:var(--text-body);font-size:.9375rem;line-height:1.65;padding-left:1.1rem;position:relative}.bullet-list li:before{content:"–";position:absolute;left:0;color:var(--accent);font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{background:var(--border-light);color:var(--text-muted);border:none;padding:.2rem .65rem;border-radius:4px;font-size:.8rem;font-weight:500}.blog-list{display:flex;flex-direction:column;gap:1.25rem}.blog-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.blog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.blog-card--skeleton{pointer-events:none}.blog-date{display:block;font-size:.8125rem;color:var(--text-subtle);margin-bottom:.5rem;font-weight:500}.blog-title{font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:.6rem;line-height:1.4;letter-spacing:-.01em}.blog-card:hover .blog-title{color:var(--accent)}.blog-reading-time{margin-left:.6rem;padding-left:.6rem;border-left:1px solid var(--border);color:var(--text-subtle)}.blog-excerpt{font-size:.9375rem;color:var(--text-body);line-height:1.65;margin:0}.share-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.8125rem;font-weight:500;font-family:inherit;padding:.4rem .9rem;border-radius:var(--radius);cursor:pointer;transition:border-color .15s,color .15s;margin-top:.75rem}.share-btn:hover{border-color:var(--accent);color:var(--accent)}.back-link{display:inline-block;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;margin-bottom:1.75rem;transition:color .15s}.back-link:hover{color:var(--accent)}.post-header{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border)}.post-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text);line-height:1.2;margin-top:.5rem;letter-spacing:-.02em}.post-body{max-width:680px;font-size:1rem;line-height:1.8;color:var(--text-body)}.post-body p{margin-bottom:1.25rem}.post-body h2{font-size:1.25rem;font-weight:700;color:var(--text);margin:2.25rem 0 .75rem;letter-spacing:-.01em}.post-body h3{font-size:1.05rem;font-weight:600;color:var(--text);margin:1.75rem 0 .5rem;text-transform:none;letter-spacing:0}.post-body ul,.post-body ol{padding-left:1.5rem;margin-bottom:1.25rem}.post-body li{margin-bottom:.35rem}.post-body strong{color:var(--text);font-weight:600}.post-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.post-body blockquote{border-left:3px solid var(--accent);padding-left:1.25rem;margin:1.5rem 0;color:var(--text-muted);font-style:italic}.post-body code{background:var(--border-light);padding:.15em .4em;border-radius:4px;font-size:.875em;font-family:SF Mono,Fira Code,monospace;color:var(--text)}.comment-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}.comment-form input,.comment-form textarea{padding:.7rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;background:var(--bg);color:var(--text);transition:border-color .2s;width:100%}.comment-form textarea{resize:vertical}.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--accent)}.comment-form input.invalid,.comment-form textarea.invalid{border-color:#ef4444}.field-group{display:flex;flex-direction:column;gap:.35rem}.field-hint{font-size:.8125rem;color:#ef4444;padding-left:.25rem}.comment-form button{align-self:flex-start;background:var(--accent);color:#fff;border:none;padding:.625rem 1.5rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s}.comment-form button:hover{background:#1d4ed8}.comment-form button:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1rem}.comment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.125rem 1.25rem}.comment-card strong{color:var(--text);font-weight:600}.comment-date{color:var(--text-subtle);font-size:.8125rem;margin-left:.75rem}.comment-card p{margin-top:.4rem;color:var(--text-muted);font-size:.9375rem}.comment-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.comment-author-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-author-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;padding-bottom:.25rem}.comment-author-name{color:var(--text-muted);font-size:.9rem;flex:1}.sign-out-btn{background:none;border:1px solid var(--border);color:var(--text-subtle);font-size:.8125rem;font-family:inherit;padding:.25rem .625rem;border-radius:var(--radius);cursor:pointer;transition:border-color .2s,color .2s}.sign-out-btn:hover{border-color:var(--text-muted);color:var(--text)}.auth-prompt{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.auth-prompt p{color:var(--text-muted);margin:0}.error{color:#dc2626;font-weight:500}.error-alert{position:fixed;top:1rem;right:1rem;z-index:300;display:flex;align-items:center;gap:.75rem;background:#dc2626;color:#fff;padding:.75rem 1rem;border-radius:var(--radius);box-shadow:0 4px 16px #0003;max-width:360px;font-size:.9rem;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.error-alert span{flex:1}.error-alert-close{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;opacity:.8;flex-shrink:0;padding:0}.error-alert-close:hover{opacity:1}.footer{background:var(--primary);color:#94a3b8;text-align:center;padding:1.5rem;font-size:.875rem}.footer p{line-height:1.8}.build-info{font-size:.72rem;color:#475569}.not-found{display:flex;flex-direction:column;align-items:flex-start;padding-top:3rem}.not-found-code{font-size:5rem;font-weight:800;color:var(--border);line-height:1;margin-bottom:.5rem;letter-spacing:-.04em}.not-found-message{color:var(--text-muted);font-size:1rem;margin-top:.25rem}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:1200px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:4px;display:block}.skeleton-dark{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:1200px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:4px;display:block}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1e293b 25%,#2d3a52,#1e293b 75%);background-size:1200px 100%}.nav-actions{display:flex;align-items:center;gap:.25rem}.theme-toggle{position:relative;background:#475569;border:none;cursor:pointer;width:56px;height:26px;border-radius:13px;padding:0;transition:background .25s ease;flex-shrink:0;overflow:hidden}.theme-toggle.is-dark{background:var(--accent)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s ease;z-index:1}.theme-toggle.is-dark .theme-toggle-thumb{transform:translate(30px)}.theme-toggle-icon{position:absolute;top:50%;transform:translateY(-50%);width:12px;height:12px;color:#ffffffd9;pointer-events:none}.theme-toggle-sun{left:6px}.theme-toggle-moon{right:6px}@media(max-width:768px){.nav-links{display:none}.nav-hamburger{display:flex}}@media(max-width:600px){.hero-inner h1{font-size:2.2rem}.stats-strip{grid-template-columns:repeat(2,1fr);row-gap:1.5rem}.hero-ctas{flex-direction:column}.cta-primary,.cta-secondary{justify-content:center;text-align:center}.achievement-card{padding:1.25rem}}@media(max-width:400px){.navbar{padding:0 1rem}.content{padding:2.5rem 1rem}.hero-inner{padding:3rem 1rem 0}}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.navbar,.footer,.print-btn,.nav-drawer,.nav-overlay,.error-alert{display:none!important}body{background:#fff;color:#000;font-size:11pt}.content{max-width:100%;padding:0}.hero-section{display:none}h2{font-size:16pt;margin-bottom:12pt;border-bottom:1px solid #ccc;padding-bottom:4pt}.about-bio{font-size:10.5pt;line-height:1.6}.skill-group-label{color:#555}.skill-tag{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:1pt 6pt;font-size:9pt}.company-banner{background:#f9fafb;border:1px solid #e5e7eb}.achievement-card{border:1px solid #e5e7eb;box-shadow:none;break-inside:avoid;margin-bottom:12pt;padding:12pt}.achievement-card:hover{transform:none;box-shadow:none}.bullet-list li{color:#374151;font-size:10pt}.tag{background:#f3f4f6;color:#6b7280;font-size:8.5pt}.contact-item a{color:#000;text-decoration:none}a[href]:after{content:none}}
