:root{--bg-primary: #ffffff;--bg-surface: #fafafa;--bg-surface-hover: #f4f4f5;--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #71717a;--border-subtle: #e4e4e7;--border-card: #f4f4f5;--badge-acquired-bg: #dcfce7;--badge-acquired-text: #15803d;--badge-neutral-bg: #f3f4f6;--badge-neutral-text: #374151;--accent-color: #2563eb;--focus-ring: rgba(37, 99, 235, .35);--font-heading: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max-width: 680px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--transition-smooth: all .2s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .25s ease,color .25s ease}body{font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:3.5rem 1.5rem 5rem}.portfolio-container{max-width:var(--container-max-width);margin:0 auto;position:relative}.profile-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.75rem}.profile-avatar-container{flex-shrink:0;width:76px;height:76px}.profile-avatar{width:76px;height:76px;aspect-ratio:1 / 1;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border-subtle);box-shadow:0 4px 12px #0000000d;transition:var(--transition-smooth)}.profile-avatar:hover{transform:scale(1.03)}.profile-info{display:flex;flex-direction:column;gap:.25rem}.profile-name{font-family:var(--font-heading);font-size:1.85rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.15}.profile-tagline{font-size:.95rem;color:var(--text-secondary);font-weight:400}.profile-actions-row{display:flex;align-items:center;gap:1rem;margin-top:.45rem;flex-wrap:wrap}.contact-email-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:500;color:var(--text-primary);background-color:var(--bg-surface);border:1px solid var(--border-subtle);padding:.3rem .75rem;border-radius:var(--radius-full);text-decoration:none;transition:var(--transition-smooth)}.contact-email-btn:hover{background-color:var(--bg-surface-hover);border-color:var(--text-muted);transform:translateY(-1px)}.contact-email-btn svg{width:14px;height:14px;fill:currentColor;opacity:.75}.social-links{display:flex;align-items:center;gap:.85rem}.social-link{color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-smooth);opacity:.85;text-decoration:none}.social-link:hover{opacity:1;transform:translateY(-2px);color:var(--accent-color)}.social-link svg{width:18px;height:18px;fill:currentColor}.stack-categories-list{display:flex;flex-direction:column;gap:1.15rem}.stack-category-group{display:flex;flex-direction:column;gap:.45rem}.stack-category-name{font-size:.85rem;font-weight:600;color:var(--text-primary);font-family:var(--font-heading)}.stack-tags{display:flex;flex-wrap:wrap;gap:.45rem}.stack-tag{font-size:.775rem;font-weight:500;color:var(--text-secondary);background-color:var(--bg-surface);border:1px solid var(--border-subtle);padding:.2rem .65rem;border-radius:var(--radius-sm);transition:var(--transition-smooth)}.stack-tag:hover{border-color:var(--text-muted);color:var(--text-primary);background-color:#fff}.content-sections{display:flex;flex-direction:column;gap:2.75rem}.portfolio-section{display:flex;flex-direction:column;gap:1.25rem}.section-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.4rem;letter-spacing:-.02em}.section-emoji{font-size:1.15rem}.timeline-list{display:flex;flex-direction:column;gap:1.35rem}.timeline-item{display:flex;align-items:flex-start;gap:1.1rem;text-decoration:none;color:inherit;border-radius:var(--radius-md);padding:.35rem;margin:-.35rem;transition:var(--transition-smooth)}.timeline-item:hover{background-color:var(--bg-surface)}.timeline-item:hover .item-title{color:var(--accent-color)}.item-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 1px 3px #0000000a}.item-icon-img{width:100%;height:100%;object-fit:cover}.item-icon-symbol{font-size:1.1rem;font-weight:700;color:var(--text-primary);font-family:var(--font-heading)}.item-content{display:flex;flex-direction:column;gap:.15rem;flex:1}.item-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.item-title-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.item-title{font-size:.95rem;font-weight:600;color:var(--text-primary);letter-spacing:-.015em;transition:var(--transition-smooth)}.item-badge{font-size:.725rem;font-weight:500;padding:.15rem .55rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:.25rem;line-height:1.2}.item-badge.badge-acquired{background-color:var(--badge-acquired-bg);color:var(--badge-acquired-text)}.item-badge.badge-neutral{background-color:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.item-meta,.item-type{font-size:.8125rem;color:var(--text-muted)}.item-description{font-size:.875rem;color:var(--text-secondary);margin-top:.15rem;line-height:1.45}.item-description strong,.item-description b{font-weight:600;color:var(--text-primary)}.languages-list{display:flex;flex-direction:column;gap:.55rem;font-size:.9rem}.language-row{display:flex;align-items:center;gap:.4rem}.language-label{font-weight:600;color:var(--text-primary)}.language-level{color:var(--text-secondary)}.portfolio-footer{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);text-align:center}.footer-text{font-size:.775rem;color:var(--text-muted)}@media (max-width: 600px){body{padding:2rem 1.15rem 3.5rem}.profile-header{gap:1.15rem}.profile-avatar{width:64px;height:64px}.profile-name{font-size:1.55rem}.timeline-item{gap:.9rem}.item-icon-wrapper{width:38px;height:38px}}@media print{body{background:#fff!important;color:#000!important;padding:0!important}.theme-toggle-btn{display:none!important}.timeline-item:hover{background:transparent!important}}
