:root{--bg-page:#faf7f2;--bg-surface:#fff;--bg-subtle:#f5efe9;--bg-card:#fff;--bg-card-hover:#fffdfb;--bg-peach:#fedec8;--bg-peach-light:#feece0;--border-subtle:#ece2d8;--border-light:#f4ebe3;--border-focus:#ea580c;--text-primary:#18181b;--text-secondary:#4b5563;--text-muted:#71717a;--text-faint:#a1a1aa;--accent-primary:#ea580c;--accent-primary-hover:#c2410c;--accent-primary-light:#ffedd5;--accent-ribbon:#f25c05;--accent-emerald:#0d9488;--accent-emerald-light:#ccfbf1;--accent-blue:#0284c7;--accent-blue-light:#e0f2fe;--accent-amber:#d97706;--font-meow:"Meow Script", cursive;--font-life-savers:"Life Savers", cursive, sans-serif;--font-sans:"Life Savers", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 8px 24px -4px #ea580c14, 0 3px 6px -2px #00000008;--shadow-lg:0 20px 48px -12px #ea580c1f, 0 8px 16px -4px #0000000a;--shadow-drawer:-10px 0 35px #0000001a;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:9999px;--transition:.2s cubic-bezier(.16, 1, .3, 1)}html[data-theme=dark]{--bg-page:#0f0f0f;--bg-surface:#1a1a1a;--bg-subtle:#222;--bg-card:#1a1a1a;--bg-card-hover:#242424;--bg-peach:#2a1f1a;--bg-peach-light:#251a14;--border-subtle:#2e2e2e;--border-light:#282828;--border-focus:#ea580c;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-faint:#52525b;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 8px 24px -4px #0006, 0 3px 6px -2px #0003;--shadow-lg:0 20px 48px -12px #00000080, 0 8px 16px -4px #0000004d;--shadow-drawer:-10px 0 35px #0006}html[data-theme=dark] .site-header,html[data-theme=dark] .site-footer,html[data-theme=dark] .sidepanel-drawer,html[data-theme=dark] .sidepanel-header,html[data-theme=dark] .sidepanel-chips-tray,html[data-theme=dark] .sidepanel-input-wrap,html[data-theme=dark] .sidepanel-input,html[data-theme=dark] .sidepanel-minimized-dock,html[data-theme=dark] .floating-launcher-btn{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-subtle)!important}html[data-theme=dark] .sidepanel-input{background:var(--bg-subtle)!important;color:var(--text-primary)!important}html[data-theme=dark] .sidepanel-input:focus{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--accent-primary)!important}html[data-theme=dark] .sidepanel-chat-area{background:var(--bg-page)!important}html[data-theme=dark] .chat-bubble.assistant,html[data-theme=dark] .recruiter-card,html[data-theme=dark] .skill-col-card,html[data-theme=dark] .clean-card,html[data-theme=dark] .metric-card,html[data-theme=dark] .project-card{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-subtle)!important}html[data-theme=dark] .nav-contact-btn{background:var(--text-primary)!important;color:var(--bg-page)!important}html[data-theme=dark] .nav-contact-btn:hover{color:var(--bg-page)!important;background:#e4e4e7!important}html[data-theme=dark] input:-webkit-autofill{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}html[data-theme=dark] input:-webkit-autofill:hover{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}html[data-theme=dark] input:-webkit-autofill:focus{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}html[data-theme=dark] textarea:-webkit-autofill{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}html[data-theme=dark] textarea:-webkit-autofill:hover{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}html[data-theme=dark] textarea:-webkit-autofill:focus{-webkit-text-fill-color:#f4f4f5!important;caret-color:#f4f4f5!important;background-color:#1a1a1a!important;-webkit-box-shadow:inset 0 0 0 1000px #1a1a1a!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-page);color:var(--text-primary);font-size:18px;font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{background:var(--bg-page);min-height:100vh;line-height:1.6;font-family:var(--font-sans);position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-primary);font-weight:700;line-height:1.25}p,a,span,button,input,textarea,select{font-family:var(--font-sans)}.font-meow{font-family:var(--font-meow), "Meow Script", cursive!important}.font-life-savers{font-family:var(--font-life-savers), "Life Savers", cursive, sans-serif!important}p{color:var(--text-secondary)}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.container{width:100%;max-width:1560px;margin:0 auto;padding:0 clamp(18px,3.5vw,64px)}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);background:#ffffffe6;width:100%;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;height:72px;display:flex}html[data-theme=dark] .site-header{background:#0f0f0fe6}.nav-brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-dot{background:var(--accent-primary);width:9px;height:9px;box-shadow:0 0 10px var(--accent-primary);border-radius:50%}.brand-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.brand-badge{letter-spacing:-.02em;color:var(--text-primary);transition:color var(--transition);align-items:center;font-size:1.12rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-badge:hover{color:var(--accent-primary)}.brand-monogram{background:var(--accent-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.88rem;font-weight:800;display:flex}.nav-links{align-items:center;gap:8px;list-style:none;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition);padding:8px 16px;font-size:.9rem;font-weight:500;display:inline-block}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-subtle)}.nav-actions{align-items:center;gap:10px;display:flex}.nav-agent-btn{background:var(--accent-primary-light);border-radius:var(--radius-full);color:var(--accent-primary);transition:all var(--transition);border:1px solid #4f46e533;align-items:center;gap:7px;padding:7px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.nav-agent-btn:hover{background:#4f46e526;border-color:#4f46e559;transform:translateY(-1px)}.nav-resume-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-primary);transition:all var(--transition);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.nav-resume-btn:hover{background:var(--bg-subtle);color:var(--accent-primary);border-color:#cbd5e1;transform:translateY(-1px)}.nav-contact-btn{background:var(--text-primary);color:#fff;border-radius:var(--radius-full);transition:all var(--transition);align-items:center;padding:8px 18px;font-size:.84rem;font-weight:600;display:inline-flex}.nav-contact-btn:hover{background:#334155;transform:translateY(-1px)}.pulse-dot{background-color:var(--accent-emerald);border-radius:50%;width:7px;height:7px;display:inline-block}.btn-primary{background:var(--accent-primary);color:#fff;border-radius:var(--radius-full);transition:all var(--transition);align-items:center;gap:8px;padding:10px 22px;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #4f46e540}.btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e559}.btn-secondary{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-full);transition:all var(--transition);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--bg-subtle);border-color:#cbd5e1;transform:translateY(-1px)}.btn-copy{background:var(--accent-emerald-light);color:var(--accent-emerald);border-radius:var(--radius-full);transition:all var(--transition);border:1px solid #05966940;align-items:center;gap:7px;padding:9px 16px;font-size:.84rem;font-weight:600;display:inline-flex}.btn-copy:hover{background:#05966926;transform:translateY(-1px)}.badge-pill{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pill.emerald{background:var(--accent-emerald-light);color:var(--accent-emerald);border-color:#05966933}.badge-pill.indigo{background:var(--accent-primary-light);color:var(--accent-primary);border-color:#4f46e533}.section-block{padding:clamp(36px,4.5vw,68px) 0}.section-title-row{margin-bottom:clamp(20px,2.5vw,32px)}.section-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary);margin-bottom:6px;font-size:clamp(.75rem,1vw,.84rem);font-weight:700}.section-heading{color:var(--text-primary);letter-spacing:-.025em;font-size:clamp(1.75rem,2.6vw,2.35rem);font-weight:800}.clean-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);padding:clamp(22px,2.5vw,36px)}.clean-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.hero-profile-box{text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:24px;width:100%;margin-top:20px;padding:24px 20px;display:flex}@media (min-width:861px){.hero-profile-box{text-align:left;flex-direction:row;align-items:flex-start;gap:40px;padding:clamp(32px,3.5vw,48px)}}.hero-bio-top{align-items:center;gap:32px;margin-top:20px;margin-bottom:24px;display:flex}.hero-avatar-wrapper{flex-shrink:0;position:relative}.hero-bio-content{flex-grow:1}.hero-avatar-img{object-fit:cover;object-position:center 20%;border:4px solid var(--bg-surface);width:clamp(180px,18vw,240px);height:clamp(180px,18vw,240px);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;border-radius:clamp(32px,3.2vw,40px);box-shadow:0 12px 28px #0000001f}.hero-content{flex-grow:1}.hero-content h1{letter-spacing:-.03em;margin-bottom:6px;font-size:clamp(2rem,3.6vw,2.9rem);font-weight:800;line-height:1.18}.hero-subheading{color:var(--accent-primary);margin-bottom:14px;font-size:clamp(.95rem,1.35vw,1.12rem);font-weight:600;line-height:1.5}.hero-bio{color:var(--text-secondary);max-width:1050px;margin-bottom:24px;font-size:clamp(.96rem,1.2vw,1.08rem);line-height:1.7}.hero-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;padding-top:20px;display:flex}.metrics-strip-section{margin-top:24px;margin-bottom:8px}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);display:grid}.metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);flex-direction:column;padding:clamp(18px,2vw,26px);display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--border-subtle);height:3px;transition:all var(--transition);position:absolute;top:0;left:0;right:0}.metric-card.accent-indigo:before{background:linear-gradient(90deg,#4f46e5,#818cf8)}.metric-card.accent-emerald:before{background:linear-gradient(90deg,#059669,#34d399)}.metric-card.accent-cyan:before{background:linear-gradient(90deg,#0891b2,#22d3ee)}.metric-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.metric-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.metric-value{letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.75rem,2.4vw,2.3rem);font-weight:800;line-height:1.1}.metric-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);padding:3px 9px;font-size:.68rem;font-weight:700}.metric-badge.indigo{background:var(--accent-primary-light);color:var(--accent-primary)}.metric-badge.emerald{background:var(--accent-emerald-light);color:var(--accent-emerald)}.metric-badge.cyan{color:#0891b2;background:#ecfeff}.metric-label{color:var(--text-primary);margin-bottom:4px;font-size:clamp(.95rem,1.2vw,1.05rem);font-weight:700}.metric-detail{color:var(--text-muted);font-size:clamp(.85rem,1vw,.92rem);line-height:1.5}.projects-preview-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(20px,2.5vw,32px);display:grid}.project-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--accent-primary), #fb923c);opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.project-card:hover{box-shadow:var(--shadow-lg);border-color:#cbd5e1;transform:translateY(-2px)}.project-card:hover:before{opacity:1}.project-img-box{aspect-ratio:16/10;background:#f1f5f9;width:100%;min-height:240px;position:relative;overflow:hidden}.project-img{object-fit:cover;transition:transform .3s}.project-card:hover .project-img{transform:scale(1.02)}.project-card-body{flex-direction:column;flex-grow:1;padding:clamp(20px,2.4vw,32px);display:flex}.project-card-title{margin-bottom:8px;font-size:clamp(1.2rem,1.6vw,1.45rem);font-weight:700}.project-card-desc{color:var(--text-secondary);flex-grow:1;margin-bottom:16px;font-size:clamp(.9rem,1.1vw,.98rem);line-height:1.6}.project-card-tech{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tech-tag{font-size:.74rem;font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:6px;padding:4px 10px}.project-links-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.btn-project-link{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);transition:all var(--transition);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-project-link:hover{background:var(--bg-subtle);border-color:#cbd5e1;transform:translateY(-1px)}.btn-project-link.primary{background:var(--accent-primary-light);color:var(--accent-primary);border-color:#4f46e540}.btn-project-link.primary:hover{background:#4f46e526;border-color:#4f46e566}.badge-repo-status{border-radius:var(--radius-sm);cursor:default;align-items:center;gap:6px;padding:5px 11px;font-size:.76rem;font-weight:600;display:inline-flex}.badge-repo-status.internal{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1}.badge-repo-status.client{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.project-card-foot{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.filter-pills-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.filter-pill{border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition);padding:7px 16px;font-size:.84rem;font-weight:600}.filter-pill:hover{background:var(--bg-subtle);color:var(--text-primary)}.filter-pill.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.timeline-card-inner{flex-direction:column;gap:24px;display:flex}.timeline-row{gap:18px;display:flex}.timeline-dot{background:var(--accent-primary);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-primary-light);border-radius:50%;flex-shrink:0;margin-top:6px}.timeline-details h4{margin-bottom:2px;font-size:1.1rem;font-weight:700}.timeline-company{color:var(--accent-primary);margin-bottom:10px;font-size:.9rem;font-weight:600}.timeline-list{flex-direction:column;gap:8px;list-style:none;display:flex}.timeline-list li{color:var(--text-secondary);padding-left:16px;font-size:.9rem;line-height:1.5;position:relative}.timeline-list li:before{content:"•";color:var(--accent-primary);font-weight:700;position:absolute;left:0}.experience-education-grid{grid-template-columns:1.35fr 1fr;align-items:stretch;gap:clamp(20px,2.5vw,32px);display:grid}.education-card{flex-direction:column;justify-content:space-between;height:100%;display:flex}.project-detail-card-grid{grid-template-columns:1.15fr 1fr;align-items:stretch;display:grid}.project-detail-img-box{background:#f8fafc;min-height:340px;position:relative}.project-detail-body{flex-direction:column;justify-content:space-between;padding:clamp(22px,2.8vw,36px);display:flex}.skills-grid-clean{grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px);display:grid}.skill-col-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:clamp(18px,2vw,26px)}.skill-col-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:clamp(.95rem,1.2vw,1.05rem);font-weight:700;display:flex}.skill-items-list{flex-direction:column;gap:8px;display:flex}.skill-item-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.skill-item-row.featured{color:var(--text-primary);font-weight:600}.contact-box-grid{grid-template-columns:1fr 1fr;gap:clamp(20px,2.5vw,32px);display:grid}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.form-input,.form-textarea{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition);padding:10px 14px;font-family:inherit;font-size:.9rem}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #4f46e51f}.form-textarea{resize:vertical;min-height:110px}.sidepanel-backdrop{-webkit-backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;background:#0f172a4d;transition:opacity .25s;position:fixed;inset:0}.sidepanel-backdrop.open{opacity:1;pointer-events:auto}.sidepanel-drawer{border-left:1px solid var(--border-subtle);width:440px;min-width:320px;max-width:95vw;height:100dvh;box-shadow:var(--shadow-drawer);z-index:999;background:#fff;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.sidepanel-drawer.resizing{-webkit-user-select:none;user-select:none;transition:none!important}.sidepanel-drawer.open{transform:translate(0)}.sidepanel-resize-handle{cursor:ew-resize;z-index:1001;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:16px;display:flex;position:absolute;top:0;bottom:0;left:-8px}.resize-handle-bar{background:#cbd5e1;border-radius:999px;width:4px;height:48px;transition:all .15s;box-shadow:0 1px 3px #0000001f}.sidepanel-resize-handle:hover .resize-handle-bar,.sidepanel-drawer.resizing .resize-handle-bar{background:var(--accent-primary);width:5px;height:72px;box-shadow:0 0 10px #4f46e580}.sidepanel-header{border-bottom:1px solid var(--border-subtle);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.sidepanel-profile{align-items:center;gap:10px;display:flex}.sidepanel-avatar{object-fit:cover;border:2px solid var(--accent-primary-light);border-radius:50%;width:38px;height:38px}.sidepanel-controls{align-items:center;gap:4px;display:flex}.sidepanel-ctrl-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.sidepanel-ctrl-btn:hover{background:var(--bg-subtle);color:var(--text-primary);border-color:var(--border-subtle)}.sidepanel-ctrl-btn.close:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.sidepanel-chat-area{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fafbfc;flex-direction:column;flex-grow:1;gap:12px;padding:20px 18px;display:flex;position:relative;overflow-y:auto}.chat-bubble{border-radius:var(--radius-md);word-break:break-word;max-width:85%;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Plus Jakarta Sans,sans-serif;font-size:.91rem;line-height:1.6}.chat-bubble.assistant{border:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-sm);background:#fff;border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.user{background:var(--accent-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.assistant:has(.chat-table-wrapper){width:100%;max-width:96%}.chat-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;background:#fff;width:100%;margin:10px 0;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.chat-table{border-collapse:collapse;text-align:left;width:100%;font-size:.82rem;line-height:1.5}.chat-table th{background:var(--bg-subtle);color:var(--text-primary);border-bottom:2px solid var(--border-subtle);white-space:nowrap;padding:8px 12px;font-weight:700}.chat-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top;padding:8px 12px}.chat-table tr:last-child td{border-bottom:none}.chat-table tr:nth-child(2n) td{background:#00000005}.chat-table tr:hover td{background:#4f46e50a}.chat-inline-code{color:var(--accent-primary);background:#4f46e514;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84em}.chat-code-block{color:#f8fafc;border-radius:var(--radius-sm);background:#0f172a;margin:8px 0;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.5;overflow-x:auto}.chat-heading-1{color:var(--text-primary);margin:8px 0 4px;font-size:1.05rem;font-weight:700}.chat-heading-2{color:var(--text-primary);margin:7px 0 3px;font-size:.98rem;font-weight:700}.chat-heading-3{color:var(--text-primary);margin:6px 0 2px;font-size:.92rem;font-weight:600}.chat-list-item{align-items:flex-start;gap:8px;margin:3px 0;line-height:1.5;display:flex}.chat-bullet{color:var(--accent-primary);flex-shrink:0;font-weight:700}.chat-blockquote{border-left:3px solid var(--accent-primary);color:var(--text-secondary);background:#4f46e50d;border-radius:0 4px 4px 0;margin:6px 0;padding:6px 12px;font-style:italic}.chat-spacer{height:6px}.chat-text-line{margin:2px 0}.chat-link{color:var(--accent-primary);text-underline-offset:2px;font-weight:500;text-decoration:underline}.chat-link:hover{opacity:.85}.chat-bubble.typing{align-items:center;gap:4px;padding:10px 16px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.4s infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-scroll-bottom-btn{background:var(--text-primary);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;z-index:5;align-self:center;align-items:center;gap:6px;padding:6px 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.78rem;font-weight:600;animation:.2s popIn;display:inline-flex;position:sticky;bottom:8px}.chat-scroll-bottom-btn:hover{background:#334155;transform:translateY(-1px)}@keyframes popIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sidepanel-chips-tray{border-top:1px solid var(--border-subtle);scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#fff;flex-shrink:0;gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.sidepanel-chips-tray::-webkit-scrollbar{display:none}.sidepanel-chip{white-space:nowrap;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;padding:6px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.76rem;font-weight:600}.sidepanel-chip:hover{background:var(--accent-primary-light);color:var(--accent-primary);border-color:#4f46e54d;transform:translateY(-1px)}.sidepanel-input-wrap{border-top:1px solid var(--border-subtle);background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex}.sidepanel-input{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-primary);transition:all var(--transition);outline:none;flex-grow:1;padding:10px 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.88rem}.sidepanel-input:focus{border-color:var(--accent-primary);background:#fff;box-shadow:0 0 0 3px #4f46e51f}.sidepanel-send-btn{background:var(--accent-primary);color:#fff;width:38px;height:38px;transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidepanel-send-btn:hover:not(:disabled){background:var(--accent-primary-hover);transform:scale(1.05)}.sidepanel-send-btn:disabled{opacity:.45;cursor:not-allowed}.sidepanel-minimized-dock{z-index:1000;-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition);background:#fffffff2;justify-content:space-between;align-items:center;gap:14px;padding:8px 14px 8px 10px;animation:.25s popIn;display:flex;position:fixed;bottom:24px;right:24px}.sidepanel-minimized-dock:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 16px 32px #0000001f}.minimized-dock-left{align-items:center;gap:10px;display:flex}.minimized-dock-avatar-wrap{align-items:center;display:flex;position:relative}.minimized-dock-avatar{object-fit:cover;border:2px solid var(--accent-primary-light);border-radius:50%}.minimized-dock-title{color:var(--text-primary);font-size:.84rem;font-weight:700;line-height:1.2}.minimized-dock-status{color:var(--accent-emerald);font-size:.72rem;line-height:1.2}.minimized-dock-actions{align-items:center;gap:4px;display:flex}.minimized-dock-btn{width:26px;height:26px;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.minimized-dock-btn:hover{color:var(--text-primary);background:#e2e8f0}.minimized-dock-btn.close:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.floating-launcher-btn{z-index:900;border:1px solid var(--border-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition);background:#fff;align-items:center;gap:10px;padding:9px 18px 9px 12px;display:flex;position:fixed;bottom:24px;right:24px}.floating-launcher-btn:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 16px 32px #0000001f}.site-footer{border-top:1px solid var(--border-subtle);background:#fff;margin-top:60px;padding:36px 0}.footer-inner{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:.86rem;display:flex}.toast-clean{background:var(--text-primary);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:2000;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast-clean.show{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:1200px){.skills-grid-clean{grid-template-columns:repeat(2,1fr)}}@media (max-width:960px){.experience-education-grid{grid-template-columns:1fr;gap:20px}.project-detail-card-grid{grid-template-columns:1fr}.project-detail-img-box{aspect-ratio:16/9;min-height:240px}.contact-box-grid{grid-template-columns:1fr;gap:20px}}@media (max-width:860px){.hero-bio-top{text-align:center;flex-direction:column;align-items:center;gap:24px}.hero-avatar-wrapper{margin:0 auto}.hero-actions{justify-content:center}.metrics-grid{grid-template-columns:1fr;gap:12px}.projects-preview-grid{grid-template-columns:1fr}.sidepanel-drawer{width:100vw!important;min-width:100vw!important;max-width:100vw!important}.sidepanel-resize-handle,.desktop-only{display:none!important}.sidepanel-header{padding:12px 14px}.sidepanel-chat-area{padding:14px 12px}.sidepanel-minimized-dock{max-width:calc(100vw - 32px);bottom:16px;right:16px}.floating-launcher-btn{bottom:16px;right:16px}.sidepanel-input-wrap{padding:10px 14px max(14px, env(safe-area-inset-bottom))}}@media (max-width:720px){.nav-inner{height:62px}.nav-links{gap:4px}.nav-link{padding:6px 12px;font-size:.84rem}.nav-actions{gap:6px}.nav-resume-btn,.nav-agent-btn{padding:6px 10px;font-size:.8rem}.nav-contact-btn{padding:6px 14px;font-size:.82rem}}@media (max-width:560px){.skills-grid-clean{grid-template-columns:1fr}.nav-resume-btn .nav-btn-text{display:none}.nav-resume-btn:after{content:"CV";font-size:.78rem;font-weight:700}.nav-agent-btn .nav-btn-text{display:none}.nav-agent-btn:after{content:"AI";font-size:.78rem;font-weight:700}.footer-inner{text-align:center;flex-direction:column;gap:12px}.hero-actions{flex-direction:column;width:100%}.hero-actions>*{justify-content:center;width:100%}}@media (max-width:420px){.brand-badge span{font-size:.92rem}.nav-link{padding:5px 8px;font-size:.78rem}.nav-contact-btn{padding:5px 10px;font-size:.78rem}}.recruiter-fast-track{border-radius:var(--radius-lg);background:linear-gradient(135deg,#4f46e50d 0%,#10b9810a 100%);border:1px solid #4f46e52e;margin-top:24px;margin-bottom:24px;padding:clamp(18px,2.5vw,26px);position:relative;box-shadow:0 4px 20px #00000005}.recruiter-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.recruiter-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:inline-flex}.recruiter-ai-ask-btn{border-radius:var(--radius-full);color:var(--accent-primary);cursor:pointer;transition:all var(--transition);background:#fff;border:1px solid #4f46e540;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.recruiter-ai-ask-btn:hover{background:var(--accent-primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.recruiter-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:980px){.recruiter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.recruiter-grid{grid-template-columns:1fr}}.recruiter-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition);background:#fff;padding:14px 16px;box-shadow:0 1px 3px #00000005}.recruiter-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e559;transform:translateY(-2px)}.recruiter-card-icon{margin-bottom:6px;font-size:1.25rem}.recruiter-card-title{color:var(--text-primary);margin-bottom:5px;font-size:.84rem;font-weight:700}.recruiter-card-desc{color:var(--text-secondary);font-size:.79rem;line-height:1.5}.project-impact-strip{background:#10b98114;border:1px solid #10b98133;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 16px;padding:8px 12px;display:flex}.impact-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);background:var(--accent-emerald);color:#fff;flex-shrink:0;padding:2px 7px;font-size:.72rem;font-weight:700}.impact-text{color:#065f46;font-size:.82rem;font-weight:600;line-height:1.4}.code-toggle-btn{color:#f1f5f9;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:#1e293b;border:1px solid #334155;align-items:center;gap:8px;padding:7px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.code-toggle-btn:hover{background:#0f172a;transform:translateY(-1px)}.project-code-wrapper{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);background:#0f172a;border:1px solid #334155;margin-top:10px;animation:.2s fadeIn;overflow:hidden}.project-code-header{color:#94a3b8;background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:8px 14px;font-size:.76rem;font-weight:600;display:flex}.code-lang-tag{text-transform:uppercase;color:#cbd5e1;background:#ffffff14;border-radius:4px;padding:2px 6px;font-size:.68rem}.project-code-pre{color:#e2e8f0;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.55;overflow-x:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #ea580c59}50%{box-shadow:0 0 0 10px #ea580c00}}.animate-fade-up{animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-pulse-glow{animation:2.5s infinite pulseGlow}.btn-primary:active,.btn-secondary:active,.btn-copy:active,.nav-contact-btn:active,.nav-resume-btn:active{transform:scale(.97)!important}.glow-card-border{position:relative}.glow-card-border:after{content:"";border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;background:linear-gradient(135deg,#ea580c59,#0d948859,#0000 60%);transition:opacity .3s;position:absolute;inset:-1px}.glow-card-border:hover:after{opacity:1}.clean-card,.metric-card,.project-card,.recruiter-card,.skill-col-card{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),border-color .25s}.clean-card:hover,.metric-card:hover,.project-card:hover,.recruiter-card:hover,.skill-col-card:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 16px 36px -8px #ea580c26,0 4px 12px -2px #0000000d}@keyframes floatSlow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(1deg)}}@keyframes ripplePulse{0%{transform:scale(.95);box-shadow:0 0 #ea580c80}70%{transform:scale(1.05);box-shadow:0 0 0 16px #ea580c00}to{transform:scale(.95);box-shadow:0 0 #ea580c00}}@keyframes glowBorder{0%,to{border-color:#ea580c40;box-shadow:0 4px 20px #ea580c0d}50%{border-color:#ea580cb3;box-shadow:0 8px 30px #ea580c33}}.hero-avatar-wrap{animation:4s ease-in-out infinite floatSlow}.pulse-dot{animation:1.8s cubic-bezier(.4,0,.6,1) infinite ripplePulse}.recruiter-fast-track{animation:4s ease-in-out infinite glowBorder}button,a,.clean-card,.metric-card,.project-card,.recruiter-card,.skill-col-card,.badge-pill,.filter-pill,.sidepanel-chip{transition:all .25s cubic-bezier(.34,1.56,.64,1)}button:hover,a:hover{transform:translateY(-2px)}button:active,a:active{transform:scale(.92)translateY(2px)!important}.clean-card:hover,.metric-card:hover,.project-card:hover,.recruiter-card:hover,.skill-col-card:hover{box-shadow:0 20px 45px -10px #ea580c33,0 8px 16px -4px #0000000f;border-color:var(--accent-primary)!important;transform:translateY(-6px)scale(1.015)!important}@keyframes scrollFadeUp{0%{opacity:0;transform:translateY(40px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.clean-card,.metric-card,.project-card,.recruiter-card,.skill-col-card,section{animation:linear both scrollFadeUp;animation-timeline:view();animation-range:entry cover 35%}.site-header{animation:none!important}
