:root{--font-heading: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-speed: .3s;--border-radius-lg: 16px;--border-radius-md: 10px;--border-radius-sm: 6px}html[data-theme=dark]{--bg-base: #0f111a;--bg-surface: rgba(22, 26, 43, .7);--bg-surface-solid: #161a2b;--bg-card: rgba(28, 33, 56, .5);--border-color: rgba(255, 255, 255, .08);--border-color-hover: rgba(99, 102, 241, .3);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--primary-color: #818cf8;--primary-color-hover: #a5b4fc;--accent-color: #38bdf8;--tag-bg: rgba(99, 102, 241, .15);--tag-text: #c7d2fe;--glow-opacity: .12;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 30px rgba(0, 0, 0, .3)}html[data-theme=light]{--bg-base: #f8fafc;--bg-surface: rgba(255, 255, 255, .8);--bg-surface-solid: #ffffff;--bg-card: rgba(241, 245, 249, .5);--border-color: rgba(0, 0, 0, .06);--border-color-hover: rgba(79, 70, 229, .2);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--primary-color: #4f46e5;--primary-color-hover: #4338ca;--accent-color: #0284c7;--tag-bg: rgba(79, 70, 229, .08);--tag-text: #4f46e5;--glow-opacity: .06;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .04);--shadow-md: 0 8px 30px rgba(15, 23, 42, .06)}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}.glow-bg{position:absolute;top:0;left:0;width:100%;height:600px;background:radial-gradient(circle 400px at 50% -100px,rgba(99,102,241,.2),transparent),radial-gradient(circle 300px at 10% 200px,rgba(56,189,248,.15),transparent);opacity:1;z-index:-1;pointer-events:none;transition:opacity var(--transition-speed) ease}.icon{width:20px;height:20px;stroke-width:2;flex-shrink:0;transition:transform .2s ease}.icon-sm{width:16px;height:16px}.hidden{display:none!important}.app-header{width:100%;max-width:1100px;margin:0 auto;padding:24px 24px 0;display:flex;justify-content:flex-end;z-index:10}.header-controls{display:flex;gap:12px}.btn-control{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-secondary);font-family:var(--font-heading);font-weight:500;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-control:hover{color:var(--text-primary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.btn-control:active{transform:translateY(0)}.resume-container{width:100%;max-width:1100px;margin:0 auto;padding:24px;flex:1;display:flex;flex-direction:column;gap:24px}.card{background-color:var(--bg-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:28px;box-shadow:var(--shadow-md);transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease,transform .2s ease}.card:hover{border-color:var(--border-color-hover)}.profile-hero{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;background:linear-gradient(135deg,var(--bg-surface-solid),var(--bg-surface));border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:40px;box-shadow:var(--shadow-md)}.profile-name{font-family:var(--font-heading);font-size:2.8rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(to right,var(--text-primary),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.profile-title{font-family:var(--font-heading);font-size:1.35rem;font-weight:600;color:var(--primary-color);letter-spacing:-.01em}.profile-contact{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:.95rem;color:var(--text-secondary)}.contact-item-plain{color:var(--text-secondary)}.contact-item-plain a{color:var(--text-secondary);text-decoration:underline;transition:color var(--transition-speed) ease}.contact-item-plain a:hover{color:var(--primary-color)}.skills-single-column{display:flex;flex-direction:column;gap:12px}.skills-group-single{margin-bottom:16px}.skills-subheader{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.skills-text{font-size:1rem;color:var(--text-secondary);line-height:1.6}.job-tech-inline{margin-top:12px;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.job-tech-inline strong{color:var(--text-primary)}.cert-list-plain{list-style-type:disc;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--text-secondary)}.cert-item-plain{font-size:1rem;line-height:1.5}.cert-item-plain strong{color:var(--text-primary)}.languages-inline{font-size:1rem;color:var(--text-secondary);line-height:1.5}.languages-inline strong{color:var(--text-primary)}.education-list{display:flex;flex-direction:column;gap:20px}.education-item{display:flex;flex-direction:column;gap:4px}.education-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap}.education-degree{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-primary)}.education-period{font-size:.9rem;color:var(--text-muted)}.education-institution{font-size:1rem;font-weight:500;color:var(--primary-color)}.education-details{font-size:.95rem;color:var(--text-secondary)}.resume-body{display:flex;flex-direction:column;gap:24px}.section-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px;position:relative;padding-bottom:8px}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:3px;background-color:var(--primary-color);border-radius:2px}.tag{display:inline-block;padding:5px 12px;font-size:.8rem;font-weight:500;border-radius:var(--border-radius-sm);background-color:var(--tag-bg);color:var(--tag-text);white-space:nowrap;transition:all .2s ease}.tag-sm{padding:3px 8px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.tag:hover{transform:translateY(-1px);filter:brightness(1.05)}.skills-container{display:flex;flex-direction:column;gap:20px}.skills-group-title{font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.skills-tags{display:flex;flex-wrap:wrap;gap:8px}.summary-text{font-size:1rem;color:var(--text-secondary);line-height:1.7}.role-style-box{margin-top:20px;padding:16px;background:#6366f10f;border-left:4px solid var(--primary-color);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;display:flex;flex-direction:column;gap:4px}.role-style-label{font-family:var(--font-heading);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-color)}.role-style-value{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.experience-timeline{display:flex;flex-direction:column;gap:32px;position:relative;padding-left:20px}.experience-timeline:before{content:"";position:absolute;top:5px;left:4px;width:2px;height:calc(100% - 10px);background-color:var(--border-color)}.job-item{position:relative}.job-item:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background-color:var(--bg-base);border:2px solid var(--primary-color);transform:translate(-4px);transition:background-color .2s ease}.job-item:hover:before{background-color:var(--accent-color)}.job-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}.job-role{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-primary)}.job-company{display:block;font-size:.95rem;font-weight:500;color:var(--primary-color)}.job-period{font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:var(--text-muted);background-color:var(--bg-card);padding:3px 10px;border-radius:12px;border:1px solid var(--border-color)}.job-details{list-style-type:none;margin-bottom:16px}.job-details li{position:relative;padding-left:16px;font-size:.95rem;color:var(--text-secondary);margin-bottom:8px}.job-details li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.job-tech-stack{display:flex;flex-wrap:wrap;gap:6px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-item{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:all .2s cubic-bezier(.4,0,.2,1)}.project-item:hover{transform:translateY(-2px);border-color:var(--border-color-hover);box-shadow:var(--shadow-sm)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.project-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text-primary)}.project-link{color:var(--text-muted);transition:color .2s ease}.project-link:hover{color:var(--primary-color)}.project-desc{font-size:.88rem;color:var(--text-secondary);margin-bottom:16px;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:6px}.timeline-compact{display:flex;flex-direction:column;gap:20px}.timeline-compact-item{position:relative;padding-left:14px;border-left:1.5px solid var(--border-color)}.timeline-compact-period{font-family:var(--font-heading);font-size:.8rem;font-weight:600;color:var(--primary-color);margin-bottom:4px}.timeline-compact-title{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.3}.timeline-compact-subtitle{font-size:.85rem;color:var(--text-secondary);margin-bottom:2px}.timeline-compact-details{font-size:.8rem;color:var(--text-muted)}.cert-list{list-style:none;display:flex;flex-direction:column;gap:16px}.cert-item{display:flex;align-items:flex-start;gap:10px}.cert-title{font-family:var(--font-heading);font-size:.92rem;font-weight:600;color:var(--text-primary);line-height:1.3}.cert-meta{font-size:.8rem;color:var(--text-muted);margin-top:2px}.lang-list{list-style:none;display:flex;flex-direction:column;gap:12px}.lang-item{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.lang-name{font-weight:500;color:var(--text-primary)}.lang-proficiency{font-size:.82rem;color:var(--text-secondary);background-color:var(--tag-bg);color:var(--tag-text);padding:2px 8px;border-radius:10px}@media (max-width: 992px){.resume-body{grid-template-columns:1fr}.profile-hero{padding:30px}}@media (max-width: 768px){.profile-hero{flex-direction:column;align-items:flex-start}.profile-contact{grid-template-columns:1fr;width:100%;gap:10px}.profile-name{font-size:2.2rem}.projects-grid{grid-template-columns:1fr}.app-header{padding:16px 16px 0}.resume-container{padding:16px}}@media (max-width: 480px){.profile-hero,.card{padding:20px}.profile-name{font-size:1.8rem}.profile-title{font-size:1.1rem}.section-title{font-size:1.2rem}.control-label{display:none}.btn-control{padding:10px}}@media print{:root{--text-primary: #111111;--text-secondary: #333333;--text-muted: #666666;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-surface-solid: #ffffff;--bg-card: #f8fafc;--border-color: #e2e8f0;--tag-bg: #f1f5f9;--tag-text: #1e293b}body{background-color:#fff!important;color:#111!important;font-size:11pt;line-height:1.4}.no-print,.glow-bg{display:none!important}.resume-container{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important}.profile-hero{border:none!important;border-bottom:2px solid #111111!important;border-radius:0!important;padding:0 0 20px!important;margin-bottom:20px!important;background:none!important;box-shadow:none!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important}.profile-name{font-size:24pt!important;color:#111!important;-webkit-text-fill-color:initial!important;background:none!important;margin-bottom:4px!important}.profile-title{font-size:13pt!important;color:#333!important}.profile-contact{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:6px 16px!important;font-size:9pt!important}.contact-item-plain{color:#333!important;font-size:9pt!important}.resume-body{display:flex!important;flex-direction:column!important;gap:20px!important}.card{border:none!important;border-radius:0!important;padding:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;margin-bottom:20px!important}.section-title{font-size:12pt!important;margin-bottom:12px!important;border-bottom:1px solid #e2e8f0!important;padding-bottom:4px!important}.section-title:after{display:none!important}.tag{border:1px solid #cbd5e1!important;background-color:#f8fafc!important;color:#1e293b!important;padding:2px 6px!important;font-size:8pt!important}.skills-group-single{margin-bottom:12px!important}.skills-subheader{font-size:10pt!important;font-weight:700!important;margin-bottom:2px!important;color:#111!important}.skills-text{font-size:9.5pt!important;color:#333!important;line-height:1.4!important}.experience-timeline{padding-left:0!important;gap:20px!important}.experience-timeline:before{display:none!important}.job-item{margin-bottom:10px!important}.job-item:before{display:none!important}.job-header{margin-bottom:6px!important}.job-role{font-size:11pt!important}.job-company{font-size:9.5pt!important;display:inline!important}.job-company:before{content:" at "!important;color:#666!important}.job-period{background:none!important;border:none!important;padding:0!important;font-size:9pt!important;color:#555!important}.job-details li{font-size:9.5pt!important;margin-bottom:4px!important;padding-left:12px!important}.projects-grid{grid-template-columns:1fr!important;gap:12px!important}.project-item{background:none!important;border:1px solid #e2e8f0!important;padding:10px!important;page-break-inside:avoid}.project-title{font-size:10pt!important}.project-desc{font-size:8.5pt!important;margin-bottom:8px!important}.project-link{display:none!important}.timeline-compact-item{border-left:1px solid #cbd5e1!important;padding-left:8px!important}.timeline-compact-title{font-size:9.5pt!important}.cert-item{page-break-inside:avoid}.cert-title,.lang-item{font-size:9pt!important}.role-style-box{margin-top:12px!important;padding:8px!important;background:#f8fafc!important;border-left:3px solid #4f46e5!important;border-radius:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}.role-style-label{font-size:8pt!important;color:#4f46e5!important;font-weight:700!important}.role-style-value{font-size:9pt!important;color:#333!important}h2,h3{page-break-after:avoid}.snapshot-mode{font-size:.85em!important}.snapshot-mode .card{margin-bottom:10px!important;padding:0!important}.snapshot-mode .section-title{margin-bottom:8px!important;font-size:11pt!important;padding-bottom:2px!important}.snapshot-mode .experience-timeline{gap:10px!important}.snapshot-mode .job-item{margin-bottom:8px!important}.snapshot-mode .job-header{margin-bottom:2px!important}.snapshot-mode .job-details{margin-top:4px!important}.snapshot-mode .job-details li{margin-bottom:2px!important;line-height:1.3!important}.snapshot-mode .skills-group{margin-bottom:8px!important}.snapshot-mode p{line-height:1.4!important;margin-bottom:8px!important}.snapshot-mode .profile-hero{margin-bottom:12px!important;padding-bottom:12px!important}.snapshot-mode .resume-body{gap:16px!important}.snapshot-mode #projects-card,.snapshot-mode #certifications-card,.snapshot-mode #languages-card{display:none!important}.snapshot-mode .job-item:nth-child(n+3){display:none!important}.snapshot-mode .job-details li:nth-child(n+4){display:none!important}}.snapshot-mode{font-size:.9em}.snapshot-mode .card{padding:16px;margin-bottom:12px}.snapshot-mode .section-title{margin-bottom:12px;font-size:1.2rem}.snapshot-mode .experience-timeline{gap:16px}.snapshot-mode .job-item{margin-bottom:12px}.snapshot-mode .job-details{margin-top:6px}.snapshot-mode .job-details li{margin-bottom:4px}.snapshot-mode #projects-card,.snapshot-mode #certifications-card,.snapshot-mode #languages-card{display:none!important}.snapshot-mode .job-item:nth-child(n+3){display:none!important}.snapshot-mode .job-details li:nth-child(n+4){display:none!important}.legal-disclaimer{max-width:1000px;margin:40px auto 20px;padding:24px;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.85em;line-height:1.5;box-shadow:var(--card-shadow)}.legal-disclaimer h4{margin-top:0;margin-bottom:12px;color:var(--text-primary);font-size:1.1em}.legal-disclaimer p{margin-bottom:10px}.legal-disclaimer p:last-child{margin-bottom:0}@media print{.legal-disclaimer{display:none!important}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;display:flex;flex-direction:column;gap:16px;font-family:sans-serif;color:var(--text-primary)}.modal-content-box h3{margin:0;font-size:1.25rem;font-weight:700}.modal-content-box p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.modal-input{width:100%;padding:10px 14px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-input, rgba(255, 255, 255, .03));color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s}.modal-input:focus{border-color:var(--primary-color)}.modal-error{margin:0;font-size:.8rem;color:#ef4444}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-modal-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-modal-cancel:hover{background-color:#ffffff0d}.btn-modal-submit{background-color:var(--primary-color);border:none;color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background-color .2s}.btn-modal-submit:hover{filter:brightness(1.1)}
