@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-app:#f8fafc;--bg-card:#fff;--bg-subtle:#f1f5f9;--bg-badge:#f1f5f9;--bg-badge-hover:#e2e8f0;--border-card:#e2e8f0;--border-subtle:#edf2f7;--text-main:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--accent-primary:#10b981;--accent-primary-hover:#059669;--accent-light:#10b9811a;--accent-glow:#10b98133;--shadow-card:0 1px 3px 0 #0000000d, 0 1px 2px 0 #00000008;--shadow-float:0 10px 25px -5px #0000000f, 0 8px 10px -6px #00000008;--radius-lg:16px;--radius-md:10px;--radius-sm:6px;--radius-pill:9999px}[data-theme=dark]{--bg-app:#090d16;--bg-card:#111827;--bg-subtle:#1f2937;--bg-badge:#1f2937;--bg-badge-hover:#374151;--border-card:#1f2937;--border-subtle:#1e293b;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-subtle:#6b7280;--accent-primary:#34d399;--accent-primary-hover:#10b981;--accent-light:#34d3991f;--accent-glow:#34d39940;--shadow-card:0 1px 3px 0 #0006;--shadow-float:0 10px 30px -5px #00000080}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;transition:background-color .25s,color .25s}body{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.resume-container{width:100%;max-width:1060px;margin:2.5rem auto;padding:0 1.25rem}.resume-sheet{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);padding:3rem;transition:all .25s}.top-controls{justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.ctrl-btn{border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-card);align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.ctrl-btn:hover{color:var(--text-main);border-color:var(--text-muted)}.ctrl-btn svg{width:16px;height:16px}.resume-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:2rem;display:flex}.header-info{flex:1}.author-name{letter-spacing:-.03em;color:var(--text-main);margin-bottom:.35rem;font-size:2.25rem;font-weight:700}.author-tagline{color:var(--accent-primary);letter-spacing:-.01em;margin-bottom:1rem;font-size:1.125rem;font-weight:500}.contact-bar{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.875rem;display:flex}.contact-item{align-items:center;gap:.4rem;transition:color .15s;display:inline-flex}.contact-item:hover{color:var(--accent-primary)}.contact-item svg{opacity:.8;width:15px;height:15px}.avatar-wrapper{flex-shrink:0;position:relative}.avatar-img{object-fit:cover;border:3px solid var(--bg-card);width:110px;height:110px;box-shadow:0 0 0 1px var(--border-card), var(--shadow-card);border-radius:50%}.summary-section{border-bottom:1px solid var(--border-subtle);padding:1.75rem 0}.section-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-main);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:700;display:flex}.section-heading:before{content:"";background-color:var(--accent-primary);border-radius:2px;width:4px;height:14px;display:inline-block}.summary-text{color:var(--text-muted);font-size:.975rem;line-height:1.75}.resume-body-grid{grid-template-columns:1fr 310px;gap:3rem;padding-top:2rem;display:grid}.experience-list{flex-direction:column;gap:2rem;display:flex}.experience-item{border-bottom:1px dashed var(--border-subtle);padding-bottom:1.75rem;transition:opacity .3s,transform .2s;position:relative}.experience-item:last-child{border-bottom:none;padding-bottom:0}.experience-item.dimmed{opacity:.22;filter:grayscale(.5)}.experience-item.highlighted{opacity:1}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.exp-title{color:var(--text-main);font-size:1.05rem;font-weight:600}.exp-dates{font-size:.825rem;font-family:var(--font-mono);color:var(--text-subtle)}.exp-company{color:var(--accent-primary);margin-bottom:.6rem;font-size:.925rem;font-weight:500}.exp-tech-tagline{font-size:.825rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-card);margin-bottom:.85rem;padding:.35rem .65rem;display:inline-block}.exp-bullets{flex-direction:column;gap:.5rem;list-style:none;display:flex}.exp-bullets li{color:var(--text-muted);padding-left:1.25rem;font-size:.925rem;line-height:1.6;position:relative}.exp-bullets li:before{content:"•";color:var(--accent-primary);font-weight:700;position:absolute;left:.25rem}.sidebar-col{flex-direction:column;gap:2.25rem;display:flex}.sidebar-block{flex-direction:column;gap:.85rem;display:flex}.sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-main);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex}.sidebar-title:before{content:"";background-color:var(--accent-primary);border-radius:2px;width:3px;height:12px;display:inline-block}.skill-category{margin-bottom:1rem}.skill-cat-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);margin-bottom:.4rem;font-size:.8rem;font-weight:600}.badge-cloud{flex-wrap:wrap;gap:.4rem;display:flex}.skill-pill{background-color:var(--bg-badge);color:var(--text-main);border-radius:var(--radius-pill);border:1px solid var(--border-card);align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.skill-pill.interactive{cursor:pointer}.skill-pill.interactive:hover{background-color:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.skill-pill.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.filter-banner{background:var(--accent-light);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-main);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.5rem .85rem;font-size:.85rem;display:none}.filter-banner.visible{display:flex}.filter-clear-btn{color:var(--accent-primary);padding:.2rem .4rem;font-size:.75rem;font-weight:600;text-decoration:underline}.info-card{margin-bottom:.85rem}.info-card-primary{color:var(--text-main);font-size:.9rem;font-weight:600}.info-card-secondary{color:var(--text-muted);font-size:.825rem}.info-card-meta{font-size:.775rem;font-family:var(--font-mono);color:var(--text-subtle)}.lang-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.35rem 0;display:flex}.lang-name{color:var(--text-main);font-size:.875rem;font-weight:500}.lang-level{font-size:.8rem;font-family:var(--font-mono);color:var(--text-muted)}.resume-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;display:flex}.social-links{gap:1rem;display:flex}.social-btn{color:var(--text-muted);align-items:center;gap:.4rem;transition:color .15s;display:inline-flex}.social-btn:hover{color:var(--accent-primary)}.social-btn svg{width:16px;height:16px}.toast{background:var(--text-main);color:var(--bg-card);border-radius:var(--radius-md);opacity:0;pointer-events:none;z-index:1000;padding:.65rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .25s;position:fixed;bottom:2rem;right:2rem;transform:translateY(10px);box-shadow:0 10px 25px #0003}.toast.show{opacity:1;transform:translateY(0)}@media (width<=860px){.resume-sheet{padding:1.75rem}.resume-body-grid{grid-template-columns:1fr;gap:2rem}.resume-header{flex-direction:column-reverse;align-items:flex-start}}@media print{*,:before,:after{print-color-adjust:exact!important}:root,[data-theme=dark],html,body{--bg-app:#fff!important;--bg-card:#fff!important;--bg-subtle:#f8fafc!important;--bg-badge:#f1f5f9!important;--border-card:#cbd5e1!important;--border-subtle:#e2e8f0!important;--text-main:#0f172a!important;--text-muted:#334155!important;--text-subtle:#64748b!important;--accent-primary:#059669!important;--accent-light:#05966914!important;color:#0f172a!important;background:#fff!important;font-size:9pt!important;line-height:1.35!important}@page{margin:1cm;size:A4 portrait}.no-print,.top-controls,.filter-banner,.toast,#toast{display:none!important}.resume-container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.resume-sheet{box-shadow:none!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;margin:0!important;padding:1.5rem 1.75rem!important}.resume-header{border-bottom:2px solid #e2e8f0!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding-bottom:1.25rem!important}.author-name{color:#0f172a!important;margin-bottom:.2rem!important;font-size:1.75rem!important}.author-tagline{color:#059669!important;margin-bottom:.6rem!important;font-size:.95rem!important}.contact-bar{color:#334155!important;gap:.85rem!important;font-size:.8rem!important}.avatar-img{width:80px!important;height:80px!important;box-shadow:none!important;border:2px solid #cbd5e1!important}.summary-section{border-bottom:1px solid #e2e8f0!important;padding:1rem 0!important}.section-heading{color:#0f172a!important;margin-bottom:.5rem!important;font-size:.95rem!important}.summary-text{color:#334155!important;font-size:.85rem!important;line-height:1.45!important}.resume-body-grid{grid-template-columns:1fr 260px!important;gap:1.75rem!important;padding-top:1.25rem!important;display:grid!important}.experience-list{gap:1.25rem!important}.experience-item{break-inside:avoid!important;page-break-inside:avoid!important;border-bottom:1px dashed #cbd5e1!important;padding-bottom:1.25rem!important}.experience-item.dimmed{opacity:1!important;filter:none!important}.exp-title{color:#0f172a!important;font-size:.925rem!important}.exp-dates{color:#64748b!important;font-size:.75rem!important}.exp-company{color:#059669!important;margin-bottom:.35rem!important;font-size:.85rem!important}.exp-tech-tagline{color:#1e293b!important;background:#f1f5f9!important;border:1px solid #cbd5e1!important;border-radius:4px!important;margin-bottom:.5rem!important;padding:.2rem .5rem!important;font-size:.75rem!important}.exp-bullets{gap:.3rem!important}.exp-bullets li{color:#334155!important;font-size:.8rem!important;line-height:1.35!important}.sidebar-col{gap:1.25rem!important}.sidebar-block{break-inside:avoid!important;page-break-inside:avoid!important;gap:.5rem!important}.sidebar-title{color:#0f172a!important;font-size:.85rem!important}.skill-category{margin-bottom:.6rem!important}.skill-cat-title{color:#64748b!important;margin-bottom:.25rem!important;font-size:.725rem!important}.badge-cloud{gap:.25rem!important}.skill-pill{color:#0f172a!important;background:#f8fafc!important;border:1px solid #cbd5e1!important;padding:.15rem .45rem!important;font-size:.725rem!important}.info-card{margin-bottom:.5rem!important}.info-card-primary{color:#0f172a!important;font-size:.8rem!important}.info-card-secondary{color:#334155!important;font-size:.75rem!important}.info-card-meta{color:#64748b!important;font-size:.7rem!important}.lang-row{border-bottom:1px solid #e2e8f0!important;padding:.2rem 0!important}.lang-name{color:#0f172a!important;font-size:.775rem!important}.lang-level{color:#64748b!important;font-size:.725rem!important}.resume-footer{color:#64748b!important;border-top:1px solid #e2e8f0!important;margin-top:1.25rem!important;padding-top:.75rem!important;font-size:.75rem!important}}
