.resume-page{max-width:62rem;margin:0 auto;padding:2rem 1.5rem 4rem}.resume-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.resume-back{color:var(--muted-foreground);text-decoration:none;font-size:.875rem}.resume-back:hover{color:var(--foreground)}.resume-actions{display:inline-flex;align-items:center;gap:.5rem}.resume-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;cursor:pointer;background:var(--background);color:var(--foreground)}.resume-action svg{width:1.15rem;height:1.15rem}.resume-action:hover{background:var(--muted)}.resume-action:focus-visible,.resume-back:focus-visible,.resume a:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:2px}.dark{color-scheme:dark}.resume-theme-moon{display:inline-flex}.resume-theme-sun,.dark .resume-theme-moon{display:none}.dark .resume-theme-sun{display:inline-flex}.resume{display:grid;grid-template-columns:30% 1fr;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--background)}.resume-sidebar{background:var(--secondary);padding:2rem 1.5rem}.resume-main{padding:2rem 1.75rem}.resume-avatar{width:8rem;height:8rem;border-radius:9999px;object-fit:cover;object-position:35% center;display:block;margin-bottom:1.1rem}.resume-name{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.resume-title{color:var(--muted-foreground);font-size:.95rem;margin:.15rem 0 1.25rem}.resume-contact{margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.35rem}.resume-contact-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem;font-size:.8rem;line-height:1.35}.resume-contact-row dt{color:var(--muted-foreground)}.resume-contact-row dd{margin:0;overflow-wrap:anywhere}.resume-contact a{color:inherit;text-decoration:none}.resume-contact a:hover{text-decoration:underline}.resume-sidebar .resume-sec{margin-top:1.5rem}.resume-sidebar .resume-sec>h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.5rem}.resume-prof{display:flex;flex-direction:column;gap:.6rem}.resume-prof-group dt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:.1rem}.resume-prof-group dd{margin:0;font-size:.82rem;line-height:1.5}.resume-edu+.resume-edu{margin-top:.6rem}.resume-edu-degree{font-weight:600;font-size:.85rem}.resume-edu-school{font-size:.85rem}.resume-edu-meta{color:var(--muted-foreground);font-size:.78rem;margin-top:.1rem}.resume-social{list-style:none;display:flex;flex-direction:column;gap:.35rem}.resume-social li{display:flex;align-items:center;gap:.45rem}.resume-social-icon{display:inline-flex;flex-shrink:0;color:var(--muted-foreground)}.resume-social-icon svg{width:.95rem;height:.95rem}.resume-social a{color:var(--muted-foreground);text-decoration:none;font-size:.75rem;overflow-wrap:anywhere}.resume-social a:hover{color:var(--foreground);text-decoration:underline}.resume-main .resume-sec{margin-bottom:1.75rem}.resume-main .resume-sec>h2{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.75rem}.resume-summary{margin-top:.1rem}.resume-summary a{color:inherit;text-decoration:underline;text-underline-offset:2px}.resume-role{margin-bottom:1.25rem}.resume-role-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.resume-role-title{font-size:1rem;font-weight:600}.resume-role-dates{color:var(--muted-foreground);font-size:.8rem;white-space:nowrap}.resume-role-blurb{font-size:.9rem;line-height:1.5;margin:.3rem 0 .5rem}.resume-bullets{padding-left:1.1rem}.resume-bullets li{list-style:disc;margin-bottom:.3rem;line-height:1.5;font-size:.9rem}.resume-subsection{margin-top:.55rem}.resume-subsection-label{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.resume-subsection-blurb{font-size:.9rem;line-height:1.5;margin:0 0 .4rem}.print-only{display:none}@media(max-width:680px){.resume-page{padding:1.5rem 1rem 3rem}.resume{grid-template-columns:1fr}}@media print{:root,.dark{--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--secondary: oklch(.97 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--border: oklch(.922 0 0);color-scheme:light}@page{size:A4;margin:0}html{font-size:100%}body{background:#fff}.no-print{display:none!important}.resume-contact-row.print-only{display:grid}.resume-page{max-width:none;margin:0;padding:0}.resume{border:none;border-radius:0;overflow:visible;background:linear-gradient(to right,var(--secondary) 0 30%,var(--background) 30% 100%);-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-sidebar,.resume-main{-webkit-box-decoration-break:clone;box-decoration-break:clone}.resume-sidebar{background:transparent;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:12mm 3mm}.resume-main{padding:12mm 6mm}.resume-contact-row{grid-template-columns:4rem 1fr}.resume-contact-row dd,.resume-social a{overflow-wrap:break-word}.resume-social a{font-size:.72rem}.resume-main .resume-sec>h2,.resume-role-head,.resume-subsection-label{break-after:avoid}.resume-role-head,.resume-role-blurb,.resume-bullets li,.resume-edu{break-inside:avoid}.resume a{color:#000;text-decoration:none}.resume-social a,.resume-social-icon,.resume-contact a,.resume-role-dates,.resume-edu-meta,.resume-prof-group dt{color:#000}}
