:root{--bg-primary: hsl(210, 40%, 98%);--bg-secondary: hsl(210, 40%, 95%);--text-primary: hsl(222, 47%, 12%);--text-secondary: hsl(215, 20%, 38%);--accent-primary: hsl(250, 84%, 54%);--accent-secondary: hsl(262, 80%, 50%);--accent-hover: hsl(250, 84%, 48%);--accent-light: hsl(250, 100%, 96%);--border-color: hsl(214, 32%, 91%);--card-bg: hsl(0, 0%, 100%);--shadow-color: rgba(15, 23, 42, .04);--shadow-hover: rgba(15, 23, 42, .08);--focus-ring: hsla(250, 84%, 54%, .4);--font-heading: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .3s cubic-bezier(.16, 1, .3, 1);--transition-slow: .5s cubic-bezier(.16, 1, .3, 1)}body.dark-theme{--bg-primary: hsl(222, 47%, 4%);--bg-secondary: hsl(222, 47%, 8%);--text-primary: hsl(210, 40%, 98%);--text-secondary: hsl(215, 20%, 65%);--accent-primary: hsl(250, 95%, 72%);--accent-secondary: hsl(262, 90%, 70%);--accent-hover: hsl(250, 95%, 76%);--accent-light: hsl(250, 30%, 15%);--border-color: hsl(222, 22%, 15%);--card-bg: hsl(222, 47%, 8%);--shadow-color: rgba(0, 0, 0, .2);--shadow-hover: rgba(0, 0, 0, .35);--focus-ring: hsla(250, 95%, 72%, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:1rem;transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.w-full{width:100%}.text-center{text-align:center}.hidden{display:none!important}.skip-link{position:absolute;top:-100px;left:20px;background-color:var(--accent-primary);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);z-index:1000;text-decoration:none;font-weight:600;transition:top var(--transition-fast)}.skip-link:focus{top:20px;outline:3px solid var(--text-primary)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;line-height:1.25}h1{font-size:clamp(2.5rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,1.8rem);color:var(--text-primary)}h3{font-size:1.2rem;font-weight:600}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:12px 24px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px var(--focus-ring)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-sm{padding:8px 16px;font-size:.85rem;border-radius:var(--radius-sm)}.badge{display:inline-flex;padding:6px 14px;border-radius:50px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-accent{background-color:var(--accent-light);color:var(--accent-primary)}.app-header{border-bottom:1px solid var(--border-color);background-color:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;transition:background-color var(--transition-normal),border-color var(--transition-normal)}body.dark-theme .app-header{background-color:#060911b3}.header-container{display:flex;justify-content:space-between;align-items:center;height:70px}.logo-area{display:flex;align-items:center;gap:8px}.logo-dot{width:12px;height:12px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%}.logo-text{font-family:var(--font-heading);font-weight:800;font-size:1.3rem;letter-spacing:-.05em}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle-btn{background:none;border:1px solid var(--border-color);color:var(--text-primary);width:44px;height:44px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.theme-toggle-btn:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}.theme-toggle-btn .sun-icon{display:block}.theme-toggle-btn .moon-icon,body.dark-theme .theme-toggle-btn .sun-icon{display:none}body.dark-theme .theme-toggle-btn .moon-icon{display:block}.profile-hero{padding:60px 24px 40px;margin-top:20px}.profile-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:60px;align-items:center}.profile-name{margin:10px 0 6px;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.dark-theme .profile-name{background:linear-gradient(135deg,hsl(0,0%,100%),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.profile-title{font-size:clamp(1.1rem,2vw,1.4rem);font-family:var(--font-heading);color:var(--text-secondary);font-weight:500;margin-bottom:24px}.profile-summary{font-size:1.1rem;color:var(--text-secondary);margin-bottom:32px;max-width:650px}.contact-info{display:flex;flex-direction:column;gap:16px;font-style:normal}.contact-item{display:flex;align-items:center;gap:16px;background-color:var(--card-bg);border:1px solid var(--border-color);padding:12px 18px;border-radius:var(--radius-md);max-width:480px;position:relative;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.contact-item:hover{transform:translate(4px);border-color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow-color)}.contact-icon{color:var(--accent-primary);flex-shrink:0}.contact-details{display:flex;flex-direction:column}.contact-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.contact-value{font-size:.95rem;font-weight:500;color:var(--text-primary)}.copy-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;margin-left:auto;border-radius:6px;transition:color var(--transition-fast),background-color var(--transition-fast)}.copy-btn:hover{color:var(--accent-primary);background-color:var(--bg-secondary)}.copy-btn svg{display:block}.profile-avatar-area{display:flex;justify-content:center;align-items:center}.avatar-card{position:relative;width:320px;height:320px;border-radius:var(--radius-lg);display:flex;justify-content:center;align-items:center;cursor:default}.avatar-glow{position:absolute;top:10%;left:10%;width:80%;height:80%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));filter:blur(40px);opacity:.15;border-radius:50%;transition:opacity var(--transition-slow)}.avatar-card:hover .avatar-glow{opacity:.3}.avatar-visual{width:200px;height:200px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:0 10px 30px var(--shadow-color);transition:transform var(--transition-normal)}.avatar-card:hover .avatar-visual{transform:scale(1.05)}.avatar-visual .initials{font-family:var(--font-heading);font-size:4rem;font-weight:800;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.orbit{position:absolute;border:1px dashed var(--border-color);border-radius:50%;animation:spin 20s linear infinite;pointer-events:none}.orbit-1{width:250px;height:250px;animation-duration:25s}.orbit-2{width:300px;height:300px;animation-duration:35s;animation-direction:reverse}.tech-tag{position:absolute;padding:6px 12px;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);border-radius:20px;font-size:.8rem;font-weight:700;transition:transform var(--transition-normal)}.tag-js{top:0;left:10px;color:#f7df1e}.tag-css{bottom:20px;right:-10px;color:#264de4}.tag-ts{top:110px;right:-30px;color:#3178c6}.avatar-card:hover .tag-js{transform:translate(-10px,-10px) rotate(-5deg)}.avatar-card:hover .tag-css{transform:translate(10px,10px) rotate(5deg)}.avatar-card:hover .tag-ts{transform:translate(15px) rotate(12deg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-layout{padding-bottom:80px}.layout-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px}.card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px;box-shadow:0 1px 3px var(--shadow-color);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{box-shadow:0 10px 30px var(--shadow-hover)}.card-section{margin-bottom:32px}.section-title-wrapper{display:flex;align-items:center;gap:16px;margin-bottom:32px;border-bottom:1px solid var(--border-color);padding-bottom:16px}.icon-circle{width:44px;height:44px;border-radius:var(--radius-md);background-color:var(--accent-light);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;top:8px;left:6px;width:2px;height:calc(100% - 20px);background-color:var(--border-color)}.timeline-item{position:relative;margin-bottom:36px}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;top:8px;left:-28px;width:14px;height:14px;border-radius:50%;background-color:var(--card-bg);border:3px solid var(--accent-primary);transition:transform var(--transition-fast),background-color var(--transition-fast)}.timeline-item:hover .timeline-marker{transform:scale(1.3);background-color:var(--accent-primary)}.timeline-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.timeline-date{font-size:.85rem;font-weight:600;color:var(--accent-primary)}.timeline-org{font-size:.9rem;font-weight:700;color:var(--text-secondary)}.timeline-title{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.timeline-summary{color:var(--text-secondary);font-size:.95rem;margin-bottom:12px}.timeline-details{list-style-position:outside;padding-left:20px;color:var(--text-secondary);font-size:.9rem}.timeline-details li{margin-bottom:6px}.timeline-details li::marker{color:var(--accent-primary)}.education-list{display:flex;flex-direction:column;gap:28px}.edu-item{border-bottom:1px solid var(--border-color);padding-bottom:24px}.edu-item:last-child{border-bottom:none;padding-bottom:0}.edu-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:8px}.edu-degree{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.edu-institution{display:block;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-top:2px}.edu-date{font-size:.85rem;font-weight:600;color:var(--accent-primary);white-space:nowrap}.edu-summary{font-size:.95rem;color:var(--text-secondary)}.general-edu{padding-top:4px}.skills-filter-container{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;background-color:var(--bg-secondary);padding:6px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.filter-btn{background:none;border:none;font-family:var(--font-body);font-weight:600;font-size:.85rem;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background-color var(--transition-fast),color var(--transition-fast)}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active{background-color:var(--card-bg);color:var(--accent-primary);box-shadow:0 2px 6px #0000000d}body.dark-theme .filter-btn.active{box-shadow:0 2px 6px #0003}.skills-grid{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);cursor:default}.skill-tag:hover{transform:translateY(-2px);border-color:var(--accent-primary);background-color:var(--accent-light);color:var(--accent-primary)}.training-sub-section{margin-top:36px;border-top:1px solid var(--border-color);padding-top:28px}.sub-section-title{font-size:1.1rem;font-weight:700;margin-bottom:20px;letter-spacing:-.01em}.training-list{list-style:none;display:flex;flex-direction:column;gap:16px}.training-list li{display:flex;flex-direction:column;position:relative;padding-left:20px}.training-list li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background-color:var(--accent-primary)}.training-list li strong{font-size:.95rem;color:var(--text-primary);font-weight:600}.training-meta{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.references-body{display:flex;flex-direction:column;gap:16px}.references-badge{display:flex;align-items:center;gap:10px;background-color:var(--accent-light);padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--text-primary)}.references-text{font-size:.9rem;color:var(--text-secondary)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.modal.open{opacity:1;pointer-events:auto}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none}body.dark-theme .modal-overlay{background-color:#0009}.modal-container{background-color:var(--card-bg);border:1px solid var(--border-color);width:90%;max-width:500px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #00000026;position:relative;z-index:1001;transform:translateY(20px) scale(.95);transition:transform var(--transition-normal);overflow:hidden}.modal.open .modal-container{transform:translateY(0) scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.close-modal-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.close-modal-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.modal-body p{font-size:.95rem;color:var(--text-secondary)}.email-template-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;position:relative}.email-template-box pre{font-family:Courier New,Courier,monospace;font-size:.8rem;white-space:pre-wrap;color:var(--text-primary);max-height:180px;overflow-y:auto}.modal-footer-actions{margin-top:8px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--text-primary);color:var(--bg-primary);padding:12px 24px;border-radius:50px;font-size:.9rem;font-weight:600;box-shadow:0 10px 24px var(--shadow-color);z-index:1010;opacity:0;transition:transform var(--transition-normal),opacity var(--transition-normal);pointer-events:none}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.app-footer{border-top:1px solid var(--border-color);padding:40px 24px;background-color:var(--bg-secondary);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:.85rem;color:var(--text-secondary)}.last-updated{font-weight:500}@media (max-width: 1024px){.profile-grid{grid-template-columns:1fr;gap:40px}.profile-avatar-area{order:-1}.layout-grid{grid-template-columns:1fr}}@media (max-width: 640px){.header-actions .print-btn,.header-actions .download-btn span{display:none}.header-actions .download-btn{padding:12px}.profile-hero{padding:30px 16px}.card{padding:24px}.timeline-meta{flex-direction:column;align-items:flex-start;gap:2px}}@media print{:root{--bg-primary: #ffffff !important;--bg-secondary: #ffffff !important;--text-primary: #000000 !important;--text-secondary: #333333 !important;--accent-primary: #000000 !important;--border-color: #cccccc !important;--card-bg: #ffffff !important;--shadow-color: transparent !important;--shadow-hover: transparent !important}body{background-color:#fff!important;color:#000!important;font-size:11pt!important;line-height:1.4!important;padding:0!important}.skip-link,.app-header,.profile-avatar-area,.skills-filter-container,.copy-btn,#request-ref-btn,.modal,.toast,.app-footer{display:none!important}.container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.profile-hero{padding:0 0 20px!important;border-bottom:2px solid #000000!important;margin-bottom:20px!important}.profile-grid{grid-template-columns:1fr!important}.contact-info{flex-direction:row!important;flex-wrap:wrap!important;gap:16px 24px!important;margin-top:12px!important}.contact-item{border:none!important;padding:0!important;background:none!important;transform:none!important;box-shadow:none!important}.contact-details{flex-direction:row!important;align-items:center!important;gap:6px!important}.contact-label{font-size:9pt!important}.contact-label:after{content:":"}.contact-value{font-size:10pt!important;font-weight:700!important;text-decoration:none!important;color:#000!important}.layout-grid{grid-template-columns:1fr!important;gap:20px!important}.card{border:none!important;padding:0!important;background:none!important;box-shadow:none!important;margin-bottom:24px!important}.section-title-wrapper{margin-bottom:16px!important;padding-bottom:8px!important;border-bottom:1.5px solid #000000!important}.icon-circle{display:none!important}.timeline{padding-left:0!important}.timeline:before{display:none!important}.timeline-marker{display:none!important}.timeline-item{margin-bottom:20px!important;page-break-inside:avoid!important}.timeline-meta{flex-direction:row!important;justify-content:space-between!important;margin-bottom:4px!important}.timeline-date{font-size:10pt!important;color:#000!important}.timeline-org{font-size:10pt!important;color:#333!important}.timeline-title{font-size:12pt!important}.timeline-details{padding-left:15px!important}.edu-item{page-break-inside:avoid!important;padding-bottom:12px!important;margin-bottom:12px!important;border-bottom:1px dotted #ccc!important}.edu-item:last-child{border-bottom:none!important}.edu-header{flex-direction:row!important;justify-content:space-between!important;margin-bottom:4px!important}.edu-date{color:#000!important}.skills-grid{gap:6px!important}.skill-tag{background:none!important;border:1px solid #777777!important;padding:4px 8px!important;font-size:9pt!important;color:#000!important;border-radius:4px!important}.training-sub-section{margin-top:20px!important;padding-top:12px!important;page-break-inside:avoid!important}.training-list li{padding-left:10px!important}.training-list li:before{background-color:#000!important;width:4px!important;height:4px!important;top:6px!important}h2,h3{page-break-after:avoid!important}}
