*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #09090f;--bg-secondary: #13131d;--bg-card: #13131d;--bg-card-hover: #1a1a2a;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #7e8ea8;--accent: #a78bfa;--accent-secondary: #f59e0b;--accent-dim: rgba(167, 139, 250, .12);--border: #1e1e30;--accent-hover: rgba(167, 139, 250, .35);--accent-glow: rgba(167, 139, 250, .08);--nav-bg: rgba(9, 9, 15, .85);--radius: 8px;--radius-lg: 12px;--nav-height: 56px}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f5f3ff;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--accent: #7c3aed;--accent-secondary: #d97706;--accent-dim: rgba(124, 58, 237, .08);--border: #e2e8f0;--accent-hover: rgba(124, 58, 237, .3);--accent-glow: rgba(124, 58, 237, .06);--nav-bg: rgba(255, 255, 255, .8)}.no-transition,.no-transition *,.no-transition *:before,.no-transition *:after{transition:none!important}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 8px)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.skip-link{position:absolute;top:-100%;left:0;z-index:200;padding:.5rem 1rem;background:var(--accent);color:#fff;text-decoration:none;font-size:.85rem;font-weight:500;border-radius:0 0 var(--radius) 0}.skip-link:focus{top:0}.app{min-height:100vh;overflow-x:clip}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:translateY(0)}.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease,transform .3s ease}.nav-hidden{transform:translateY(-100%)}.nav-inner{max-width:1000px;margin:0 auto;padding:0 1.5rem;height:var(--nav-height);display:flex;align-items:center;gap:1rem}.nav-brand{font-size:1.1rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.nav-brand-dot{color:var(--accent)}.nav-links{display:flex;gap:.25rem;margin-left:auto}.nav-actions{display:flex;align-items:center;gap:.25rem;margin-left:.5rem}.nav-pdf,.nav-theme{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font:inherit;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.nav-pdf:hover,.nav-theme:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.nav-link{padding:.35rem clamp(.35rem,1.5vw,.75rem);border-radius:var(--radius);color:var(--text-muted);text-decoration:none;font-size:clamp(.75rem,2.5vw,.85rem);font-weight:500;white-space:nowrap;transition:color .15s,background .15s}.nav-link:hover{color:var(--text-secondary);background:var(--bg-secondary)}.nav-link-active{color:var(--accent);background:var(--accent-dim)}.nav-overflow{display:none}.nav-overflow-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font:inherit;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.nav-overflow-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.nav-dropdown{position:absolute;top:calc(100% + 4px);right:1.25rem;min-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000004d;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,visibility .2s,transform .2s}.nav-dropdown-open{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;font:inherit;font-size:.85rem;font-weight:500;background:none;border:none;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.nav-dropdown-item:hover{color:var(--accent);background:var(--accent-dim)}.hero{padding:4rem 1.5rem 3rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border);transition:background .3s ease,border-color .3s ease}.hero-content{max-width:1000px;margin:0 auto}.hero-avatar{width:80px;height:80px;border-radius:50%;border:2px solid var(--accent-dim);margin-bottom:1rem;object-fit:cover}.hero-name{font-size:3rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:.35rem}.hero-title{font-size:1.125rem;color:var(--accent);font-weight:500;margin-bottom:1.25rem}.hero-bio{color:var(--text-secondary);font-size:1.05rem;max-width:760px}.hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.status-indicator{display:inline-flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:.85rem;color:var(--text-secondary)}.cta-primary{display:inline-flex;align-items:center;padding:.5rem 1.25rem;background:var(--accent);color:#fff;border-radius:var(--radius);text-decoration:none;font-size:.85rem;font-weight:600;transition:opacity .15s,transform .15s}.cta-primary:hover{opacity:.9;transform:translateY(-1px)}.contact-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.contact-link{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:.85rem;transition:color .15s,border-color .15s,background .15s}.contact-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.container{max-width:1000px;margin:0 auto;padding:0 1.5rem 4rem}.section{margin-top:4rem}.section-title{font-size:1.35rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--accent-dim);background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.projects-grid{display:flex;flex-direction:column;gap:1.25rem}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}@media(hover:hover){.project-card:hover{border-color:var(--accent);background:var(--bg-card-hover);box-shadow:0 0 0 1px var(--accent),0 4px 24px var(--accent-glow);transform:translateY(-2px)}.exp-card:hover{border-color:var(--accent-hover);background:var(--bg-card-hover);box-shadow:0 2px 16px var(--accent-glow);transform:translateY(-1px)}}.project-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem 1.5rem;font:inherit;border:none;background:none;color:inherit;cursor:pointer;text-align:left;gap:1rem}.project-header-left{display:flex;flex-direction:column;gap:.5rem;min-width:0;flex:1}.project-name{font-size:1.1rem;font-weight:600}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem}.project-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.project-body-open{grid-template-rows:1fr}.project-body>.project-body-inner{overflow:hidden}.project-body-content{padding:0 1.5rem 1.25rem}.project-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;line-height:1.6}.tech-badge{display:inline-block;padding:.25rem .7rem;background:var(--accent-dim);color:var(--accent);border-radius:4px;font-size:.75rem;font-weight:500}.tech-badge-sm{padding:.15rem .5rem;font-size:.75rem}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.project-link{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:.8rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.project-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.sub-projects{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.sub-projects-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.sub-project-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.5rem}.sub-project-item:last-child{margin-bottom:0}.sub-project-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.sub-project-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.sub-project-name-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .15s}.sub-project-name-link svg{opacity:.5;transition:opacity .15s}.sub-project-name-link:hover{color:var(--accent)}.sub-project-name-link:hover svg{opacity:1}.sub-project-description{color:var(--text-secondary);font-size:.8rem;margin-bottom:0;padding-left:.875rem}.experience-list{display:flex;flex-direction:column;gap:.75rem}.exp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}.exp-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.1rem 1.25rem;font:inherit;border:none;background:none;color:inherit;cursor:pointer;text-align:left;gap:1rem}.exp-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.exp-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 3px var(--accent-dim)}.exp-role{font-size:.95rem;font-weight:600;line-height:1.3}.exp-company{font-size:.8rem;color:var(--accent);font-weight:500}.exp-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.exp-period{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.chevron{color:var(--text-muted);transition:transform .25s ease}.chevron-open{transform:rotate(180deg)}.exp-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.exp-body-open{grid-template-rows:1fr}.exp-body>.exp-body-inner{overflow:hidden}.exp-body-content{padding:0 1.25rem 1.25rem 2.75rem}.exp-description{color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem}.exp-highlights{list-style:none;margin-bottom:.75rem}.exp-highlights li{position:relative;padding-left:1rem;color:var(--text-secondary);font-size:.875rem;margin-bottom:.35rem;line-height:1.5}.exp-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--accent)}.exp-tech{display:flex;flex-wrap:wrap;gap:.3rem}.tech-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.tech-category{padding-left:1rem;border-left:2px solid var(--accent)}.tech-category:first-child{border-left-color:var(--accent-secondary)}.tech-category-name{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.tech-badges{display:flex;flex-wrap:wrap;gap:.4rem}@media(max-width:768px){.tech-stack{grid-template-columns:1fr}.hero-name{font-size:2.25rem}}@media(max-width:640px){.hero{padding:4rem 1.25rem 2rem}.hero-name{font-size:1.75rem}.hero-title{font-size:1rem}.container{padding:0 1.25rem 3rem}.contact-links{flex-direction:column;gap:.5rem}.contact-link{min-height:44px}.exp-header{flex-direction:column;align-items:flex-start;gap:.5rem}.exp-header-right{padding-left:1.75rem}.project-header{padding:1rem 1.25rem}.project-body-content{padding:0 1.25rem 1rem}.hero-cta{flex-direction:column;align-items:flex-start;gap:.75rem}.nav-inner{padding:0 1.25rem}.nav-actions{display:none}.nav-overflow{display:block;position:relative;margin-left:.25rem}}.footer{border-top:1px solid var(--border);margin-top:2rem}.footer-inner{max-width:1000px;margin:0 auto;padding:1.5rem;display:flex;align-items:center;justify-content:space-between}.footer-copy{font-size:.8rem;color:var(--text-muted)}.footer-pdf{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;font:inherit;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.footer-pdf:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}@media print{*,*:before,*:after{transition:none!important;animation:none!important}:root{--bg-primary: #ffffff;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #ffffff;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--accent: #6d28d9;--accent-secondary: #d97706;--accent-dim: rgba(109, 40, 217, .1);--border: #e2e8f0}body{background:#fff;color:#1e293b;-webkit-print-color-adjust:exact;print-color-adjust:exact}.nav,.footer,.hero-cta,.hero-avatar{display:none!important}.hero{background:none;border-bottom:1px solid var(--border);padding:1.5rem 0}.reveal{opacity:1!important;transform:none!important}.exp-body,.project-body{grid-template-rows:1fr!important}.chevron{display:none}.exp-header,.project-header{cursor:default}.project-card,.exp-card{box-shadow:none!important;border:1px solid var(--border);break-inside:avoid;page-break-inside:avoid}.project-card:hover,.exp-card:hover{border-color:var(--border);background:var(--bg-card);box-shadow:none!important;transform:none!important}.tech-stack{grid-template-columns:repeat(2,1fr)}.section{break-before:auto;page-break-before:auto}.section-title{border-bottom-color:#6d28d926;-webkit-text-fill-color:var(--text-primary);color:var(--text-primary);background:none}.tech-badge{border:1px solid rgba(109,40,217,.2)}.contact-link span{display:inline!important}.contact-link{padding:.4rem .85rem!important}.contact-link:after{content:" (" attr(href) ")";font-size:.75rem;color:var(--text-muted)}.contact-link[href^="mailto:"]:after{content:none}.sub-project-name-link:after{content:" (" attr(href) ")";font-size:.75rem;color:var(--text-muted);font-weight:400}.container,.hero-content{max-width:100%}}
