:root{--bg-color:#fafafa;--text-primary:#000;--text-secondary:#666;--border-color:#e6e6e6;--dock-bg:#fff9;--dock-border:#0000000d;--hover-bg:#0000000d;--dock-icon:#333;--link-hover:#000}[data-theme=dark]{--bg-color:#0a0a0a;--text-primary:#fff;--text-secondary:#a1a1aa;--border-color:#333;--dock-bg:#0a0a0a99;--dock-border:#ffffff1a;--hover-bg:#ffffff1a;--dock-icon:#ccc;--link-hover:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}.container{max-width:720px;margin:0 auto;padding:100px 20px 150px}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600}a{color:inherit;text-decoration:none}.underline-link{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--text-secondary);text-decoration-color:var(--text-secondary);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.underline-link:hover{color:var(--link-hover);text-decoration-thickness:2px;-webkit-text-decoration-color:var(--link-hover);text-decoration-color:var(--link-hover)}.section{margin-bottom:90px}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:30px;font-size:.75rem;font-weight:600}.theme-switch{-webkit-backdrop-filter:blur(12px);cursor:pointer;z-index:1000;box-sizing:border-box;background:#f3f4f6cc;border:1px solid #0000000d;border-radius:30px;align-items:center;width:64px;height:32px;padding:0;transition:background .3s;display:flex;position:fixed;top:24px;right:24px}[data-theme=dark] .theme-switch{background:#fff;border-color:#ffffff1a}.switch-handle{z-index:1;background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s;position:absolute;left:4px;box-shadow:0 2px 4px #0000001a}[data-theme=dark] .switch-handle{background:#111827;transform:translate(32px)}.theme-switch svg{z-index:2;pointer-events:none;width:14px;height:14px;transition:opacity .3s,color .3s;position:absolute}.icon-sun{color:#eab308;left:9px}[data-theme=dark] .icon-sun{opacity:0}.icon-moon{color:#fff;opacity:0;right:9px}[data-theme=dark] .icon-moon{opacity:1}.hero{text-align:center;margin-top:0}.profile-pic{width:350px;max-width:100%;margin:-15px auto 5px;transform:translate(-30px);-webkit-mask-image:linear-gradient(#000 80%,#0000 100%);mask-image:linear-gradient(#000 80%,#0000 100%)}.profile-pic img{filter:grayscale()contrast(1.05);width:100%;height:auto;display:block}.name{letter-spacing:-.04em;color:var(--text-primary);margin-bottom:12px;font-size:5rem;font-weight:800;line-height:1.1;transition:color 2s}.metadata{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;margin-bottom:40px;font-size:.95rem;display:flex}.dot{opacity:.5;font-size:.8rem}.bio p{color:var(--text-secondary);max-width:600px;margin-bottom:24px;margin-left:auto;margin-right:auto;font-size:1.15rem;line-height:1.7}.floating-dock{background:var(--dock-bg);border:1px solid var(--dock-border);-webkit-backdrop-filter:blur(20px);z-index:1000;border-radius:40px;align-items:center;gap:8px;padding:10px 15px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000014}.dock-divider{background:var(--border-color);width:1px;height:24px;margin:0 4px}.dock-item{color:var(--dock-icon);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}.dock-item svg{width:20px;height:20px;transition:transform .2s}.dock-item:hover{background:var(--hover-bg);color:var(--text-primary);z-index:10;transform:scale(1.15)translateY(-5px)}.reveal-hidden{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(20px)}.reveal-visible{opacity:1;transform:translateY(0)}.experience-item{border-bottom:1px solid var(--border-color);margin-bottom:40px;padding-bottom:40px}.experience-item:last-child{border-bottom:none;padding-bottom:0}.experience-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.title-company h3{margin-bottom:4px;font-size:1.1rem;font-weight:600}.role{color:var(--text-secondary);font-size:.95rem}.location-date{text-align:right;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.exp-desc{color:var(--text-secondary);margin-top:15px;font-size:1rem;line-height:1.6}.view-more-btn{color:var(--text-primary);cursor:pointer;background:0 0;background:var(--hover-bg);border:none;border-radius:20px;align-items:center;gap:6px;margin-top:15px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.view-more-btn:hover{background:var(--border-color)}.view-more-btn svg{width:14px;height:14px;transition:transform .2s}.view-more-btn.open svg{transform:rotate(180deg)}.exp-details{margin-top:20px;padding-left:20px;display:none}.exp-details li{color:var(--text-secondary);margin-bottom:10px;font-size:.95rem}.exp-details li::marker{color:var(--text-primary)}.project-card{background:var(--dock-bg);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;height:100%;margin-bottom:20px;padding:30px;transition:all .2s;display:flex}.project-card:hover{border-color:var(--text-secondary);transform:translateY(-2px)}.project-card:hover .project-thumbnail img{filter:grayscale(0);transform:scale(1.02)}.project-thumbnail{border:1px solid var(--border-color);border-radius:14px;align-items:flex-end;height:132px;margin-bottom:16px;padding:14px;display:flex;position:relative;overflow:hidden}.project-thumbnail:before{content:"";z-index:1;background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 35%),linear-gradient(#0000 25%,#00000073 100%);position:absolute;inset:0}.project-thumbnail img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .3s,transform .3s;position:absolute;inset:0}.project-thumbnail span{z-index:2;letter-spacing:.18em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px #00000059;font-size:.72rem;font-weight:700;position:relative}.project-card h3{margin-bottom:10px;font-size:1.05rem}.project-card p{color:var(--text-secondary);font-size:.94rem;line-height:1.55}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.project-meta{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:12px;font-size:.72rem;font-weight:600;display:flex}.project-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.project-tags span{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;padding:6px 10px;font-size:.78rem;line-height:1}.project-actions{gap:10px;margin-top:auto;padding-top:16px;display:flex}.project-link{border:1px solid var(--border-color);min-height:36px;color:var(--text-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.project-link:hover{background:var(--hover-bg);border-color:var(--text-secondary)}.project-link-secondary{color:var(--text-secondary)}.education-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 0;display:flex}.education-item:last-child{border-bottom:none}.edu-details h3{margin-bottom:4px;font-size:1.1rem}.edu-details p{color:var(--text-secondary);font-size:.95rem}.tech-stack{margin-top:10px}.stack-copy{color:var(--text-secondary);max-width:760px;margin-bottom:28px;font-size:1rem;line-height:1.75}.stack-toggle{width:100%;color:var(--text-primary);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:8px;padding:0;font-size:10px;font-weight:600;transition:opacity .2s;display:flex}.stack-toggle:after{content:"⌄";font-size:.7rem;transition:transform .35s}.stack-toggle:hover{opacity:.82}.stack-toggle.open:after{transform:rotate(180deg)}.stack-preview{opacity:1;max-height:96px;margin-top:24px;transition:opacity .25s,max-height .25s,margin-top .25s;overflow:hidden}.stack-preview.is-hidden{opacity:0;max-height:0;margin-top:0}.stack-preview-mask{margin-inline:-18px;padding-inline:18px;position:relative;overflow:hidden}.stack-preview-mask:before,.stack-preview-mask:after{content:"";pointer-events:none;z-index:2;width:72px;position:absolute;top:0;bottom:0}.stack-preview-mask:before{background:linear-gradient(90deg, var(--bg-color), transparent);left:0}.stack-preview-mask:after{background:linear-gradient(270deg, var(--bg-color), transparent);right:0}.stack-preview-track{align-items:center;gap:64px;width:max-content;animation:30s linear infinite stack-preview-marquee;display:flex}.stack-preview-icon{opacity:1;flex:none;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .2s,opacity .2s;display:flex}.stack-preview-icon img{filter:grayscale()brightness(.22)contrast(1.15);opacity:1;width:46px;height:46px;transition:filter .2s,opacity .2s,transform .2s;display:block}.stack-preview-icon:hover{opacity:1;transform:translateY(-1px)}.stack-preview-icon:hover img{filter:grayscale(0)brightness()contrast();opacity:1;transform:scale(1.05)}[data-theme=dark] .stack-preview-icon img{filter:grayscale()brightness(2.35)contrast(1.2)}[data-theme=dark] .stack-preview-icon:hover img{filter:grayscale(0)brightness()contrast()}.full-stack-panel{opacity:0;max-height:0;transition:max-height .75s cubic-bezier(.16,1,.3,1),opacity .35s,margin-top .35s;overflow:hidden}.full-stack-panel.is-open{opacity:1;max-height:980px;margin-top:34px}.stack-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:42px 34px;display:grid}.stack-spec-column{min-width:0}.stack-spec-column h3{border-bottom:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;padding-bottom:11px;font-size:.59rem;font-weight:600}.stack-spec-list{flex-direction:column;gap:18px;display:flex}.stack-spec-item{color:var(--text-secondary);border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:8px 10px;font-size:.86rem;line-height:1.2;transition:color .2s;display:flex}.stack-spec-item img{opacity:.76;filter:grayscale()brightness(.24)contrast(1.12);flex:none;width:22px;height:22px;transition:filter .2s,opacity .2s,transform .2s;display:block}.stack-spec-item span{white-space:nowrap}.stack-spec-item:hover{color:var(--text-primary);border-color:var(--border-color);background:color-mix(in srgb, var(--dock-bg) 80%, transparent)}.stack-spec-item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.04)}[data-theme=dark] .stack-spec-item img{filter:grayscale()brightness(1.9)contrast(1.08)}[data-theme=dark] .stack-spec-item:hover img{filter:grayscale(0)brightness()contrast();opacity:1;transform:scale(1.04)}.stack-spec-column:nth-child(4){grid-column:1}.stack-spec-column:nth-child(5){grid-column:2}.about-me{margin-bottom:0;padding-top:8px}.about-copy{max-width:940px;color:var(--text-secondary);flex-direction:column;gap:28px;font-size:1.02rem;line-height:1.78;display:flex}.contact-cta{border-top:1px solid var(--border-color);margin-top:0;padding-top:72px}.contact-cta-copy{color:var(--text-secondary);font-size:1.02rem;line-height:1.7}.contact-inline-link{color:var(--text-primary);text-underline-offset:5px;margin:0 .32rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.contact-inline-link:hover{opacity:.8}@keyframes stack-preview-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=600px){.projects-grid{grid-template-columns:1fr}.experience-header{flex-direction:column;gap:8px}.location-date{text-align:left}.name{font-size:3.2rem}.metadata{flex-wrap:wrap}.floating-dock{gap:4px;padding:8px}.dock-item{width:38px;height:38px}.dock-item svg{width:18px;height:18px}.full-stack-panel.is-open{max-height:1400px}.stack-copy{font-size:.98rem;line-height:1.65}.stack-toggle{justify-content:flex-start;margin-top:4px}.stack-preview-track{gap:40px}.stack-preview-icon,.stack-preview-icon img{width:38px;height:38px}.stack-spec-grid{grid-template-columns:1fr;row-gap:28px}.stack-spec-column:nth-child(4),.stack-spec-column:nth-child(5){grid-column:auto}.stack-spec-item{font-size:.94rem}.about-copy,.contact-cta-copy{font-size:.98rem;line-height:1.7}.contact-cta{padding-top:56px}.project-thumbnail{height:136px;margin-bottom:16px}.project-actions{flex-wrap:wrap}}
