:root{--color-navy:#1a365d;--color-slate-dark:#2d3748;--color-slate-light:#4a5568;--color-steel-blue:#4299e1;--color-white:#ffffff;--color-paper-bg:#f8f9fa;--color-border:#e2e8f0;--color-text-main:#1a202c;--color-text-muted:#4a5568;--bg-color:var(--color-paper-bg);--text-color:var(--color-text-main);--primary-color:var(--color-navy);--secondary-color:var(--color-slate-light);--sidebar-bg:var(--color-navy);--sidebar-text:var(--color-white);--card-bg:var(--color-white);--border-color:var(--color-border);--shadow-color:rgba(0, 0, 0, 0.15);--accent-color:var(--color-steel-blue)}[data-theme=dark]{--bg-color:var(--color-paper-bg);--text-color:var(--color-text-main);--primary-color:var(--color-navy);--secondary-color:var(--color-slate-light);--sidebar-bg:var(--color-navy);--sidebar-text:var(--color-white);--card-bg:var(--color-white);--border-color:var(--color-border);--shadow-color:rgba(0, 0, 0, 0.15);--accent-color:var(--color-steel-blue)}*{box-sizing:border-box}body{font-family:inter,helvetica neue,Helvetica,Arial,sans-serif;color:var(--text-color);background:var(--bg-color);margin:0;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh}.page-content{flex:1 0 auto}a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s}a:hover{text-decoration:underline;color:var(--accent-color)}nav{background:var(--color-white);padding:1rem;box-shadow:0 1px 3px var(--shadow-color);border-bottom:1px solid var(--border-color)}nav .nav-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}@media(max-width:600px){nav .nav-content{justify-content:center}}nav ul{margin:0;padding:0;list-style:none;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}nav ul li a{color:var(--color-slate-dark);font-weight:600;font-size:1rem}nav ul li a:hover{color:var(--primary-color);text-decoration:none}nav .lang-btn{display:inline-flex;align-items:center;justify-content:center;width:2.2em;height:2.2em;background:var(--accent-color);border-radius:50%;text-decoration:none;transition:background .2s,transform .15s;font-size:1.1rem;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.25)}nav .lang-btn:hover{background:var(--primary-color);text-decoration:none;transform:scale(1.08)}.cv-container{display:flex;max-width:210mm;min-height:297mm;margin:2rem auto;background:var(--card-bg);box-shadow:0 10px 40px var(--shadow-color);overflow:hidden}.cv-container .sidebar{width:32%;background:var(--sidebar-bg);color:var(--sidebar-text);padding:2.5rem 2rem;text-align:left}.cv-container .sidebar .profile-img{width:160px;height:160px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;display:block;border:4px solid rgba(255,255,255,.2)}.cv-container .sidebar .name{margin:0 0 .5rem;font-size:2rem;color:var(--sidebar-text);font-weight:700;line-height:1.2;text-align:center}.cv-container .sidebar .tagline{color:rgba(255,255,255,.85);margin-bottom:2.5rem;font-size:1.1rem;font-weight:400;text-align:center}.cv-container .sidebar .contact-info{margin-bottom:2.5rem}.cv-container .sidebar .contact-info ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.8rem}.cv-container .sidebar .contact-info ul li{margin-bottom:0}.cv-container .sidebar .contact-info ul li a{color:rgba(255,255,255,.9);display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:400}.cv-container .sidebar .contact-info ul li a i{color:var(--accent-color);width:16px;text-align:center;font-size:1rem}.cv-container .sidebar .contact-info ul li a:hover{color:var(--color-white);text-decoration:none}.cv-container .sidebar .languages,.cv-container .sidebar .skills{margin-top:2rem}.cv-container .sidebar .languages h2,.cv-container .sidebar .skills h2{font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.5rem;color:var(--sidebar-text);margin-top:0;margin-bottom:1rem;font-weight:600}.cv-container .sidebar .languages ul,.cv-container .sidebar .skills ul{list-style:none;padding:0}.cv-container .sidebar .languages li,.cv-container .sidebar .skills li{margin-bottom:1rem;font-size:.9rem;color:rgba(255,255,255,.9)}.cv-container .sidebar .languages .skill-bar,.cv-container .sidebar .skills .skill-bar{background:rgba(255,255,255,.2);height:4px;width:100%;margin-top:6px;border-radius:2px;overflow:hidden}.cv-container .sidebar .languages .skill-bar .skill-level,.cv-container .sidebar .skills .skill-bar .skill-level{background:var(--accent-color);height:100%;border-radius:2px}.cv-container .main-content{width:68%;padding:3rem 3.5rem;background:var(--card-bg)}.cv-container .main-content section{margin-bottom:2.5rem}.cv-container .main-content section h2{color:var(--primary-color);border-bottom:2px solid var(--border-color);padding-bottom:.5rem;display:flex;align-items:center;gap:12px;font-size:1.4rem;margin-top:0;margin-bottom:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cv-container .main-content section h2 i{color:var(--primary-color);font-size:1.2rem;opacity:.8}.cv-container .main-content section h3{margin-bottom:.2rem;color:var(--color-slate-dark);font-size:1.1rem;font-weight:700}.cv-container .main-content section .header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.2rem}.cv-container .main-content section .time{color:var(--primary-color);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;text-align:right}.cv-container .main-content section .subheader{font-weight:500;color:var(--text-color);margin-bottom:.5rem;font-size:.95rem;font-style:italic}.cv-container .main-content section .details,.cv-container .main-content section .summary,.cv-container .main-content section p{color:var(--text-color);line-height:1.6;font-size:.95rem}.cv-container .main-content section .details ul,.cv-container .main-content section .summary ul,.cv-container .main-content section p ul{padding-left:18px;margin-top:.5rem}.cv-container .main-content section .details li,.cv-container .main-content section .summary li,.cv-container .main-content section p li{margin-bottom:.4rem}.cv-container .main-content section .project-item,.cv-container .main-content section .experience-item,.cv-container .main-content section .education-item{margin-bottom:1.8rem}.cv-container .main-content section .project-item:last-child,.cv-container .main-content section .experience-item:last-child,.cv-container .main-content section .education-item:last-child{margin-bottom:0}.cv-container .main-content section .publications ul{list-style:none;padding:0}.cv-container .main-content section .publications ul li{margin-bottom:1rem;line-height:1.4}.cv-container .main-content section .publications ul li strong{font-size:1rem;color:var(--color-slate-dark)}.cv-container .main-content section .publications ul li span{font-size:.9rem;color:var(--text-color)}@media screen and (max-width:800px){.cv-container{flex-direction:column;max-width:100%;margin:0;box-shadow:none;min-height:auto}.cv-container .sidebar{width:100%;padding:2rem 1.5rem}.cv-container .sidebar .profile-img{width:140px;height:140px}.cv-container .main-content{width:100%;padding:2rem 1.5rem}.cv-container .main-content section{margin-bottom:2rem}}.expand-toggle,.theme-toggle-wrapper{display:none!important}.container{max-width:800px;margin:2rem auto;padding:2rem;background:var(--card-bg);box-shadow:0 2px 10px var(--shadow-color)}.container h1{color:var(--primary-color)}.container h2{color:var(--primary-color);margin-top:2rem;font-size:1.2rem}.container h3{color:var(--color-slate-dark);margin-top:1.5rem;font-size:1.05rem}.container p,.container li{line-height:1.6;color:var(--text-color)}.social-links{display:flex;gap:.9rem;margin-top:1.5rem}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:2.6em;height:2.6em;border-radius:50%;background:var(--primary-color);color:#fff!important;font-size:1.1rem;text-decoration:none;transition:background .2s,transform .15s}.social-links a:hover{background:var(--accent-color);text-decoration:none;transform:translateY(-2px)}.site-footer{flex-shrink:0;width:100%;margin-top:3rem;background:var(--color-white);border-top:1px solid var(--border-color)}.site-footer .site-footer-content{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;gap:1.5rem;justify-content:center;font-size:.85rem}.site-footer a{color:var(--color-text-muted);font-weight:400}.site-footer a:hover{color:var(--primary-color)}.home-hero{max-width:700px;margin:3rem auto 2.5rem;padding:0 2rem;text-align:center}.home-hero .home-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;display:block;border:4px solid var(--border-color);box-shadow:0 2px 10px var(--shadow-color)}.home-hero h1{margin:0 0 .4rem;font-size:2.2rem;color:var(--primary-color);font-weight:700}.home-hero .home-tagline{color:var(--color-text-muted);font-size:1.15rem;margin-bottom:1.5rem}.home-hero .home-intro{color:var(--text-color);font-size:1.05rem;line-height:1.6}.home-hero .home-intro p:last-child{margin-bottom:0}.home-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;max-width:900px;margin:0 auto 3rem;padding:0 2rem}.home-tiles .home-tile{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.75rem 1.5rem;text-align:center;box-shadow:0 2px 10px var(--shadow-color);transition:transform .15s,box-shadow .15s;text-decoration:none}.home-tiles .home-tile i{font-size:1.6rem;color:var(--primary-color);margin-bottom:.75rem}.home-tiles .home-tile h2{margin:0 0 .4rem;font-size:1.1rem;color:var(--primary-color)}.home-tiles .home-tile p{margin:0;font-size:.88rem;color:var(--color-text-muted)}.home-tiles .home-tile:hover{transform:translateY(-3px);box-shadow:0 4px 16px var(--shadow-color);text-decoration:none}.page-section h1{color:var(--primary-color);display:flex;align-items:center;gap:12px;font-size:1.6rem;margin-top:0;text-transform:uppercase;letter-spacing:.5px}.page-section h1 i{font-size:1.4rem;opacity:.8}.page-section .page-intro{color:var(--color-text-muted);line-height:1.6;margin-bottom:2rem}.page-section .project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.page-section .project-item{border:1px solid var(--border-color);border-radius:8px;padding:1.25rem 1.4rem}.page-section .project-item h3{margin:0 0 .4rem;font-size:1.05rem}.page-section .project-item .tagline{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.cover-letter-page{display:block;padding:3.5rem 4rem}.cover-letter-page .letter-content{width:100%}.cover-letter-page .letter-content .letter-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;border-bottom:2px solid var(--border-color);padding-bottom:1rem}.cover-letter-page .letter-content .letter-header .sender-info{color:var(--text-color);line-height:1.6;font-size:.95rem}.cover-letter-page .letter-content .letter-header .sender-info strong{font-size:1.4rem;color:var(--primary-color);display:block;margin-bottom:.2rem}.cover-letter-page .letter-content .letter-header .date{color:var(--color-slate-light);font-size:.95rem}.cover-letter-page .letter-content .letter-recipient{margin-bottom:2rem;color:var(--text-color);line-height:1.5;font-size:.95rem}.cover-letter-page .letter-content .letter-subject{font-weight:700;color:var(--primary-color);margin-bottom:1.5rem;font-size:1.05rem}.cover-letter-page .letter-content .letter-body{color:var(--text-color);line-height:1.7;font-size:1rem}.cover-letter-page .letter-content .letter-body p{margin-bottom:1.2rem;text-align:justify;hyphens:auto}@media print{:root{--bg-color:#ffffff !important;--card-bg:#ffffff !important}body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}nav{display:none!important}@page{size:A4;margin:0}.cv-container{width:210mm!important;max-width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;border:none!important;page-break-after:avoid;page-break-before:avoid}.cv-container:not(.cover-letter-page){min-height:891mm!important}.cv-container.cover-letter-page{page-break-after:always!important;padding:10mm 20mm!important}.cv-container.cover-letter-page .letter-header{margin-bottom:.9rem!important;padding-bottom:.2rem!important}.cv-container.cover-letter-page .letter-recipient{margin-bottom:.85rem!important;font-size:.92rem!important;line-height:1.35!important}.cv-container.cover-letter-page .letter-subject{margin-bottom:.85rem!important;font-size:.97rem!important}.cv-container.cover-letter-page .letter-body{line-height:1.32!important;font-size:.97rem!important}.cv-container.cover-letter-page .letter-body p{margin-bottom:.5rem!important;text-align:justify;hyphens:auto}.cv-container .sidebar{background-color:var(--sidebar-bg)!important;padding:12mm!important}.cv-container .sidebar .contact-info a{text-decoration:none!important}.cv-container .main-content{padding:12mm!important;-webkit-box-decoration-break:clone!important;box-decoration-break:clone!important}.cv-container .main-content p,.cv-container .main-content .details,.cv-container .main-content .summary,.cv-container .main-content li{text-align:justify;hyphens:auto;font-size:.8rem!important;line-height:1.28!important}.cv-container .main-content section{margin-bottom:3mm!important}.cv-container .main-content section h2{margin-bottom:.35rem!important;padding-bottom:.15rem!important;font-size:1.1rem!important}.cv-container .main-content .experience-item .header,.cv-container .main-content .education-item .header{margin-bottom:.1rem!important}.cv-container .main-content .experience-item .header h3,.cv-container .main-content .education-item .header h3{font-size:.95rem!important}.cv-container .main-content .project-item,.cv-container .main-content .experience-item,.cv-container .main-content .education-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:2.5mm!important}.cv-container .main-content .publications{page-break-before:always;break-before:page}.cv-container .main-content .publications li{page-break-inside:avoid;break-inside:avoid}}