@layer reset,tokens,layout,components,utilities,print,business-card;@layer reset{*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}a{color:inherit;text-decoration:none}ul,ol{list-style:none}}@layer tokens{:root{--color-primary:#42A8C0;--color-primary-dark:#318a9e;--color-primary-light:#f0f7f9;--color-surface:#ffffff;--color-surface-dim:#f8fafc;--color-surface-sidebar:#f2f5f8;--color-text:#2d3748;--color-text-muted:#718096;--color-text-light:#a0aec0;--color-border:#e2e8f0;--color-border-light:#edf2f7;--font-family-base:'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-format-heading:700;--font-format-body:400;--font-format-medium:500;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--line-height-tight:1.2;--line-height-base:1.6;--line-height-relaxed:1.8;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-full:9999px;--sidebar-width:240px;--content-max-width:1100px;--z-base:1;--z-sticky:10}}@layer layout{body{background-color:var(--color-surface-dim);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-base)}.layout-grid{display:flex;flex-direction:column;align-items:center;padding:var(--space-4)var(--space-2);min-height:100vh}.site-wrapper{display:grid;grid-template-columns:var(--sidebar-width)minmax(0,var(--content-max-width));gap:var(--space-8);background-color:var(--color-surface);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,6%);border-radius:var(--radius-lg);overflow:hidden;max-width:calc(var(--sidebar-width) + var(--content-max-width) + var(--space-8));width:100%}.sidebar{background-color:var(--color-primary);color:var(--color-surface);padding:var(--space-8)var(--space-6)}.content{padding:var(--space-8)var(--space-6)var(--space-8)0}@media(max-width:860px){.site-wrapper{grid-template-columns:1fr;gap:0;border-radius:0;box-shadow:none}.layout-grid{padding:0}.sidebar{padding:var(--space-6)var(--space-4)}.content{padding:var(--space-6)var(--space-4)}}.sidebar-wrapper{display:flex;flex-direction:column;gap:var(--space-8);position:sticky;top:var(--space-8)}.site-footer{text-align:center;padding:var(--space-8)0;color:var(--color-text-muted);font-size:var(--font-size-sm);grid-column:1/-1;width:100%;margin-top:var(--space-4)}.resume-section{margin-bottom:var(--space-10)}.resume-section:last-child{margin-bottom:0}}@layer components{.section-title{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-2xl);font-weight:var(--font-format-heading);color:var(--color-primary-dark);margin-bottom:var(--space-6);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border-light)}.section-title .icon{color:var(--color-primary);display:flex}.sidebar-heading{font-size:var(--font-size-xl);font-weight:var(--font-format-heading);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:var(--space-2)}.profile-container{text-align:center}.profile-image{border-radius:var(--radius-full);border:4px solid rgba(255,255,255,.2);margin:0 auto var(--space-4);object-fit:cover;background-color:var(--color-surface)}.profile-identity{margin-bottom:var(--space-4)}.profile-name{font-size:var(--font-size-3xl);font-weight:var(--font-format-heading);line-height:var(--line-height-tight);margin-bottom:var(--space-1);display:flex;flex-direction:column}.profile-title{font-size:var(--font-size-lg);font-weight:var(--font-format-medium);opacity:.9}.contact-list{display:flex;flex-direction:column;gap:var(--space-3)}.contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm)}.contact-item a:hover{text-decoration:underline}.social-links{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}.social-link{display:inline-flex;padding:var(--space-2);border-radius:var(--radius-full);background-color:rgba(255,255,255,.1);transition:background-color .2s ease}.social-link:hover{background-color:rgba(255,255,255,.25)}.experience-item,.education-item{margin-bottom:var(--space-6)}.experience-header,.education-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.role,.degree{font-size:var(--font-size-lg);font-weight:var(--font-format-heading);color:var(--color-text)}.company,.institution{font-size:var(--font-size-base);color:var(--color-primary-dark);font-weight:var(--font-format-medium)}.dates{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;background:var(--color-surface-dim);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm)}.sidebar .education-header{flex-direction:column;align-items:flex-start}.sidebar .degree{color:var(--color-surface);font-size:var(--font-size-base)}.sidebar .institution,.sidebar .dates{color:rgba(255,255,255,.8);background:0 0;padding:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(Min(100%,350px),1fr));gap:var(--space-6)}.project-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background-color:var(--color-surface);transition:box-shadow .2s ease,border-color .2s ease}.project-item.has-visual{display:grid;grid-template-columns:1fr 350px;gap:var(--space-6);align-items:start}.project-visual{width:100%;overflow:hidden;border-radius:var(--radius-sm);background-color:var(--color-surface-dim);border:1px solid var(--color-border-light);padding:var(--space-2)}.project-image{width:100%;height:auto;border-radius:var(--radius-sm);display:block}.project-item:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);border-color:var(--color-border-light)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.project-name{font-size:var(--font-size-lg);font-weight:var(--font-format-heading)}.project-link{color:var(--color-text-muted)}.project-link:hover{color:var(--color-primary)}@media(max-width:860px){.project-item.has-visual{grid-template-columns:1fr}.project-visual{order:2}}.skills-groups{display:flex;flex-direction:column;gap:var(--space-6)}.skill-category-title{font-size:var(--font-size-base);font-weight:var(--font-format-heading);margin-bottom:var(--space-3);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.skill-list{display:flex;flex-direction:column;gap:var(--space-4)}.skill-item{display:grid;grid-template-columns:35% 1fr;align-items:center;gap:var(--space-4);min-height:2.5rem}.skill-name{font-size:var(--font-size-sm);font-weight:var(--font-format-medium)}.skill-bar-container{height:14px;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.skill-bar-fill{height:100%;background-color:var(--color-primary);width:var(--level);border-radius:var(--radius-full)}.language-item{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.language-level{opacity:.8}.download-list{display:flex;flex-direction:column;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-format-medium);font-size:var(--font-size-sm);transition:all .2s ease;border:1px solid transparent;width:100%}.btn-download{background-color:rgba(255,255,255,.15);color:var(--color-surface)}.btn-download:hover{background-color:var(--color-surface);color:var(--color-primary-dark)}}@layer utilities{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.prose{line-height:var(--line-height-base)}.prose p{margin-bottom:var(--space-3)}.prose p:last-child{margin-bottom:0}.prose ul{list-style-type:disc;padding-left:var(--space-6);margin-bottom:var(--space-3)}.prose li{margin-bottom:var(--space-1)}.print-only{display:none!important}}@layer print{@media print{@page{margin:1cm 1.5cm;size:A4 portrait}body{background:0 0;color:#000;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.layout-grid{display:block}.site-wrapper{display:block;box-shadow:none;border:none;border-radius:0;margin:0;padding:0;max-width:none;width:100%}.sidebar{width:100%;height:auto;min-height:0;margin-bottom:2rem}.sidebar-wrapper{position:static}.content{width:100%;padding:0;display:block}.print-hide{display:none!important}.print-only{display:block!important}.experience-item,.project-item,.education-item,.skills-groups,.summary-content{page-break-inside:avoid;break-inside:avoid}h2,h3{page-break-after:avoid;break-after:avoid}a{text-decoration:none!important;color:inherit}}}@layer business-card{.business-card-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-surface-dim)}.business-card{background-color:var(--color-surface);width:100%;max-width:400px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,6%);overflow:hidden;text-align:center;border:1px solid var(--color-border)}.card-header{background-color:var(--color-primary);color:var(--color-surface);padding:var(--space-6)}.card-profile-image{margin-bottom:var(--space-4)}.card-profile-image img{border-radius:var(--radius-full);border:3px solid rgba(255,255,255,.3);margin:0 auto;background-color:var(--color-surface)}.card-name{font-size:var(--font-size-2xl);font-weight:var(--font-format-heading);margin-bottom:var(--space-1);line-height:var(--line-height-tight)}.card-title{font-size:var(--font-size-base);font-weight:var(--font-format-medium);opacity:.9}.card-contact{padding:var(--space-6)var(--space-6)var(--space-2)}.card-contact .contact-list{align-items:center}.card-qr{padding:var(--space-4);display:flex;flex-direction:column;align-items:center}.qr-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-format-medium);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-2)}.card-footer{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-surface-dim);border-top:1px solid var(--color-border)}.card-footer .social-link{color:var(--color-text-muted);background-color:initial}.card-footer .social-link:hover{color:var(--color-primary)}@media print{@page{margin:0;size:85mm 55mm landscape}body.business-card-page{background:0 0;min-height:auto;display:block;-webkit-print-color-adjust:exact;print-color-adjust:exact}.business-card{box-shadow:none;border:none;border-radius:0;max-width:100%;height:100vh;display:flex;flex-direction:row;text-align:left}.card-header{width:45%;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.card-profile-image img{width:60px;height:60px;border-width:2px;margin-bottom:5px}.card-name{font-size:14pt}.card-title{font-size:8pt}.card-right-col{width:55%;display:flex;flex-direction:column;justify-content:center}.card-contact{padding:10px;font-size:7pt}.card-contact .contact-list{align-items:flex-start;gap:4px}.card-contact .contact-icon svg{width:12px;height:12px}.card-qr{padding:5px 10px;flex-direction:row;gap:10px;justify-content:flex-end}.card-qr .qr-image{width:40px;height:40px}.qr-label{display:none}.card-footer{display:none}}}