:root{color-scheme:light;font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;--space-xxs: 2px;--space-xs: 4px;--space-small: 8px;--space-medium: 16px;--space-large: 24px;--color-underline-hover: #cbd5e1}html{box-sizing:border-box;min-height:100%}*,*:before,*:after{box-sizing:inherit}body{min-width:320px;min-height:100vh;margin:0;background:#fff;color:#111827}.resume-page{min-height:100vh;padding:var(--space-large);background:#fff}.resume-title{margin:0 0 var(--space-xs);color:#111827;font-size:20px;font-weight:700}.resume-subtitle{margin:0 0 var(--space-small);color:#4b5563;font-size:13px;font-weight:500}.resume-contact-info{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-small) var(--space-medium);color:#4b5563;font-size:12px}.resume-contact-item{display:inline-flex;align-items:center;gap:var(--space-xs)}.resume-contact-item a,.print-target a{color:#0366d6;text-decoration:none}.resume-contact-item a:hover,.resume-item-company:hover,.print-target a:hover{color:#0366d6;text-decoration-line:underline;text-decoration-color:var(--color-underline-hover);text-decoration-thickness:1px;text-underline-offset:3px}.resume-section{margin-top:var(--space-small);padding-top:var(--space-small);border-top:1px solid #e5e7eb;break-inside:avoid;page-break-inside:avoid}.resume-section-title{margin:0 0 var(--space-small);color:#111827;font-size:14px;font-weight:600;letter-spacing:-.01em}.resume-stack-grid{display:flex;flex-direction:column;gap:var(--space-xs)}.resume-stack-category{display:flex;flex-direction:column;gap:var(--space-xxs)}.resume-stack-label{color:#374151;font-size:12px;font-weight:600}.resume-badges,.resume-items-skills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.resume-badge{display:inline-block;padding:var(--space-xxs) var(--space-small);border:0;border-radius:8px;background:#e0f2fe;color:#1e293b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;font-weight:500;print-color-adjust:exact;-webkit-print-color-adjust:exact}.resume-experience-list,.resume-projects-list{display:flex;flex-direction:column;gap:0}.resume-experience-list+.resume-experience-list{margin-top:var(--space-medium)}.resume-project-header{display:flex;flex-direction:column;gap:var(--space-xxs)}.resume-item{display:flex;flex-direction:column;gap:var(--space-xxs);break-inside:avoid;page-break-inside:avoid}.resume-item ul{margin:var(--space-xxs) 0 0;padding-left:18px}.resume-item-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-small)}.resume-item-title{display:inline;margin:0;color:#111827;font-size:13px;font-weight:600}.resume-item-company{color:#0366d6;font-size:12px;font-weight:500;text-decoration:none}.resume-project-description{margin:0;color:#24292f;font-size:12px;line-height:1.25}.resume-company-description{color:#4b5563;font-size:12px;font-style:italic}.resume-items-skills{margin-top:2px}.resume-item-date{margin:0;color:#4b5563;font-size:12px}.resume-item-description{margin:var(--space-xxs) 0 0;color:#000;font-size:12px;line-height:1.35}.nomargin,.smallmargin{margin:0}.print-target{width:210mm;max-width:100%;min-height:297mm;margin:0 auto;padding:10mm 12mm;border:1px solid #e5e7eb;background:#fff;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;color:#111827}@media(max-width:640px){.resume-page{padding:0}}@media print{body,html,.resume-page{width:100%;max-width:100%;margin:0;padding:0;background:#fff;box-shadow:none;color:#000}.print-target{width:100%;max-width:100%;min-height:0;margin:0;padding:10mm 12mm;border:0;background:#fff;box-shadow:none;color:#111827}@page{size:A4 portrait;margin:0}}
