:root{--cv-bg: #ffffff;--cv-text: #1a1a1a;--cv-text-secondary: #555;--cv-border: #ddd;--cv-link: #0066cc;--cv-muted: #666}:root.cv-loading .cv{opacity:0}.cv-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem}.toolbar-btn{background:var(--entry);color:var(--primary);border:none;padding:.45rem .9rem;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s}.toolbar-btn:hover{background:var(--tertiary)}.lang-picker{position:relative}.lang-btn{background:var(--entry);color:var(--primary);border:none;padding:.45rem .7rem;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem;transition:background .15s}.lang-btn:hover{background:var(--tertiary)}.lang-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--entry);border:1px solid var(--border);border-radius:6px;overflow:hidden;z-index:200;min-width:130px;box-shadow:0 4px 12px #00000026}.lang-picker.open .lang-dropdown{display:block}.lang-option{display:block;width:100%;padding:.35rem .75rem;cursor:pointer;color:var(--primary);font-size:.85rem;font-family:inherit;border:none;background:none;text-align:left;transition:background .1s;line-height:1.3}.lang-option:hover{background:var(--tertiary)}.lang-option.active{font-weight:600}.cv-toast{display:none;position:fixed;top:4.5rem;right:1rem;background:var(--entry);color:var(--primary);padding:.6rem .9rem;border-radius:6px;box-shadow:0 4px 12px #0003;z-index:1000;align-items:center;gap:.6rem;font-size:.85rem;font-family:inherit;max-width:380px;animation:toast-in .3s ease}.cv-toast.show{display:flex}.cv-toast.fade-out{animation:toast-out .4s ease forwards}.toast-switch{background:var(--tertiary);color:var(--primary);border:none;padding:.25rem .6rem;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.8rem;white-space:nowrap}.toast-dismiss{background:none;border:none;color:var(--secondary);cursor:pointer;font-size:1.1rem;padding:0;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.cv{max-width:100%;background:var(--cv-bg);color:var(--cv-text);padding:2.5rem;border-radius:var(--radius);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:10.5pt;line-height:1.55}.cv-header{text-align:center;margin-bottom:1.5rem}.cv-header h1{font-size:1.8rem;margin:0 0 .2rem;color:var(--cv-text);font-weight:700}.cv-subtitle{font-weight:400;font-size:1.3rem;color:var(--cv-muted)}.cv-tagline{font-size:.9rem;color:var(--cv-muted);margin:0 0 .4rem;letter-spacing:.02em;font-weight:500}.contact-info{font-size:.9rem;color:var(--cv-text-secondary)}.contact-info a{color:var(--cv-link);text-decoration:none}.contact-info a:hover{text-decoration:underline}.email-wrapper{position:relative;display:inline-block}.email-link{background:none;border:none;color:var(--cv-link);font-family:inherit;font-size:inherit;cursor:pointer;padding:0}.email-link:hover{text-decoration:underline}.email-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.3rem .6rem;margin-bottom:6px;border-radius:4px;display:none;white-space:nowrap;z-index:100;font-size:.75rem}.email-tooltip:after{content:"";position:absolute;top:100%;left:0;right:0;height:8px}.email-tooltip.show{display:block}.sep{margin:0 .4rem;color:var(--cv-text-secondary)}#cv-content section{margin-bottom:1.25rem}#cv-content h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .3rem;padding-bottom:.25rem;border-bottom:1px solid var(--cv-border);color:var(--cv-text);font-weight:700}#cv-content h3{font-size:1rem;margin:0;font-weight:600;color:var(--cv-text)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.4rem}.skill-item{font-size:.9rem}.job,.education-item{margin-top:.9rem}.job{border-left:2px solid var(--cv-border);padding-left:.6rem}.job-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.job-meta{font-style:italic;color:var(--cv-text-secondary);font-size:.9rem}.job-tech{font-style:italic;color:var(--cv-text-secondary);margin:.1rem 0;font-size:.88rem}#cv-content ul{margin:.3rem 0 0 .75rem;padding:0}#cv-content li{margin-bottom:.35rem;line-height:1.45}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem}.project{border:1px solid var(--cv-border);padding:.5rem .7rem;border-radius:4px}.project h3{font-size:.92rem}.project-type{font-weight:400;color:var(--cv-text-secondary)}.project-tech{font-style:italic;color:var(--cv-text-secondary);margin:.1rem 0;font-size:.85rem}.project-desc{margin:.2rem 0 0;font-size:.88rem;line-height:1.4}.project-link{display:inline-block;margin-top:.15rem;font-size:.85rem;color:var(--cv-link)}.edu-year{font-weight:400;color:var(--cv-text-secondary)}.institution{margin:.1rem 0;color:var(--cv-text-secondary)}.thesis,.coursework{margin:.1rem 0;font-size:.9rem}.pub-entry{margin:.35rem 0;font-size:.88rem;line-height:1.4}.pub-note{display:inline-block;background:#e8f4e8;color:#2d6a2d;font-size:.78rem;padding:.05rem .35rem;border-radius:3px;font-style:normal}.awards-list{margin:.3rem 0;padding-left:1.2rem}.awards-list li{margin:.2rem 0;font-size:.9rem}.languages-list{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.4rem}#cv-content a{color:var(--cv-link)}@media print{@page{margin:.4in .5in;size:A4}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;padding:0!important;margin:0!important;font-size:9.5pt!important}.no-print,.email-tooltip,.cv-toast,.header,.footer{display:none!important}main{padding:0!important;max-width:none!important}.cv{padding:0!important;margin:0!important;border-radius:0!important}.cv-header{margin-bottom:1rem}.cv-header h1{font-size:1.6rem}#cv-content section{margin-bottom:.8rem}#cv-content h2{font-size:.8rem;margin-bottom:.2rem}.job,.education-item{margin-top:.6rem}.job{border-left:1.5px solid #ccc;padding-left:.35rem}.job-tech{font-size:.85rem}.job-header h3{page-break-after:avoid}.projects-grid{gap:.4rem}.project{border-color:#ccc;padding:.35rem .5rem;break-inside:avoid}#cv-content ul{margin-top:.2rem}#cv-content li{margin-bottom:.2rem}#cv-content a,.email-link{color:#1a1a1a!important;text-decoration:none!important}}@media(max-width:600px){.cv{padding:1.5rem}.skills-grid,.projects-grid{grid-template-columns:1fr}.job-header{flex-direction:column}.languages-list{flex-direction:column;gap:.5rem}}
