.resume{max-width:100%}.resume__header{padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-primary);margin-bottom:var(--space-lg)}.resume__header-content{display:flex;flex-direction:column;gap:var(--space-3)}.resume__name{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;color:var(--color-text);margin:0;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.resume__label{font-size:var(--text-xl);color:var(--color-text-secondary);font-weight:500;margin:0}.resume__summary{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text);max-width:60ch;margin-top:var(--space-2)}.resume__contact{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.resume__contact-item{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);text-decoration:none;font-size:var(--text-sm);padding:var(--space-2)var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast)}.resume__contact-item:hover{background:var(--color-primary-highlight);color:var(--color-primary)}.resume__contact-item [class^=icon-]{color:var(--color-primary);font-size:var(--text-sm)}.resume__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}@media(max-width:600px){.resume__actions{justify-content:center}}.resume__body{display:flex;flex-direction:column;gap:var(--space-xl)}.resume__nav{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-bg);padding:var(--space-sm)0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.resume__nav ul{display:flex;gap:var(--space-sm);list-style:none;margin:0;padding:0}.resume__nav::-webkit-scrollbar{display:none}.resume__nav-link{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-decoration:none;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);white-space:nowrap;transition:color var(--duration-fast),background var(--duration-fast)}.resume__nav-link:hover,.resume__nav-link.active{color:var(--color-primary);background:var(--accent-color-faded)}[data-theme=dark] .resume__nav-link:hover,[data-theme=dark] .resume__nav-link.active,.dark-mode .resume__nav-link:hover,.dark-mode .resume__nav-link.active{background:var(--color-bg-tertiary);color:var(--accent-300)}.resume__timeline{border-left:2px solid var(--color-border-subtle);padding-left:var(--space-lg)}.resume__timeline .resume__entry{position:relative}.resume__timeline .resume__entry::before{content:'';position:absolute;left:calc(-1 * var(--space-lg) - 5px);top:.5em;width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-bg)}@media(max-width:600px){.resume__timeline{border-left:none;padding-left:0}.resume__timeline .resume__entry::before{display:none}}.resume__section{margin-bottom:var(--space-lg);scroll-margin-top:4rem}.resume__section-title{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.resume__section-title [class^=icon-]{color:var(--color-primary);font-size:var(--text-md)}.resume__entry{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.resume__entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.resume__entry-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.resume__entry-title{font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.resume__entry-title a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-primary);transition:color var(--duration-fast)}.resume__entry-title a:hover{color:var(--color-primary)}.resume__entry-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.resume__entry-org{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.resume__entry-org a{color:var(--color-primary);text-decoration:none}.resume__entry-org a:hover{text-decoration:underline}.resume__entry-summary{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:normal;margin-bottom:var(--space-3);line-height:var(--leading-normal)}.resume__entry-highlights{list-style:disc;padding-left:var(--space-4);margin:0}.resume__entry-highlights li{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2);line-height:var(--leading-normal)}.resume__entry-highlights li::marker{color:var(--color-primary)}.resume__entry-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.resume__info-list{display:flex;flex-direction:column;gap:var(--space-4)}.resume__info-item{padding:var(--space-3);background:var(--color-bg-secondary);border-radius:0 var(--radius-md)var(--radius-md)0;border-left:var(--border-width-accent)solid var(--color-primary)}.resume__info-title{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-1)}.resume__info-title a{color:var(--color-text);text-decoration:none}.resume__info-title a:hover{color:var(--color-primary)}.resume__info-meta{font-size:var(--text-xs);color:var(--color-text-secondary)}.resume__skill-group{margin-bottom:var(--space-4)}.resume__skill-name{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2)}.resume__skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.resume__languages{display:flex;flex-wrap:wrap;gap:var(--space-4)}.resume__language{font-size:var(--text-sm)}.resume__language-name{font-weight:var(--font-semibold)}.resume__language-level{color:var(--color-text-secondary);font-size:var(--text-xs)}.resume__interests{display:flex;flex-direction:column;gap:var(--space-3)}.resume__interest{padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.resume__interest-name{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2)}.resume__interest-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.resume__pub-grid{columns:2 260px;column-gap:var(--space-md)}.resume__pub-card{display:flex;flex-direction:column;padding:var(--space-md);margin-bottom:var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;break-inside:avoid;transition:transform var(--duration-normal)var(--ease-out),box-shadow var(--duration-normal)var(--ease-out),border-color var(--duration-normal)var(--ease-out)}a.resume__pub-card:hover,a.resume__pub-card:focus-visible{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 8px 24px -4px rgba(var(--shadow-color),var(--alpha-15))}a.resume__pub-card:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.resume__pub-card-title{font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text);margin:0 0 var(--space-xs);line-height:1.4}.resume__pub-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-sm)}.resume__pub-card-publisher{font-size:var(--text-xs);color:var(--color-primary);font-weight:500}.resume__pub-card-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.resume__pub-card-summary{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5;margin:0}.resume__pub-card-link{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);align-self:flex-start}@media(max-width:600px){.resume__pub-grid{columns:1}}[data-theme=dark] .resume__contact-item,.dark-mode .resume__contact-item{background:var(--color-bg-secondary);border:1px solid var(--color-border)}@media print{.resume{max-width:100%!important;padding:0!important;margin:0!important}.resume__header{padding-bottom:4pt;margin-bottom:4pt;border-bottom:.5pt solid #000}.resume__header-content{gap:1pt}.resume__name{font-size:14pt;margin:0;line-height:1.2}.resume__label{font-size:10pt}.resume__summary{font-size:8pt;margin-top:2pt;line-height:1.3}.resume__actions,.resume__nav{display:none!important}.resume__contact{gap:3pt;margin-top:2pt}.resume__contact-item{font-size:7pt;padding:0;border:none!important;background:0 0!important}.resume__contact-item [class^=icon-]{display:none}.resume__body{gap:4pt}.resume__section{margin-bottom:2pt;scroll-margin-top:0}.resume__section-title{font-size:9pt;margin-bottom:3pt;padding-bottom:1pt;border-bottom:.5pt solid #000}.resume__section-title [class^=icon-]{display:none}.resume__timeline{border-left:none;padding-left:0}.resume__timeline .resume__entry::before{display:none}.resume__entry{margin-bottom:3pt;padding-bottom:3pt}.resume__entry-header{margin-bottom:0}.resume__entry-title{font-size:8pt}.resume__entry-date{font-size:6pt}.resume__entry-org{font-size:7pt;margin-bottom:0}.resume__entry-summary{font-size:7pt;margin-bottom:1pt;line-height:1.3}.resume__entry-highlights{margin:0;padding-left:10pt}.resume__entry-highlights li{font-size:7pt;margin-bottom:0;line-height:1.3}.resume__entry-tags{margin-top:1pt;gap:1pt}.resume__pub-grid{columns:1}.resume__pub-card{border:none!important;border-bottom:.5pt solid #ccc!important;border-radius:0;padding:2pt 0;margin-bottom:0;background:0 0!important;transform:none!important;transition:none!important}.resume__pub-card-title{font-size:7pt;margin-bottom:0}.resume__pub-card-summary{font-size:6pt;line-height:1.3}.resume__pub-card-link{display:none}.resume__pub-card-meta{margin-bottom:0;gap:2pt}.resume__pub-card-publisher,.resume__pub-card-date{font-size:6pt}.resume__info-list{gap:1pt}.resume__info-item{background:0 0!important;border-left:none;padding:1pt 0}.resume__info-title{font-size:8pt;margin-bottom:0}.resume__info-meta{font-size:6pt}.resume__skill-group{margin-bottom:1pt}.resume__skill-name{font-size:7pt;margin-bottom:0}.resume__skill-tags{gap:1pt}.resume__languages{gap:4pt}.resume__language{font-size:7pt}.resume__language-level{font-size:6pt}.resume .tag{font-size:6pt;padding:0 2pt;border:.5pt solid #999;background:0 0!important}.resume__entry-title a,.resume__info-title a,.resume__pub-card-title a{color:#000!important;text-decoration:none;border-bottom:none}.resume__interest{background:0 0!important;padding:1pt 0}.resume__interest-name{font-size:7pt;margin-bottom:0}.resume__interest-tags{gap:1pt}.resume__skill-tags .tag{background:0 0!important}}