@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg: #ffffff;--ink: #000000;--text: #111827;--muted: #9ca3af;--muted-strong: #64748b;--soft: #f8fafc;--line: #e5e7eb;--card: rgba(255, 255, 255, .94);--node-0: #ebedf0;--node-1: #9be9a8;--node-2: #40c463;--node-3: #30a14e;--node-4: #216e39;--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--font: "Plus Jakarta Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--ease: cubic-bezier(.23, 1, .32, 1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);color-scheme:light}.dark{--bg: #0b0b0c;--ink: #f5f5f5;--text: #f5f5f5;--muted: #8f8f96;--muted-strong: #a1a1aa;--soft: #171719;--line: #27272a;--card: rgba(18, 18, 19, .94);--node-0: #ebedf0;--node-1: #9be9a8;--node-2: #40c463;--node-3: #30a14e;--node-4: #216e39;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(15,23,42,.035),transparent 28rem);opacity:.8}.dark body:before{background:radial-gradient(circle at 50% 0,rgba(255,255,255,.045),transparent 26rem)}a{color:inherit}h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}::selection{background:var(--ink);color:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{width:min(100% - 32px,680px);margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-shell{height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:14px;font-weight:800;text-decoration:none;color:var(--ink)}.nav-links{display:flex;align-items:center;gap:18px;margin-left:auto}.nav-links a{color:var(--muted);text-decoration:none;font-size:14px;transition:color .15s ease}.nav-links a:hover{color:var(--text)}.theme-toggle{width:32px;height:32px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:color .15s ease,transform .15s var(--ease)}.theme-toggle:hover{color:var(--text);transform:translateY(-1px)}.theme-toggle span{width:16px;height:16px;border-radius:50%;display:block;border:1.5px solid currentColor}.theme-toggle .moon{box-shadow:inset -5px -2px 0 0 currentColor;border-color:transparent}main{padding-bottom:64px}.hero-section{min-height:500px;display:flex;flex-direction:column;justify-content:center;padding:50px 0 24px}.hero-top{display:flex;align-items:center;gap:26px;margin-bottom:28px}.avatar-wrap{position:relative;width:144px;height:144px;border-radius:999px;overflow:hidden;background:var(--soft);flex:0 0 auto;cursor:pointer;perspective:900px;isolation:isolate;box-shadow:inset 0 0 0 1px #0f172a14,0 18px 44px #0f172a14}.avatar-wrap:before{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;z-index:2;pointer-events:none;background:conic-gradient(from 120deg,transparent 0 34%,rgba(255,255,255,.9) 45%,transparent 58% 100%);opacity:0;transform:translate(-38%) rotate(18deg);transition:opacity .22s var(--ease),transform .62s var(--ease-in-out)}.avatar-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity .62s var(--ease-out),transform .62s var(--ease-in-out),filter .62s var(--ease-out),clip-path .62s var(--ease-in-out)}.avatar-primary{opacity:1;transform:rotateY(0) scale(1);filter:blur(0);clip-path:circle(78% at 50% 50%)}.avatar-secondary{opacity:0;transform:rotateY(178deg) scale(1.04);filter:blur(10px) saturate(.9);clip-path:circle(18% at 18% 48%)}.avatar-wrap:hover:before{opacity:.85;transform:translate(38%) rotate(18deg)}.avatar-wrap:hover .avatar-primary{opacity:0;transform:rotateY(-178deg) scale(.96);filter:blur(8px) saturate(.86);clip-path:circle(16% at 82% 52%)}.avatar-wrap:hover .avatar-secondary{opacity:1;transform:rotateY(0) scale(1);filter:blur(0) saturate(1);clip-path:circle(78% at 50% 50%)}h1{display:flex;align-items:center;gap:8px;color:var(--text);font-size:29px;line-height:1.2;font-weight:650;letter-spacing:-.026em}.socials{display:flex;align-items:center;gap:12px;margin-top:10px}.socials a,.socials .social-link{color:#71717a;opacity:1;transition:color .2s ease,transform .15s ease}.socials a:hover,.socials .social-link:hover{color:#18181b;transform:translateY(-2px)}.dark .socials a,.dark .socials .social-link{color:#a1a1aa}.dark .socials a:hover,.dark .socials .social-link:hover{color:#f4f4f5}.hero-section>h2{max-width:680px;font-size:31px;line-height:1.24;font-weight:430;letter-spacing:-.03em;color:var(--text);margin-top:8px}.intro-copy{margin-top:17px;max-width:650px;color:var(--muted-strong);font-size:15px;line-height:1.7}.primary-button,.small-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;text-decoration:none;background:#000;color:#fff;border-radius:8px;transition:transform .16s var(--ease),background .16s ease,box-shadow .16s ease;box-shadow:0 10px 18px #0000001a,0 3px 7px #00000014}.primary-button{margin-top:26px;padding:11px 20px;font-size:14px;font-weight:550}.hero-cta{margin-top:24px!important}.small-button{padding:8px 14px;font-size:13px;font-weight:550}.primary-button:hover,.small-button:hover{transform:scale(1.03)}.primary-button:active,.small-button:active,.contact-card:active,.chat-button:active,.scroll-top-button:active,.heat-node:active{transform:scale(.96)}.featured-build{display:grid;grid-template-columns:286px 1fr;min-height:232px;overflow:hidden;border:1px dashed #d1d5db;border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.dark .featured-build{border-color:#3f3f46}.featured-media{position:relative;display:block;min-height:230px;background:var(--soft);text-decoration:none;overflow:hidden}.upsilon-preview img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s var(--ease),filter .6s var(--ease)}.upsilon-preview:hover img{transform:scale(1.045);filter:saturate(1.05)}.preview-chrome{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:6px;padding:6px 8px;border-radius:999px;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-chrome span{width:7px;height:7px;border-radius:50%;background:#9ca3af}.featured-copy{padding:28px 22px;display:flex;flex-direction:column;align-items:flex-start}.featured-copy h2{margin-top:10px;font-size:22px;line-height:1.32;font-weight:300;letter-spacing:-.025em}.featured-copy p{margin-top:14px;color:var(--muted-strong);line-height:1.6}.tiny-label{color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px}.tag-row span{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:var(--soft);color:var(--muted-strong);font-size:11px}.tag-row.compact{margin:11px 0 14px}.plain-section,.detail-section{padding:52px 0 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-title h2{font-size:20px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.section-title a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .15s ease;white-space:nowrap}.section-title a:hover{color:var(--text)}.timeline-list{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:142px 1fr;gap:28px;padding:17px 0;border-top:1px solid var(--line)}.timeline-item:last-child{border-bottom:1px solid var(--line)}time{color:var(--muted);font-size:14px}.timeline-item h3,.cert-row h3{font-size:17px;line-height:1.25;font-weight:600;letter-spacing:-.01em}.timeline-item p,.cert-row p,.project-role{margin-top:6px;color:var(--muted-strong);font-size:13px}.timeline-item span,.cert-row span{display:block;margin-top:4px;color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}.project-card{min-width:0}.project-image-link{display:block;height:126px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.project-screenshot{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .56s var(--ease)}.project-image-link:hover .project-screenshot,.project-image-link:hover .project-visual{transform:scale(1.045)}.project-visual{height:100%;position:relative;padding:14px;background:var(--soft);transition:transform .56s var(--ease);overflow:hidden}.project-visual.terminal{background:linear-gradient(135deg,#f8fafc,#e5e7eb)}.project-visual.nodes{background:linear-gradient(135deg,#f8fafc,#eef2ff)}.project-visual.vision{background:linear-gradient(135deg,#f8fafc,#ecfdf5)}.dark .project-visual{background:linear-gradient(135deg,#18181b,#27272a)}.code-panel{height:100%;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#ffffffc7;padding:14px;display:grid;align-content:center;gap:8px;color:#475569;font:11px/1.35 var(--mono)}.dark .code-panel{background:#0003;color:#d4d4d8}.code-panel span:before{content:"> ";color:var(--muted)}.node-diagram{position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1px solid rgba(15,23,42,.08);border-radius:14px}.node-diagram:before,.node-diagram:after{content:"";position:absolute;height:1px;background:#cbd5e1;transform-origin:left}.node-diagram:before{left:34px;top:54px;width:160px;transform:rotate(15deg)}.node-diagram:after{left:92px;top:102px;width:134px;transform:rotate(-19deg)}.node-diagram i{position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #cbd5e1;box-shadow:var(--shadow)}.node-diagram i:nth-child(1){left:22px;top:40px}.node-diagram i:nth-child(2){left:104px;top:72px}.node-diagram i:nth-child(3){right:34px;top:38px}.node-diagram i:nth-child(4){right:56px;bottom:26px}.node-diagram b{position:absolute;left:72px;bottom:28px;width:74px;height:8px;border-radius:999px;background:#cbd5e1}.vision-frame span{position:absolute;border:1px solid #94a3b8;border-radius:8px}.vision-frame span:nth-child(1){left:44px;top:38px;width:94px;height:72px}.vision-frame span:nth-child(2){right:38px;bottom:34px;width:76px;height:58px}.vision-frame em{position:absolute;left:48px;top:42px;padding:3px 6px;border-radius:6px;background:#111827;color:#fff;font:normal 10px var(--mono)}.project-body{padding:11px 4px 0}.project-name{display:inline-block;color:var(--text);text-decoration:none;font-size:15px;line-height:1;font-weight:600;letter-spacing:-.02em}.project-body>p:not(.project-role){margin-top:9px;color:var(--muted-strong);font-size:13px;line-height:1.55}.text-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .15s ease}.text-link:hover{color:var(--text)}.secondary{margin-top:34px;font-size:14px;padding:11px 20px}.tech-section{overflow:hidden}.marquee-mask{overflow:hidden;display:grid;gap:10px;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.tech-track{display:flex;gap:10px;width:max-content;animation:scroll-left 34s linear infinite}.tech-track.reverse{animation-name:scroll-right;animation-duration:42s}.tech-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border:1px dashed #d1d5db;border-radius:8px;background:var(--card);color:#475569;font-size:13px;transition:transform .15s var(--ease),color .15s ease,border-color .15s ease}.dark .tech-chip{border-color:#3f3f46;color:#d4d4d8}.tech-chip:hover{transform:scale(1.04);color:var(--text);border-color:#cbd5e1}.brand-icon{width:16px;height:16px;flex:0 0 auto;fill:currentColor;opacity:1}.with-tabs{align-items:center}.tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.tabs button{border:0;border-radius:7px;padding:7px 10px;background:transparent;color:var(--muted);font:500 12px var(--font);cursor:pointer;transition:background .15s ease,color .15s ease}.tabs button.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow)}.cert-list{display:grid;gap:0}.cert-row{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.cert-row:last-child{border-bottom:1px solid var(--line)}.cert-thumb{width:64px;height:44px;border-radius:6px;border:1px solid var(--line);background:var(--soft);display:grid;place-items:center;color:var(--muted);font:700 13px var(--mono)}.github-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:18px;box-shadow:var(--shadow)}.github-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.github-head strong{font-size:28px;line-height:1;font-weight:600;letter-spacing:-.03em}.github-head span,.heatmap-caption{color:var(--muted);font-size:13px}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,10px);grid-auto-columns:10px;gap:4px;overflow-x:auto;padding:2px 0 8px;scrollbar-color:var(--line) transparent}.heat-node{width:10px;height:10px;border:0;border-radius:2px;background:var(--node-0);cursor:pointer;transition:transform .14s var(--ease),outline-color .14s ease}.heat-node:hover,.heat-node:focus-visible{transform:scale(1.5);outline:1px solid var(--ink);outline-offset:2px;z-index:2}.heat-node.level-1{background:var(--node-1)}.heat-node.level-2{background:var(--node-2)}.heat-node.level-3{background:var(--node-3)}.heat-node.level-4{background:var(--node-4)}.heatmap-caption{margin-top:10px}.outside-section p,.outside-copy-text{max-width:520px;color:var(--muted-strong);line-height:1.75;font-size:15px;margin-top:14px}.outside-pinterest-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:#e60023;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s ease}.outside-pinterest-link:hover{opacity:.78}.outside-pinterest-link svg{flex-shrink:0}.outside-stack{position:relative;height:214px;margin-top:24px}.outside-stack img,.outside-stack>span{position:absolute;right:0;top:18px;width:210px;height:138px;object-fit:cover;display:grid;place-items:end start;padding:18px;border-radius:14px;background:var(--soft);color:var(--text);box-shadow:var(--shadow);font-weight:600;transition:transform .3s var(--ease);border:1px solid rgba(229,231,235,.7)}.outside-stack img:nth-child(1),.outside-stack>span:nth-child(1){transform:rotate(-7deg) translate(-132px)}.outside-stack img:nth-child(2),.outside-stack>span:nth-child(2){transform:rotate(4deg) translate(-88px) translateY(10px)}.outside-stack img:nth-child(3),.outside-stack>span:nth-child(3){transform:rotate(-3deg) translate(-44px) translateY(18px)}.outside-stack img:nth-child(4),.outside-stack>span:nth-child(4){transform:rotate(6deg) translateY(28px)}.outside-stack:hover img:nth-child(1),.outside-stack:hover>span:nth-child(1){transform:rotate(-10deg) translate(-170px)}.outside-stack:hover img:nth-child(2),.outside-stack:hover>span:nth-child(2){transform:rotate(1deg) translate(-105px) translateY(4px)}.outside-stack:hover img:nth-child(3),.outside-stack:hover>span:nth-child(3){transform:rotate(-1deg) translate(-48px) translateY(36px)}.outside-stack:hover img:nth-child(4),.outside-stack:hover>span:nth-child(4){transform:rotate(9deg) translate(14px) translateY(32px)}.contact-section{padding:64px 0 0}.contact-section h2{font-size:32px;font-weight:600;letter-spacing:-.032em}.contact-section>p{margin-top:14px;max-width:620px;color:var(--muted-strong);line-height:1.65}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.contact-card{display:grid;gap:6px;min-height:74px;padding:16px;border:1px solid rgba(229,231,235,.8);border-radius:16px;background:var(--card);box-shadow:var(--shadow);text-decoration:none;transition:transform .15s var(--ease),border-color .15s ease}.contact-card:hover{transform:translateY(-4px);border-color:#d1d5db}.contact-card span{color:var(--muted);font-size:12px}.contact-card strong{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600}.detail-page{min-height:78vh;padding-top:56px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:38px}.back-link svg{transform:rotate(180deg)}.detail-hero{padding:22px 0 16px}.detail-hero h1{font-size:34.4px;font-weight:400;letter-spacing:-.032em}.detail-hero p{margin-top:12px;color:var(--muted-strong);font-size:17px;line-height:1.7}.footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:54px 0 34px;color:var(--muted);font-size:13px}.floating-actions{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px}.scroll-top-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(229,231,235,.92);border-radius:10px;background:#fffffff0;color:#111827;box-shadow:0 10px 15px #00000014,0 4px 6px #0000000f;cursor:pointer;transition:transform .15s var(--ease),border-color .15s ease}.dark .scroll-top-button{background:#18181bf0;color:#fff;border-color:#3f3f46e6}.chat-button{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 17px;border-radius:999px;background:#000;color:#fff;box-shadow:0 10px 15px #0000001a,0 4px 6px #00000014;text-decoration:none;font-size:13px;font-weight:520;transition:transform .15s var(--ease)}.scroll-top-button:hover,.chat-button:hover{transform:translateY(-2px)}@keyframes scroll-left{0%{transform:translateZ(0)}to{transform:translate3d(-33.333%,0,0)}}@keyframes scroll-right{0%{transform:translate3d(-33.333%,0,0)}to{transform:translateZ(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:1ms!important}.tech-track{transform:none!important;flex-wrap:wrap;width:auto}}@media (max-width: 760px){.shell{width:min(100% - 28px,680px)}.nav-shell{height:58px;gap:12px}.nav-links{gap:12px}.nav-links a{font-size:12px}.hero-section{min-height:auto;padding:36px 0 24px}.hero-top{align-items:flex-start;gap:18px;margin-bottom:22px}.avatar-wrap{width:112px;height:112px}h1{font-size:24px}.hero-section>h2{font-size:25px}.intro-copy{font-size:14px}.featured-build,.project-grid,.timeline-item,.contact-grid{grid-template-columns:1fr}.featured-media{min-height:190px}.featured-copy{padding:26px 20px}.timeline-item{gap:8px}.cert-row{grid-template-columns:64px 1fr;gap:18px}.heatmap{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;gap:3px}.outside-stack{height:178px}.outside-stack img,.outside-stack>span{width:160px;height:110px}.outside-stack img:nth-child(1),.outside-stack>span:nth-child(1){transform:rotate(-7deg) translate(-102px)}.outside-stack img:nth-child(2),.outside-stack>span:nth-child(2){transform:rotate(4deg) translate(-66px) translateY(10px)}.outside-stack img:nth-child(3),.outside-stack>span:nth-child(3){transform:rotate(-3deg) translate(-30px) translateY(18px)}.floating-actions{right:14px;bottom:14px}.scroll-top-button{width:40px;height:40px}.chat-button{min-height:40px;padding:0 14px;font-size:13px}}@media (hover: none),(pointer: coarse){.avatar-wrap .avatar-primary,.avatar-wrap .avatar-secondary{transition-duration:.36s}}.shell{width:min(100% - 32px,760px);max-width:760px;padding-inline:16px}.nav-shell{height:56px;padding-inline:16px}.brand{font-size:13px;font-weight:700;letter-spacing:-.02em}.nav-links a{font-size:12px;font-weight:400;color:#a1a1aa}.theme-toggle{width:28px;height:28px;border-radius:8px}.theme-toggle svg{width:16px;height:16px;stroke-width:1.5}.theme-toggle span{display:none}.hero-section{min-height:430px;padding:34px 0 18px}.hero-top{gap:20px;margin-bottom:22px}.avatar-wrap{width:126px;height:126px;perspective:1000px;transform-style:preserve-3d}.hero-section>h2{max-width:640px;font-size:26px;line-height:1.24;font-weight:300;letter-spacing:-.034em}.intro-copy{margin-top:14px;max-width:620px;color:#64748b;font-size:13px;line-height:1.7;font-weight:300;letter-spacing:-.006em}.primary-button{margin-top:20px;padding:8px 14px;font-size:12px;font-weight:500}.small-button{padding:7px 12px;font-size:12px;font-weight:500}.plain-section,.detail-section,.contact-section{padding-top:38px}.section-title{margin-bottom:15px}.section-title h2{font-size:18px;font-weight:500;letter-spacing:-.028em}.section-title a{font-size:12px;color:#a1a1aa}.featured-build{grid-template-columns:270px 1fr;min-height:208px;border-radius:10px}.featured-media{min-height:206px}.featured-copy{padding:22px 18px}.featured-copy h2{margin-top:8px;font-size:20px;font-weight:300;letter-spacing:-.03em}.featured-copy p{margin-top:10px;font-size:13px;line-height:1.55;color:#64748b}.tiny-label{font-size:10px;color:#a1a1aa}.timeline-item{grid-template-columns:132px 1fr;gap:22px;padding:14px 0}time{font-size:12px;color:#a1a1aa}.timeline-item h3,.cert-row h3{font-size:14px;font-weight:500;letter-spacing:-.012em}.timeline-item p,.cert-row p,.project-role{margin-top:5px;font-size:12px;color:#64748b}.timeline-item span,.cert-row span{margin-top:3px;font-size:12px;color:#a1a1aa}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.project-image-link{height:112px;border-radius:7px}.project-visual{padding:12px}.project-body{padding:9px 2px 0}.project-name{font-size:14px;font-weight:500;letter-spacing:-.02em}.project-body>p:not(.project-role){margin-top:7px;font-size:12px;line-height:1.5;color:#64748b}.tag-row{gap:6px;margin:14px 0 16px}.tag-row.compact{margin:9px 0 12px}.tag-row span{min-height:21px;padding:3px 7px;font-size:10.5px}.text-link{font-size:10px;letter-spacing:.1em}.marquee-mask,.tech-track{gap:8px}.tech-chip{min-height:28px;padding:5px 8px;font-size:12px;gap:7px}.brand-icon{width:14px;height:14px}.tabs{border-radius:9px;padding:3px}.tabs button{padding:6px 9px;font-size:11px}.cert-row{grid-template-columns:70px 1fr;gap:18px;padding:16px 0}.cert-preview{width:100%;text-align:left;border-right:0;border-left:0;border-bottom:0;border-top:1px solid var(--line);background:transparent;color:inherit;font:inherit;cursor:pointer;transition:transform .16s var(--ease-out),background .16s ease}.cert-preview:hover{background:color-mix(in srgb,var(--soft) 58%,transparent);transform:translateY(-1px)}.cert-image{width:58px;height:42px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:var(--soft)}.cert-thumb{width:58px;height:42px;font-size:11px}.github-card{padding:14px;border-radius:10px}.github-head strong{font-size:23px;font-weight:500}.github-head span,.heatmap-caption{font-size:12px}.heatmap{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;gap:3px}.heat-node{width:9px;height:9px}.outside-section p,.contact-section>p,.detail-hero p{font-size:13px;line-height:1.65;font-weight:300;color:#64748b}.outside-pills span{padding:5px 9px;font-size:12px}.outside-stack{height:184px;margin-top:18px}.outside-stack img,.outside-stack>span{width:176px;height:116px;border-radius:12px}.contact-section h2,.detail-hero h1{font-size:25px;font-weight:300;letter-spacing:-.034em}.contact-grid{gap:10px;margin-top:18px}.contact-card{min-height:62px;padding:13px;border-radius:12px}.contact-card span{font-size:11px;color:#a1a1aa}.contact-card strong{font-size:12px;font-weight:500}.detail-page{padding-top:42px}.back-link{font-size:12px;margin-bottom:26px}.footer{padding:38px 16px 28px;font-size:12px}.floating-actions{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.scroll-top-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(229,231,235,.95);border-radius:8px;background:#fffffff5;color:#111827;box-shadow:0 10px 15px #00000014,0 4px 6px #0000000f;cursor:pointer;animation:fab-in .22s var(--ease-out) both}.chat-button{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 12px;border-radius:999px;background:#000;color:#fff;box-shadow:0 10px 15px #0000001a,0 4px 6px #00000014;text-decoration:none;font-size:12px;font-weight:500;line-height:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:lightbox-fade .18s var(--ease-out) both}.lightbox-panel{position:relative;width:min(100%,920px);max-height:min(88vh,760px);display:grid;gap:12px}.lightbox-panel img{width:100%;max-height:calc(88vh - 64px);object-fit:contain;border-radius:12px;background:#111;box-shadow:0 24px 80px #00000073}.lightbox-close{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:#000000c2;color:#fff;cursor:pointer}.lightbox-caption{display:grid;gap:3px;color:#fff}.lightbox-caption strong{font-size:13px;font-weight:500}.lightbox-caption span{font-size:12px;color:#ffffffb3}@keyframes fab-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@media (hover: hover) and (pointer: fine){.avatar-wrap:hover:before{opacity:.85;transform:translate(38%) rotate(18deg)}.avatar-wrap:hover .avatar-primary{opacity:0;transform:rotateY(-178deg) scale(.96);filter:blur(8px) saturate(.86);clip-path:circle(16% at 82% 52%)}.avatar-wrap:hover .avatar-secondary{opacity:1;transform:rotateY(0) scale(1);filter:blur(0) saturate(1);clip-path:circle(78% at 50% 50%)}}@media (max-width: 760px){.shell{width:min(100% - 24px,760px);padding-inline:12px}.nav-shell{height:52px}.hero-section{padding:28px 0 18px}.avatar-wrap{width:104px;height:104px}h1{font-size:19px}.hero-section>h2{font-size:22px}.featured-build,.project-grid,.timeline-item,.contact-grid{grid-template-columns:1fr}.project-image-link{height:118px}.plain-section,.detail-section,.contact-section{padding-top:34px}.floating-actions{right:16px;bottom:16px;gap:8px}.chat-button{min-height:30px;padding:6px 12px;font-size:12px}.scroll-top-button{width:30px;height:30px}.cert-row{grid-template-columns:62px 1fr;gap:14px}.lightbox{padding:14px}}body{font-family:Plus Jakarta Sans,sans-serif;font-size:13px;line-height:1.55}body:before{content:none!important}.shell{width:min(100% - 32px,680px)!important;max-width:680px!important;margin-inline:auto;padding-inline:16px!important}.nav-shell{height:54px}.hero-section{min-height:auto!important;padding:28px 0 18px!important}.hero-top{gap:18px;margin-bottom:20px;align-items:center}.avatar-wrap{width:80px!important;height:80px!important;position:relative;border-radius:999px;overflow:hidden;cursor:pointer;border:1px solid #e4e4e7;background:#f4f4f5;box-shadow:none!important;perspective:none!important;transform-style:flat!important;isolation:auto;transition:transform .3s var(--ease-out);outline:none}.dark .avatar-wrap{border-color:#27272a;background:#18181b}.avatar-wrap:before{content:none!important;display:none!important}.avatar-wrap:hover,.avatar-wrap:focus-visible,.avatar-wrap:focus-within{transform:scale(1.05)}.avatar-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out,transform .3s var(--ease-out)!important;transform:none!important;filter:none!important;clip-path:none!important;backface-visibility:visible!important}.avatar-primary{opacity:1}.avatar-secondary{opacity:0;transform:scale(1.02)!important}.avatar-wrap:hover .avatar-primary,.avatar-wrap:focus-visible .avatar-primary,.avatar-wrap:focus-within .avatar-primary{opacity:0;transform:scale(1)!important;filter:none!important;clip-path:none!important}.avatar-wrap:hover .avatar-secondary,.avatar-wrap:focus-visible .avatar-secondary,.avatar-wrap:focus-within .avatar-secondary{opacity:1;transform:scale(1.02)!important;filter:none!important;clip-path:none!important}h1{font-size:20px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.name-with-badge{display:inline-flex;align-items:center;gap:6px}.verified-icon{width:16px;height:16px;color:#1d9bf0;fill:currentColor;flex:0 0 auto}.hero-section>h2{font-size:23px!important;line-height:1.25;font-weight:300;letter-spacing:-.03em;max-width:610px}.intro-copy{font-size:13px;line-height:1.65;color:#64748b;max-width:590px}.plain-section,.detail-section,.contact-section{padding-top:34px!important}.section-title{margin-bottom:13px}.section-title h2{font-size:18px;font-weight:500;letter-spacing:-.026em}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.project-body{padding-top:8px}.project-name{font-size:14px}.project-body>p:not(.project-role){font-size:12px;line-height:1.5}.tech-preview-head{align-items:center}.view-all-link{display:inline-flex;align-items:center;gap:6px;color:#71717a;font-size:12px;text-decoration:none}.view-all-link:hover{color:var(--text)}.tech-preview-list,.tech-category-pills{display:flex;flex-wrap:wrap;gap:8px}.tech-preview-list .tech-pill,.tech-category-pills .tech-pill{min-height:30px;border-radius:12px;border:1px solid #e4e4e7;padding:6px 12px;font-size:12px;font-weight:500;background:#fff9;box-shadow:0 1px 2px #0f172a0d}.dark .tech-preview-list .tech-pill,.dark .tech-category-pills .tech-pill{border-color:#27272a;background:#18181b99;box-shadow:0 1px 2px #0000002e}.tech-stack-page{padding-top:42px}.tech-stack-hero{padding-bottom:8px}.tech-categories{margin-top:18px}.tech-category{border-bottom:1px dashed #e4e4e7;padding-bottom:16px;margin-bottom:24px}.dark .tech-category{border-bottom-color:#27272a}.tech-category h2{font-size:14px;line-height:1.25;font-weight:500;letter-spacing:-.014em}.github-card{border:1px dashed #e4e4e7!important;border-radius:16px!important;padding:20px!important;background:transparent!important;box-shadow:none!important;overflow-x:auto}.dark .github-card{border-color:#27272a!important}.github-head{display:none!important}.month-labels{display:grid;grid-template-columns:repeat(12,1fr);min-width:520px;margin-bottom:10px;color:#a1a1aa;font-size:10px;line-height:1;font-weight:400}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,10px)!important;grid-auto-columns:10px!important;gap:3px;min-width:520px}.heat-node{width:10px!important;height:10px!important;border-radius:2px!important;border:0;padding:0;cursor:pointer}.heatmap-caption{margin-top:12px;color:#71717a;font-size:12px!important;font-weight:400}.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.contact-copy h2{font-size:22px;line-height:1.2;font-weight:300;letter-spacing:-.032em}.contact-copy p{margin-top:12px;color:#64748b;font-size:13px;line-height:1.65;font-weight:300}.contact-actions{display:flex;flex-direction:column;gap:12px}.contact-action-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid #e4e4e7;border-radius:12px;color:inherit;text-decoration:none;background:#ffffffb8;box-shadow:0 1px 2px #0f172a0d;transition:transform .18s var(--ease-out),border-color .18s ease,background .18s ease}.contact-action-card:hover{transform:translateY(-1px);border-color:#d4d4d8;background:#fff}.dark .contact-action-card{border-color:#27272a;background:#18181bb8}.contact-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f4f4f5;color:#18181b}.dark .contact-icon{background:#27272a;color:#f4f4f5}.contact-action-card small{display:block;color:#a1a1aa;font-size:10px;line-height:1;letter-spacing:.08em;font-weight:700}.contact-action-card strong{display:block;margin-top:5px;color:var(--text);font-size:12px;line-height:1.25;font-weight:500;overflow-wrap:anywhere}.floating-actions{right:24px!important;bottom:24px!important;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.scroll-top-button{width:30px;height:30px}.chat-button{min-height:30px;padding:6px 12px;font-size:12px}.scroll-top-button svg,.chat-button svg{width:14px;height:14px}@media (hover: hover) and (pointer: fine){.avatar-wrap:hover:before{content:none!important;display:none!important;opacity:0!important}.avatar-wrap:hover .avatar-primary{opacity:0;transform:scale(1)!important;filter:none!important;clip-path:none!important}.avatar-wrap:hover .avatar-secondary{opacity:1;transform:scale(1.02)!important;filter:none!important;clip-path:none!important}}@media (max-width: 760px){.shell{width:min(100% - 24px,680px)!important;padding-inline:12px!important}.hero-section{padding-top:24px!important}.avatar-wrap{width:80px!important;height:80px!important}.hero-section>h2{font-size:21px!important}.featured-build,.project-grid,.timeline-item,.contact-section{grid-template-columns:1fr}.plain-section,.detail-section,.contact-section{padding-top:30px!important}.contact-section{gap:16px}.floating-actions{right:16px!important;bottom:16px!important}}.shell{width:min(100% - 32px,600px)!important;max-width:600px!important}.nav-shell{max-width:600px!important}.featured-build{grid-template-columns:230px 1fr;min-height:188px}.featured-media{min-height:188px}.project-grid{gap:16px 18px}.plain-section,.detail-section,.contact-section{padding-top:30px!important}.marquee-mask{overflow:hidden;display:grid;gap:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.tech-track{display:flex;width:max-content;gap:8px;animation:scroll-left 32s linear infinite;will-change:transform}.tech-track.reverse{animation-name:scroll-right;animation-duration:39s}.compact-marquee{margin:16px 0 22px}.compact-marquee .tech-track{animation-duration:36s}.marquee-mask:hover .tech-track{animation-play-state:paused}.tech-chip{transition:transform .16s var(--ease-out),border-color .16s ease,background .16s ease}.brand-icon{flex:0 0 auto;fill:currentColor;color:inherit}.custom-brand-icon text{font-family:Plus Jakarta Sans,sans-serif}.chat-button{min-height:25px!important;padding:4px 9px!important;gap:5px;font-size:11px!important;box-shadow:0 7px 12px #0000001f,0 2px 5px #00000014}.chat-button svg{width:12px!important;height:12px!important}.scroll-top-button{width:28px!important;height:28px!important}.scroll-top-button svg{width:12px!important;height:12px!important}.education-card{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.education-logo{width:46px;height:46px;object-fit:contain;border-radius:10px;border:1px solid #e4e4e7;background:#fff;padding:5px}.dark .education-logo{border-color:#27272a;background:#f8fafc}.education-card h3,.experience-detail-card h3,.resume-project-list h3{margin:5px 0 0;font-size:14px;line-height:1.3;font-weight:500;letter-spacing:-.014em}.education-card p,.experience-detail-card p,.resume-project-list p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.55}.education-card span,.experience-detail-card span{display:block;margin-top:3px;color:#a1a1aa;font-size:12px}.experience-detail-list{display:grid;gap:18px}.experience-detail-card{display:grid;grid-template-columns:118px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.experience-detail-card ul{margin:11px 0 0;padding-left:16px;display:grid;gap:7px;color:#52525b;font-size:12px;line-height:1.55}.dark .experience-detail-card ul{color:#d4d4d8}.resume-skill-list{display:grid;gap:9px}.resume-skill-list div{display:grid;grid-template-columns:142px 1fr;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.resume-skill-list strong{color:var(--text);font-size:12px;font-weight:500}.resume-skill-list span{color:#64748b;font-size:12px;line-height:1.55}.resume-project-list{display:grid;gap:12px}.resume-project-list article{padding:12px 0;border-top:1px solid var(--line)}.experience-detail-page .detail-hero{margin-bottom:4px}@media (hover: hover) and (pointer: fine){.tech-chip:hover{transform:translateY(-1px) scale(1.04);border-color:#d4d4d8;background:#fff}.dark .tech-chip:hover{border-color:#3f3f46;background:#18181b}}@media (prefers-reduced-motion: reduce){.tech-track{animation-duration:1ms!important;animation-iteration-count:1!important;transform:none!important}}@media (max-width: 760px){.shell{width:min(100% - 24px,600px)!important;padding-inline:12px!important}.featured-build,.project-grid,.timeline-item,.contact-section,.experience-detail-card,.resume-skill-list div{grid-template-columns:1fr}.featured-build{min-height:0}.featured-media{min-height:170px}.experience-detail-card{gap:8px}.education-card{grid-template-columns:42px 1fr}.education-logo{width:42px;height:42px}.chat-button{min-height:24px!important;padding:4px 8px!important;font-size:10.5px!important}}:root{--font-heading: "Plus Jakarta Sans", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .26s var(--ease-out),color .26s var(--ease-out),border-color .26s var(--ease-out),box-shadow .26s var(--ease-out),opacity .26s var(--ease-out),transform .26s var(--ease-out)!important}body{font-family:var(--font-body)!important;color:#3f3f46;font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.dark body{color:#d4d4d8}.shell{width:min(100% - 32px,560px)!important;max-width:560px!important;padding-inline:16px!important}.nav-shell{max-width:560px!important}h1,h2,h3,.hero-tagline,.section-title h2,.featured-copy h2,.detail-hero h1{font-family:var(--font-heading)!important;letter-spacing:-.035em}.hero-tagline{max-width:560px!important;margin-top:8px;font-size:28px!important;line-height:1.23;font-weight:200!important;color:#18181b}.dark .hero-tagline{color:#f4f4f5}.hero-tagline span{font-weight:200;color:#18181b}.dark .hero-tagline span{color:#f4f4f5}.hero-tagline .title-dash{padding-inline:4px;color:#a1a1aa}.dark .hero-tagline .title-dash{color:#52525b}.hero-tagline .title-muted{color:#a1a1aa}.dark .hero-tagline .title-muted{color:#71717a}.section-title h2{font-size:22px!important;font-weight:200!important;line-height:1.18;color:#18181b}.dark .section-title h2{color:#f4f4f5}.featured-copy h2{font-size:20px!important;font-weight:200!important;color:#18181b}.dark .featured-copy h2{color:#f4f4f5}p,.intro-copy,.featured-copy p,.project-body>p:not(.project-role),.outside-section p,.contact-copy p{font-family:var(--font-body)!important;font-size:13px;line-height:1.7;font-weight:300;color:#52525b}.dark p,.dark .intro-copy,.dark .featured-copy p,.dark .project-body>p:not(.project-role),.dark .outside-section p,.dark .contact-copy p{color:#a1a1aa}.tiny-label,.contact-action-card small{font-family:var(--font-heading)!important;font-size:10px!important;text-transform:uppercase;font-weight:600!important;letter-spacing:.08em!important;color:#a1a1aa!important}.dark .tiny-label,.dark .contact-action-card small{color:#71717a!important}time{font-family:var(--font-body)!important;font-size:12px!important;font-weight:300!important;color:#a1a1aa!important}.dark time{color:#71717a!important}.timeline-item h3,.cert-row h3,.project-name{font-size:13px!important;font-weight:600!important;color:#18181b;letter-spacing:-.012em}.dark .timeline-item h3,.dark .cert-row h3,.dark .project-name{color:#f4f4f5}.timeline-item p,.cert-row p,.project-role,.timeline-item span,.cert-row span{font-size:12px!important;font-weight:300!important;color:#71717a}.dark .timeline-item p,.dark .cert-row p,.dark .project-role,.dark .timeline-item span,.dark .cert-row span{color:#a1a1aa}.primary-button,.small-button{font-family:var(--font-body)!important;font-weight:500!important;font-size:12px!important;border-radius:8px!important;padding:8px 16px!important;background:#18181b!important;color:#fff!important;transition:opacity .15s ease,transform .15s var(--ease-out)}.dark .primary-button,.dark .small-button{background:#f4f4f5!important;color:#18181b!important}.primary-button:hover,.small-button:hover{opacity:.9}.theme-toggle{position:relative;width:30px!important;height:30px!important;border-radius:999px!important;overflow:hidden;color:#52525b;background:#f4f4f5!important;border:1px solid #e4e4e7;transition:color .22s var(--ease-out),background-color .22s var(--ease-out),border-color .22s var(--ease-out),transform .22s var(--ease-out)!important}.theme-toggle:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:999px;background:#18181b;transform:translate3d(-24px,20px,0) scale(.55);opacity:0;transition:transform .26s var(--ease-in-out),opacity .22s var(--ease-out)}.theme-toggle-orbit{position:relative;z-index:1;display:grid;place-items:center;transform:rotate(0) scale(1);transition:transform .26s var(--ease-in-out),opacity .18s var(--ease-out)}.theme-toggle.is-dark{color:#f4f4f5;background:#18181b!important;border-color:#27272a}.theme-toggle.is-dark:before{opacity:1;transform:translateZ(0) scale(1);background:#27272a}.theme-toggle.is-dark .theme-toggle-orbit{transform:rotate(180deg) scale(.96)}.theme-toggle:active .theme-toggle-orbit{transform:rotate(28deg) scale(.9)}.experience-detail-page{width:min(100% - 32px,560px)!important;max-width:560px!important;padding-top:32px!important;padding-bottom:32px}.experience-detail-page .back-link{display:inline-block;margin-bottom:16px!important;color:#a1a1aa;font-size:12px;font-weight:300;text-decoration:none;transition:color .15s ease}.experience-detail-page .back-link:hover{color:#52525b}.dark .experience-detail-page .back-link:hover{color:#e4e4e7}.experience-page-header{margin-bottom:8px!important;padding:0!important}.experience-page-header h1{margin:0 0 4px;font-size:24px!important;line-height:1.2;font-weight:300!important;color:#18181b}.dark .experience-page-header h1{color:#f4f4f5}.experience-page-header p{margin:0;color:#a1a1aa!important;font-size:12px!important;line-height:1.5;font-weight:300}.dark .experience-page-header p{color:#71717a!important}.experience-detail-page .detail-section{padding-top:0!important;margin-top:20px}.experience-timeline-section{margin-top:4px!important}.experience-detail-page .section-title{margin-bottom:12px}.experience-detail-page .section-title h2{font-size:18px!important}.experience-timeline{position:relative;margin-left:8px;padding-left:24px;border-left:1px solid #e4e4e7;display:grid;gap:40px}.dark .experience-timeline{border-left-color:#27272a}.experience-detail-card{position:relative!important;display:block!important;padding:0!important;border:0!important}.timeline-node{position:absolute;left:-29px;top:6px;width:10px;height:10px;border-radius:999px;background:#18181b;border:2px solid #fff}.dark .timeline-node{background:#f4f4f5;border-color:#09090b}.experience-detail-card time{display:block;margin-bottom:4px;font-size:12px!important;color:#a1a1aa!important;font-weight:300!important}.experience-detail-card h3{margin:0 0 2px!important;font-family:var(--font-body)!important;font-size:14px!important;line-height:1.35;font-weight:600!important;letter-spacing:-.012em;color:#18181b}.dark .experience-detail-card h3{color:#f4f4f5}.experience-detail-card p{margin:0!important;font-size:13px!important;line-height:1.45;font-weight:500!important;color:#3f3f46!important}.dark .experience-detail-card p{color:#d4d4d8!important}.experience-detail-card span:not(.timeline-node){display:block;margin-top:2px;margin-bottom:12px;font-size:12px!important;line-height:1.45;font-weight:300!important;color:#a1a1aa!important}.dark .experience-detail-card span:not(.timeline-node){color:#71717a!important}.experience-detail-card ul{list-style:disc;padding-left:16px!important;margin:12px 0 0!important;display:grid;gap:8px!important}.experience-detail-card li{color:#52525b;font-size:13px;line-height:1.7;font-weight:300}.dark .experience-detail-card li{color:#a1a1aa}.chat-button{min-height:22px!important;padding:3px 8px!important;gap:5px;font-size:10.5px!important}.chat-button svg{width:11px!important;height:11px!important}@media (max-width: 760px){.shell,.experience-detail-page{width:min(100% - 24px,560px)!important;padding-inline:12px!important}.hero-tagline{font-size:24px!important}.section-title h2{font-size:20px!important}p,.intro-copy,.featured-copy p,.project-body>p:not(.project-role),.outside-section p,.contact-copy p{font-size:12px}.experience-detail-card h3{font-size:13px!important}.experience-detail-card p,.experience-detail-card li{font-size:12px!important}}.hero-section>.hero-tagline{font-size:28px!important;line-height:1.23!important;font-weight:200!important;font-family:var(--font-heading)!important}.theme-toggle .theme-toggle-orbit{transform:rotate(0) scale(1)!important;transition:transform .26s var(--ease-in-out),opacity .18s var(--ease-out)!important}.theme-toggle.is-dark .theme-toggle-orbit{transform:rotate(180deg) scale(.96)!important}.theme-toggle.is-light .theme-toggle-orbit{transform:rotate(0) scale(1)!important}@media (max-width: 760px){.hero-section>.hero-tagline{font-size:24px!important}}.theme-toggle .theme-toggle-orbit{display:grid!important;place-items:center}*{transition:background-color .4s ease-in-out,border-color .4s ease-in-out,color .3s ease-in-out}.theme-transitioning body,.theme-transitioning .site-header,.theme-transitioning .project-card,.theme-transitioning .cert-row,.theme-transitioning .github-card,.theme-transitioning .contact-action-card,.theme-transitioning .tech-pill{transition:background-color .4s ease-in-out,border-color .4s ease-in-out,color .3s ease-in-out,box-shadow .4s ease-in-out}.hero-tagline .title-dash{padding-inline:4px}.socials .social-link{color:#71717a!important;opacity:1!important}.socials .social-link:hover{color:#18181b!important}.dark .socials .social-link{color:#a1a1aa!important}.dark .socials .social-link:hover{color:#f4f4f5!important}.education-tab-row{grid-template-columns:48px 1fr!important;align-items:center}.tab-education-logo{width:48px!important;height:48px!important;object-fit:contain;border-radius:11px;padding:5px;background:#fff;border:1px solid #e4e4e7;box-shadow:0 8px 18px #0f172a0f}.dark .tab-education-logo{background:#f8fafc;border-color:#27272a}.avatar-wrap{position:relative!important;width:80px!important;height:80px!important;border-radius:999px!important;overflow:hidden!important;border:1px solid #e4e4e7!important;box-shadow:none!important;cursor:pointer;transition:transform .3s var(--ease-out),border-color .4s ease-in-out!important}.dark .avatar-wrap{border-color:#27272a!important}.avatar-photo{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;clip-path:none!important;transform:none!important;transition:opacity .3s ease-in-out!important}.avatar-primary{opacity:1!important}.avatar-secondary{opacity:0!important}.avatar-wrap:hover,.avatar-wrap:focus-visible,.avatar-wrap:focus-within,.avatar-wrap.is-active{transform:scale(1.05)}.avatar-wrap:hover .avatar-secondary,.avatar-wrap:focus-visible .avatar-secondary,.avatar-wrap:focus-within .avatar-secondary,.avatar-wrap.is-active .avatar-secondary{opacity:1!important}.avatar-wrap:hover .avatar-primary,.avatar-wrap:focus-visible .avatar-primary,.avatar-wrap:focus-within .avatar-primary,.avatar-wrap.is-active .avatar-primary{opacity:0!important}.outside-stack{position:relative!important;height:210px!important;margin-top:22px;perspective:1000px;overflow:visible}.outside-card{position:absolute;top:20px;right:18px;width:210px;height:138px;padding:0;border:1px solid rgba(228,228,231,.9);border-radius:14px;overflow:hidden;background:#f4f4f5;box-shadow:0 18px 34px #0f172a1f,0 5px 10px #0f172a14;cursor:default;transform-origin:center;transition:transform .26s var(--ease-out),opacity .22s var(--ease-out),box-shadow .26s var(--ease-out),border-color .4s ease-in-out,background-color .4s ease-in-out;will-change:transform,opacity}.dark .outside-card{border-color:#27272a;background:#18181b;box-shadow:0 20px 36px #00000047,0 6px 12px #0000002e}.outside-card img,.outside-card span{width:100%;height:100%;display:grid;place-items:end start;object-fit:cover;padding:14px;font-size:12px;font-weight:600;color:var(--text)}.outside-card.deck-0{z-index:6;transform:translate3d(-122px,0,36px) rotate(-3deg) scale(1)}.outside-stack.is-cycling .outside-card.is-front{transform:translate3d(34px,-18px,48px) rotate(8deg) scale(.96);opacity:0;box-shadow:0 12px 20px #0f172a14}@media (hover: hover) and (pointer: fine){.outside-stack:hover .outside-card.deck-0{transform:translate3d(-146px,-4px,44px) rotate(-5deg) scale(1.02)}.outside-stack:hover .outside-card.deck-1{transform:translate3d(-92px,12px,20px) rotate(1deg) scale(.98)}.outside-stack:hover .outside-card.deck-2{transform:translate3d(-40px,28px,0) rotate(-1deg) scale(.95)}.outside-stack:hover .outside-card.deck-3{transform:translate3d(10px,38px,-18px) rotate(5deg) scale(.92)}}@media (prefers-reduced-motion: reduce){*{transition-duration:1ms!important}.outside-card{transition:opacity .18s ease!important;transform:none!important}.outside-stack.is-cycling .outside-card.is-front{opacity:0;transform:none!important}}@media (max-width: 760px){.outside-stack{height:178px!important}.outside-card{width:165px;height:110px;right:10px}.outside-card.deck-0{transform:translate3d(-104px,0,32px) rotate(-3deg) scale(1)}.outside-card.deck-1{transform:translate3d(-68px,10px,16px) rotate(2deg) scale(.97)}.outside-card.deck-2{transform:translate3d(-32px,20px,0) rotate(-2deg) scale(.94)}.outside-card.deck-3{transform:translate3d(0,30px,-16px) rotate(4deg) scale(.91)}}*,*:before,*:after{transition-property:none;transition-duration:0s}html,body,.site-header,.featured-build,.project-card,.project-image-link,.cert-row,.github-card,.contact-action-card,.tech-pill,.scroll-top-button,.chat-button{transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out),color .14s ease!important}body:before{transition:opacity .18s var(--ease-out),background .18s var(--ease-out)!important}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition-property:none!important}.theme-toggle{width:26px!important;height:26px!important;border-radius:8px!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:transparent!important;border:1px solid transparent!important;color:#71717a!important;transform:translateZ(0);transition:color .12s ease,background-color .16s var(--ease-out),border-color .16s var(--ease-out),transform .12s var(--ease-out)!important}.theme-toggle:before{content:none!important}.theme-toggle:hover{color:#18181b!important;background:#f4f4f5!important;border-color:#e4e4e7!important;transform:translateY(-1px) translateZ(0)}.dark .theme-toggle:hover,.theme-toggle.is-dark:hover{color:#f4f4f5!important;background:#18181b!important;border-color:#27272a!important}.theme-toggle:active{transform:scale(.94) translateZ(0)}.theme-toggle .theme-toggle-orbit{width:auto!important;height:auto!important;border:0!important;border-radius:0!important;display:grid!important;place-items:center!important;opacity:1;transform:scale(1) translateZ(0)!important;transition:opacity .11s ease,transform .13s var(--ease-out)!important}.theme-toggle.is-dark .theme-toggle-orbit,.theme-toggle.is-light .theme-toggle-orbit{transform:scale(1) translateZ(0)!important}.theme-toggle:active .theme-toggle-orbit{transform:scale(.88) translateZ(0)!important}.theme-toggle svg{width:14px!important;height:14px!important;stroke-width:1.55!important}.avatar-wrap{position:relative!important;width:80px!important;height:80px!important;border-radius:999px!important;overflow:hidden!important;border:1px solid #e4e4e7!important;background:#f4f4f5!important;box-shadow:none!important;cursor:pointer;isolation:isolate;contain:layout paint;transform:translateZ(0) scale(1);transition:transform .22s var(--ease-out),border-color .18s var(--ease-out),background-color .18s var(--ease-out)!important}.dark .avatar-wrap{border-color:#27272a!important;background:#18181b!important}.avatar-wrap:before{content:none!important}.avatar-photo{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;backface-visibility:hidden;will-change:transform,opacity,filter;clip-path:none!important;transition:opacity .23s var(--ease-out),transform .26s var(--ease-in-out),filter .22s var(--ease-out)!important}.avatar-primary{opacity:1!important;transform:translateZ(0) scale(1)!important;filter:blur(0) saturate(1)!important}.avatar-secondary{opacity:0!important;transform:translate3d(0,18%,0) scale(1.04)!important;filter:blur(4px) saturate(.94)!important}@media (hover: hover) and (pointer: fine){.avatar-wrap:hover{transform:translateZ(0) scale(1.045)}.avatar-wrap:hover .avatar-primary{opacity:0!important;transform:translate3d(0,-16%,0) scale(.985)!important;filter:blur(3px) saturate(.95)!important}.avatar-wrap:hover .avatar-secondary{opacity:1!important;transform:translateZ(0) scale(1)!important;filter:blur(0) saturate(1)!important}}.avatar-wrap:focus-visible,.avatar-wrap.is-active{transform:translateZ(0) scale(1.045)}.avatar-wrap:focus-visible .avatar-primary,.avatar-wrap.is-active .avatar-primary{opacity:0!important;transform:translate3d(0,-16%,0) scale(.985)!important;filter:blur(3px) saturate(.95)!important}.avatar-wrap:focus-visible .avatar-secondary,.avatar-wrap.is-active .avatar-secondary{opacity:1!important;transform:translateZ(0) scale(1)!important;filter:blur(0) saturate(1)!important}.outside-stack{position:relative!important;height:210px!important;margin-top:22px!important;perspective:1000px;overflow:visible}.outside-card{position:absolute!important;top:20px!important;right:18px!important;width:210px!important;height:138px!important;padding:0!important;border:1px solid rgba(228,228,231,.92)!important;border-radius:14px!important;overflow:hidden!important;background:#f4f4f5!important;box-shadow:0 16px 28px #0f172a1c,0 4px 9px #0f172a12!important;cursor:default;transform-origin:center;will-change:transform,opacity;transition:transform .26s var(--ease-out),opacity .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .18s var(--ease-out),background-color .18s var(--ease-out)!important}.dark .outside-card{border-color:#27272a!important;background:#18181b!important;box-shadow:0 18px 32px #00000042,0 5px 11px #0000002e!important}.outside-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important}.outside-card span{width:100%!important;height:100%!important;display:grid!important;place-items:end start!important;padding:14px!important;font-size:12px!important;font-weight:600!important;color:var(--text)!important}.outside-card.is-front{cursor:pointer;z-index:6}.outside-card.deck-0{z-index:6;transform:translate3d(-122px,0,36px) rotate(-3deg) scale(1);opacity:1}.outside-card.deck-1{z-index:5;transform:translate3d(-80px,12px,18px) rotate(2deg) scale(.97);opacity:.96}.outside-card.deck-2{z-index:4;transform:translate3d(-38px,24px,0) rotate(-2deg) scale(.94);opacity:.9}.outside-card.deck-3{z-index:3;transform:translate3d(0,34px,-18px) rotate(4deg) scale(.91);opacity:.82}.outside-card.deck-4{z-index:2;transform:translate3d(30px,42px,-30px) rotate(-4deg) scale(.88);opacity:.68}.outside-stack.is-cycling .outside-card.is-front{transform:translate3d(38px,-18px,48px) rotate(8deg) scale(.96);opacity:0}@media (hover: hover) and (pointer: fine){.outside-stack:hover .outside-card.deck-0{transform:translate3d(-146px,-4px,44px) rotate(-5deg) scale(1.02)}.outside-stack:hover .outside-card.deck-1{transform:translate3d(-92px,12px,20px) rotate(1deg) scale(.98)}.outside-stack:hover .outside-card.deck-2{transform:translate3d(-40px,28px,0) rotate(-1deg) scale(.95)}.outside-stack:hover .outside-card.deck-3{transform:translate3d(10px,38px,-18px) rotate(5deg) scale(.92)}.outside-stack:hover .outside-card.deck-4{transform:translate3d(42px,46px,-32px) rotate(-2deg) scale(.88)}}@media (max-width: 760px){.outside-stack{height:178px!important}.outside-card{width:165px!important;height:110px!important;right:10px!important}.outside-card.deck-0{transform:translate3d(-104px,0,32px) rotate(-3deg) scale(1)}.outside-card.deck-1{transform:translate3d(-68px,10px,16px) rotate(2deg) scale(.97)}.outside-card.deck-2{transform:translate3d(-32px,20px,0) rotate(-2deg) scale(.94)}.outside-card.deck-3{transform:translate3d(0,30px,-16px) rotate(4deg) scale(.91)}.outside-card.deck-4{transform:translate3d(24px,36px,-26px) rotate(-4deg) scale(.88)}}@media (prefers-reduced-motion: reduce){html,body,.site-header,.theme-toggle,.avatar-wrap,.avatar-photo,.outside-card{transition-duration:1ms!important}.avatar-secondary{transform:none!important;filter:none!important}}.outside-stack{height:360px!important;margin-top:22px!important;overflow:visible!important;perspective:1000px}.outside-card,.outside-card.overflow-hidden.rounded-2xl.relative.w-56.h-72{position:absolute!important;top:18px!important;right:18px!important;width:224px!important;height:288px!important;aspect-ratio:3 / 4!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:#f4f4f5!important;border:1px solid rgba(228,228,231,.92)!important}.outside-card img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important}.outside-card.deck-0{transform:translate3d(-132px,0,36px) rotate(-3deg) scale(1)!important}.outside-card.deck-1{transform:translate3d(-88px,16px,18px) rotate(2deg) scale(.965)!important}.outside-card.deck-2{transform:translate3d(-44px,32px,0) rotate(-2deg) scale(.93)!important}.outside-card.deck-3{transform:translate3d(0,48px,-18px) rotate(4deg) scale(.895)!important}.outside-card.deck-4{transform:translate3d(32px,60px,-30px) rotate(-4deg) scale(.86)!important}.outside-stack.is-cycling .outside-card.is-front{transform:translate3d(46px,-20px,48px) rotate(8deg) scale(.96)!important;opacity:0!important}@media (hover: hover) and (pointer: fine){.outside-stack:hover .outside-card.deck-0{transform:translate3d(-148px,-4px,44px) rotate(-5deg) scale(1.015)!important}.outside-stack:hover .outside-card.deck-1{transform:translate3d(-98px,16px,20px) rotate(1deg) scale(.975)!important}.outside-stack:hover .outside-card.deck-2{transform:translate3d(-46px,36px,0) rotate(-1deg) scale(.94)!important}.outside-stack:hover .outside-card.deck-3{transform:translate3d(8px,52px,-18px) rotate(5deg) scale(.9)!important}.outside-stack:hover .outside-card.deck-4{transform:translate3d(42px,64px,-32px) rotate(-2deg) scale(.86)!important}}@media (min-width: 768px){.outside-card,.outside-card.overflow-hidden.rounded-2xl.relative.w-56.h-72.md\:w-64.md\:h-80{width:256px!important;height:320px!important}}@media (max-width: 760px){.outside-stack{height:308px!important}.outside-card,.outside-card.overflow-hidden.rounded-2xl.relative.w-56.h-72{width:184px!important;height:246px!important;right:8px!important}.outside-card.deck-0{transform:translate3d(-92px,0,32px) rotate(-3deg) scale(1)!important}.outside-card.deck-1{transform:translate3d(-62px,14px,16px) rotate(2deg) scale(.965)!important}.outside-card.deck-2{transform:translate3d(-32px,28px,0) rotate(-2deg) scale(.93)!important}.outside-card.deck-3{transform:translate3d(-2px,42px,-16px) rotate(4deg) scale(.895)!important}.outside-card.deck-4{transform:translate3d(20px,52px,-26px) rotate(-4deg) scale(.86)!important}}.outside-section{padding-top:32px!important}.outside-layout,.outside-layout.grid.grid-cols-1.md\:grid-cols-2.gap-8.items-center{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;align-items:center!important}.outside-copy .section-title{margin-bottom:10px!important}.outside-copy .section-title h2{font-size:20px!important}.outside-section p{max-width:290px!important;font-size:12px!important;line-height:1.65!important}.outside-pills{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:16px!important}.outside-pills span{padding:5px 9px!important;border-radius:999px!important;background:#f4f4f5!important;color:#52525b!important;font-size:11px!important;line-height:1!important;border:1px solid #e4e4e7!important}.dark .outside-pills span{background:#18181b!important;color:#a1a1aa!important;border-color:#27272a!important}.outside-stack,.outside-stack.relative.w-\[200px\].h-\[240px\].md\:w-\[220px\].md\:h-\[260px\]{position:relative!important;width:200px!important;height:240px!important;margin:0!important;overflow:visible!important;perspective:900px;filter:drop-shadow(0 22px 28px rgba(24,24,27,.1))}.dark .outside-stack{filter:drop-shadow(0 24px 34px rgba(0,0,0,.4))}.outside-card,.outside-card.overflow-hidden.rounded-2xl.relative.w-56.h-72.md\:w-64.md\:h-80{position:absolute!important;top:0!important;right:auto!important;bottom:auto!important;left:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:#f4f4f5!important;border:1px solid rgba(0,0,0,.05)!important;box-shadow:0 18px 34px #0f172a24!important;transform-origin:center center;transition:transform .26s var(--ease-out),opacity .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .18s var(--ease-out),background-color .18s var(--ease-out)!important}.dark .outside-card{background:#27272a!important;border-color:#ffffff1a!important;box-shadow:0 20px 38px #00000061!important}.outside-card img,.outside-card img.w-full.h-full.object-cover.object-center.block{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important}.outside-card.deck-3,.outside-card.deck-4,.outside-card:nth-child(n+4){z-index:0!important;opacity:0!important;pointer-events:none!important;transform:rotate(6deg) translate3d(16px,8px,0) scale(.95)!important}@media (hover: hover) and (pointer: fine){.outside-stack:hover .outside-card.deck-0{transform:rotate(0) translate3d(-2px,-2px,0) scale(1.01)!important}.outside-stack:hover .outside-card.deck-1{transform:rotate(3deg) translate3d(10px,6px,0) scale(.98)!important}.outside-stack:hover .outside-card.deck-2{transform:rotate(6deg) translate3d(20px,10px,0) scale(.95)!important}}@media (min-width: 768px){.outside-layout,.outside-layout.grid.grid-cols-1.md\:grid-cols-2.gap-8.items-center{grid-template-columns:minmax(0,1fr) 220px!important;gap:32px!important}.outside-deck-column,.outside-deck-column.flex.justify-center.md\:justify-end{justify-content:flex-end!important}.outside-stack,.outside-stack.relative.w-\[200px\].h-\[240px\].md\:w-\[220px\].md\:h-\[260px\]{width:220px!important;height:260px!important}}@media (max-width: 760px){.outside-layout{gap:22px!important}.outside-section p{max-width:100%!important}}:root{--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font: var(--font-body)}body{font-family:var(--font-body)!important;font-size:12px!important;line-height:1.6!important;font-weight:300!important;letter-spacing:-.005em}.shell,.nav-shell,.experience-detail-page,.tech-stack-page{width:min(100% - 32px,520px)!important;max-width:520px!important;padding-inline:0!important}.nav-shell{height:52px!important}.brand{font-size:11px!important;font-weight:700!important;letter-spacing:-.02em}.nav-links{gap:14px!important}.nav-links a{font-size:11px!important;font-weight:300!important;color:#a1a1aa!important}.hero-section{min-height:410px!important;padding:34px 0 18px!important}.hero-top{gap:18px!important;margin-bottom:16px!important}h1{font-family:var(--font-heading)!important;font-size:17px!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.025em!important}.socials{gap:8px!important;margin-top:6px!important}.socials svg{width:13px!important;height:13px!important}.hero-section>.hero-tagline,.hero-tagline{max-width:520px!important;font-family:var(--font-heading)!important;font-size:23px!important;line-height:1.24!important;font-weight:300!important;letter-spacing:-.035em!important}.hero-tagline span{font-weight:300!important}.intro-copy,p,.featured-copy p,.project-body>p:not(.project-role),.outside-section p,.contact-copy p{font-family:var(--font-body)!important;font-size:12px!important;line-height:1.72!important;font-weight:300!important;color:#71717a!important}.dark .intro-copy,.dark p,.dark .featured-copy p,.dark .project-body>p:not(.project-role),.dark .outside-section p,.dark .contact-copy p{color:#a1a1aa!important}.primary-button,.small-button{min-height:32px!important;padding:7px 14px!important;font-size:11px!important;font-weight:600!important;border-radius:7px!important}.plain-section,.detail-section,.contact-section{padding-top:28px!important}.section-title{margin-bottom:14px!important}.section-title h2,.experience-detail-page .section-title h2{font-family:var(--font-heading)!important;font-size:17px!important;line-height:1.2!important;font-weight:300!important;letter-spacing:-.03em!important}.section-title a{font-size:11px!important}.featured-build{grid-template-columns:210px 1fr!important;min-height:172px!important}.featured-media{min-height:172px!important}.featured-copy{padding:20px 18px!important}.featured-copy h2{font-size:17px!important;line-height:1.35!important;font-weight:300!important}.project-grid{gap:14px 16px!important}.project-image-link{height:104px!important}.project-body{padding-top:9px!important}.project-name{font-size:12px!important}.timeline-item{grid-template-columns:118px 1fr!important;gap:18px!important;padding:13px 0!important}.cert-row{grid-template-columns:60px 1fr!important;gap:16px!important;padding:16px 0!important}.outside-layout,.outside-layout.grid.grid-cols-1.md\:grid-cols-2.gap-8.items-center{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;align-items:center!important}.outside-copy .section-title{margin-bottom:9px!important}.outside-section p{max-width:300px!important}.outside-pills{gap:7px!important;margin-top:14px!important}.outside-pills span{padding:5px 9px!important;font-size:11px!important}.outside-deck-column,.outside-deck-column.flex.justify-center.md\:justify-end{display:flex!important;justify-content:center!important;align-items:center!important}.outside-stack,.outside-stack.relative.w-\[200px\].h-\[250px\].md\:w-\[220px\].md\:h-\[270px\].rounded-2xl.overflow-hidden.shadow-xl{position:relative!important;width:200px!important;height:250px!important;margin:0!important;overflow:visible!important;border-radius:16px!important;filter:drop-shadow(0 18px 24px rgba(24,24,27,.1))}.outside-card,.outside-card.absolute.inset-0.w-full.h-full.rounded-2xl.overflow-hidden.bg-zinc-100.dark\:bg-zinc-800.shadow-xl.border.border-black\/5.dark\:border-white\/10{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:#f4f4f5!important;border:1px solid rgba(0,0,0,.05)!important;box-shadow:0 18px 34px #0f172a24!important}.dark .outside-card{background:#27272a!important;border-color:#ffffff1a!important}.outside-card img,.outside-card img.absolute.inset-0.w-full.h-full.object-cover.object-center.block{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important}.outside-card.deck-3,.outside-card.deck-4,.outside-card:nth-child(n+4){opacity:0!important;pointer-events:none!important}@media (min-width: 768px){.outside-layout,.outside-layout.grid.grid-cols-1.md\:grid-cols-2.gap-8.items-center{grid-template-columns:minmax(0,1fr) 220px!important;gap:32px!important}.outside-deck-column,.outside-deck-column.flex.justify-center.md\:justify-end{justify-content:flex-end!important}.outside-stack,.outside-stack.relative.w-\[200px\].h-\[250px\].md\:w-\[220px\].md\:h-\[270px\].rounded-2xl.overflow-hidden.shadow-xl{width:220px!important;height:270px!important}}@media (max-width: 760px){.shell,.nav-shell,.experience-detail-page,.tech-stack-page{width:min(100% - 28px,500px)!important;max-width:500px!important;padding-inline:0!important}.hero-section>.hero-tagline,.hero-tagline{font-size:21px!important}.featured-build,.project-grid,.timeline-item,.contact-section{grid-template-columns:1fr!important}.outside-section p{max-width:100%!important}}.outside-stack,.outside-stack.relative.w-\[220px\].h-\[260px\].rounded-2xl.overflow-hidden{position:relative!important;width:220px!important;height:260px!important;margin:0!important;overflow:visible!important;border-radius:16px!important;filter:drop-shadow(0 18px 24px rgba(24,24,27,.1))}.dark .outside-stack{filter:drop-shadow(0 22px 30px rgba(0,0,0,.4))}.outside-card,.outside-card.absolute.inset-0.w-full.h-full.rounded-2xl.shadow-xl.overflow-hidden{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background-color:transparent!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important;border:0!important;box-shadow:0 18px 34px #0f172a24!important}.dark .outside-card{background-color:transparent!important;border:0!important}.outside-card img{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:16px!important}.outside-card span{width:100%!important;height:100%!important;display:grid!important;place-items:end start!important;padding:14px!important}.outside-card.deck-1{z-index:20!important;opacity:.9!important;transform:rotate(3deg) translate3d(8px,4px,0) scale(.98)!important}.outside-card.deck-2{z-index:10!important;opacity:.8!important;transform:rotate(6deg) translate3d(16px,8px,0) scale(.95)!important}.outside-card:nth-child(n+4){opacity:0!important;pointer-events:none!important}.outside-stack.is-cycling .outside-card.is-front{opacity:0!important;transform:rotate(-2deg) translate3d(-18px,-10px,0) scale(.98)!important}@media (max-width: 760px){.outside-stack,.outside-stack.relative.w-\[220px\].h-\[260px\].rounded-2xl.overflow-hidden{width:200px!important;height:250px!important}}.shell,.nav-shell,.experience-detail-page,.tech-stack-page,.footer.shell{width:min(100% - 32px,500px)!important;max-width:500px!important;padding-inline:0!important}.nav-shell{height:48px!important}.hero-section{min-height:auto!important;padding:8px 0 18px!important}@media (min-width: 768px){.hero-section{padding-top:16px!important}}.hero-top{margin-bottom:14px!important}.hero-section>.hero-tagline,.hero-tagline{max-width:500px!important;font-size:22px!important;line-height:1.25!important;font-weight:300!important}.intro-copy{max-width:500px!important;margin-top:16px!important}.inline-tech-badge{display:inline-flex;align-items:center;gap:6px;min-height:20px;padding:2px 8px;margin:0 2px;border-radius:6px;border:1px solid #d4d4d8;background:#f4f4f5cc;color:#27272a;font-size:12px;line-height:1.2;font-weight:500;vertical-align:baseline;white-space:nowrap}.inline-tech-badge .brand-icon{width:14px;height:14px;flex-shrink:0}.dark .inline-tech-badge{border-color:#27272a;background:#18181bcc;color:#e4e4e7}html:not(.dark) .inline-tech-badge{border-color:#d4d4d8;background:#f4f4f5cc;color:#27272a}.plain-section,.detail-section,.contact-section{padding-top:26px!important}.featured-build{grid-template-columns:196px 1fr!important}.timeline-item{grid-template-columns:108px 1fr!important}.project-grid{gap:12px 14px!important}.outside-stack{position:relative!important;width:220px!important;height:280px!important;margin:0!important;overflow:hidden!important;border-radius:16px!important;filter:drop-shadow(0 18px 24px rgba(24,24,27,.1))}.outside-card{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:transparent!important;background-color:transparent!important;border:1px solid #e4e4e7!important;box-shadow:0 18px 34px #0f172a24!important;transition:transform .3s ease,opacity .25s ease!important}.dark .outside-card{background:transparent!important;background-color:transparent!important;border-color:#27272a!important}.outside-card img{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;pointer-events:none!important}.outside-card.deck-0{z-index:30!important;opacity:1!important;transform:rotate(0) translateZ(0) scale(1)!important}.outside-card.deck-1{z-index:20!important;opacity:.88!important;transform:rotate(3deg) translate3d(6px,4px,0) scale(.97)!important}.outside-card.deck-2{z-index:10!important;opacity:.75!important;transform:rotate(-2deg) translate3d(-4px,8px,0) scale(.94)!important}.outside-card.deck-3,.outside-card.deck-4,.outside-card:nth-child(n+4){z-index:0!important;opacity:0!important;pointer-events:none!important;transform:rotate(0) scale(.91)!important}.outside-stack.is-cycling .outside-card.is-front{opacity:0!important;transform:rotate(-2deg) translate3d(-14px,-8px,0) scale(.97)!important}@media (min-width: 640px){.outside-stack{width:240px!important;height:300px!important}}@media (min-width: 768px){.outside-layout,.outside-layout.grid.grid-cols-1.md\:grid-cols-2.gap-8.items-center{grid-template-columns:minmax(0,1fr) 240px!important;gap:24px!important}}@media (max-width: 760px){.shell,.nav-shell,.experience-detail-page,.tech-stack-page,.footer.shell{width:min(100% - 28px,500px)!important;max-width:500px!important}.hero-section{padding-top:8px!important}.featured-build,.timeline-item,.project-grid,.contact-section{grid-template-columns:1fr!important}}.mx-auto{margin-left:auto!important;margin-right:auto!important}.flex{display:flex!important}.w-full{width:100%!important}.max-w-xl{max-width:36rem!important}.flex-col{flex-direction:column!important}.gap-12{gap:3rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.pb-12{padding-bottom:3rem!important}main.shell.max-w-xl,.shell.max-w-xl,.nav-shell.max-w-xl{width:100%!important;max-width:36rem!important;margin-left:auto!important;margin-right:auto!important;padding-left:1rem!important;padding-right:1rem!important;box-sizing:border-box}main.shell.flex{display:flex!important;flex-direction:column!important;gap:3rem!important;padding-bottom:3rem!important}.nav-shell.max-w-xl{display:flex!important;align-items:center!important}@media (min-width: 640px){.sm\:gap-14{gap:3.5rem!important}.sm\:px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.sm\:pb-28{padding-bottom:7rem!important}main.shell.max-w-xl,.shell.max-w-xl,.nav-shell.max-w-xl{padding-left:1.5rem!important;padding-right:1.5rem!important}main.shell.flex{gap:3.5rem!important;padding-bottom:7rem!important}}.max-w-xl{max-width:38.75rem!important}main.shell.max-w-xl,.shell.max-w-xl,.nav-shell.max-w-xl,.experience-detail-page.max-w-xl,.tech-stack-page.max-w-xl,.footer.shell{width:100%!important;max-width:38.75rem!important;margin-left:auto!important;margin-right:auto!important;padding-left:1rem!important;padding-right:1rem!important;box-sizing:border-box!important}.hero-section>.hero-tagline,.hero-tagline{max-width:38.75rem!important}.intro-copy{max-width:38.75rem!important}.github-card{overflow-x:hidden!important;overflow-y:visible!important}.github-scroll-area{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 8px!important;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.github-scroll-area::-webkit-scrollbar{height:8px}.github-scroll-area::-webkit-scrollbar-track{background:transparent}.github-scroll-area::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.github-scroll-area .month-labels,.github-scroll-area .heatmap{min-width:520px!important}.github-scroll-area .heatmap{overflow:visible!important;padding:0!important}.github-card>.month-labels,.github-card>.heatmap{overflow-x:visible!important}@media (min-width: 640px){main.shell.max-w-xl,.shell.max-w-xl,.nav-shell.max-w-xl,.experience-detail-page.max-w-xl,.tech-stack-page.max-w-xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}}@media (max-width: 760px){main.shell.max-w-xl,.shell.max-w-xl,.nav-shell.max-w-xl,.experience-detail-page.max-w-xl,.tech-stack-page.max-w-xl,.footer.shell{width:100%!important;max-width:38.75rem!important;padding-left:1rem!important;padding-right:1rem!important}}.pixel-avatar{position:relative!important;width:112px!important;height:112px!important;border-radius:9999px!important;overflow:hidden!important;cursor:pointer;-webkit-user-select:none;user-select:none;isolation:isolate;contain:layout paint;background:transparent!important;border:1px solid #e4e4e7!important;transform:translateZ(0);box-shadow:0 10px 22px #0f172a14}.dark .pixel-avatar{border-color:#27272a!important;box-shadow:0 12px 28px #0000003d}.pixel-avatar-image{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;backface-visibility:hidden;will-change:opacity,transform}.pixel-avatar-grid{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;pointer-events:none!important;z-index:3}.pixel-avatar-cell{position:absolute!important;background:#f4f4f5!important;will-change:opacity,transform}.dark .pixel-avatar-cell{background:#18181b!important}.inline-tech-badge{display:inline-flex!important;align-items:center!important;gap:.375rem!important;padding:.125rem .5rem!important;margin-left:.125rem!important;margin-right:.125rem!important;border-radius:.375rem!important;border:1px solid #e4e4e7!important;background:#f4f4f5cc!important;color:#27272a!important;font-family:var(--mono)!important;font-size:12px!important;line-height:1.1!important;font-weight:400!important;vertical-align:middle!important;white-space:nowrap!important;box-shadow:0 1px 2px #0f172a0d!important}.dark .inline-tech-badge{border-color:#27272a!important;background:#18181bcc!important;color:#e4e4e7!important}.inline-tech-badge svg{width:.875rem!important;height:.875rem!important;flex-shrink:0!important}.hero-cta{margin-top:1.5rem!important}@media (min-width: 640px){.pixel-avatar{width:128px!important;height:128px!important}}@media (max-width: 760px){.pixel-avatar{width:104px!important;height:104px!important}}@media (prefers-reduced-motion: reduce){.pixel-avatar-image,.pixel-avatar-cell{transition-duration:1ms!important;animation-duration:1ms!important}}.py-6{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.mb-4{margin-bottom:1rem!important}.mb-6{margin-bottom:1.5rem!important}.mb-8{margin-bottom:2rem!important}.gap-6{gap:1.5rem!important}.gap-2\.5{gap:.625rem!important}.space-y-6>*+*{margin-top:1.5rem!important}main.tech-stack-page{padding-top:1.5rem!important;padding-bottom:1.5rem!important;gap:0!important;overflow:visible!important}.tech-stack-page .back-link{margin-bottom:1rem!important}.tech-stack-page .tech-stack-hero h1{font-size:24px!important;line-height:1.2!important;margin-bottom:4px!important}.tech-stack-page .tech-stack-hero p{margin-top:0!important;font-size:12px!important;line-height:1.55!important}.tech-stack-page .marquee-mask,.tech-stack-page .compact-marquee{display:none!important}.tech-categories,.tech-categories.flex.flex-col.space-y-6.max-w-3xl.mb-8{display:flex!important;flex-direction:column!important;gap:0!important;max-width:48rem!important;margin-top:0!important;margin-bottom:2rem!important;overflow:visible!important}.tech-category{margin:0 0 1.5rem!important;padding:0 0 1.5rem!important;overflow:visible!important}.tech-category:last-child{margin-bottom:0!important}.tech-category h2{margin:0 0 .75rem!important}.tech-category-pills,.tech-category-pills.flex.flex-wrap.gap-2\.5.max-w-3xl.mb-8{display:flex!important;flex-wrap:wrap!important;gap:.625rem!important;max-width:48rem!important;margin:0!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}.tech-category-pills .tech-pill{flex:0 0 auto!important;max-width:100%!important;white-space:nowrap!important}.inline-tech-badge .bio-icon-go{color:#00add8!important}.inline-tech-badge .bio-icon-python{color:#3776ab!important}.inline-tech-badge .bio-icon-next{color:#111!important}.dark .inline-tech-badge .bio-icon-next{color:#fff!important}@media (min-width: 640px){.sm\:py-8{padding-top:2rem!important;padding-bottom:2rem!important}main.tech-stack-page{padding-top:2rem!important;padding-bottom:2rem!important}}.pt-4{padding-top:1rem!important}.pb-8{padding-bottom:2rem!important}.mb-2{margin-bottom:.5rem!important}.mb-1{margin-bottom:.25rem!important}.space-y-5>*+*{margin-top:1.25rem!important}.gap-1\.5{gap:.375rem!important}main.tech-stack-page{padding-top:1rem!important;padding-bottom:2rem!important;gap:0!important}.tech-stack-page .back-link{margin-bottom:.5rem!important}.tech-stack-page .tech-stack-hero{padding:0!important;margin-bottom:1.5rem!important}.tech-stack-page .tech-stack-hero h1{margin-bottom:.25rem!important}.tech-stack-page .tech-stack-hero p{margin:0 0 1.5rem!important}.tech-categories,.tech-categories.flex.flex-col.space-y-5.max-w-3xl.mb-8{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:0!important;margin-bottom:2rem!important;overflow:visible!important}.tech-category{margin:0 0 1.25rem!important;padding:0 0 1.25rem!important}.tech-category h2{margin:0 0 .625rem!important;font-size:.875rem!important;line-height:1.25!important;font-weight:600!important;letter-spacing:.025em!important;color:#71717a!important}.dark .tech-category h2{color:#d4d4d8!important}.tech-category-pills,.tech-category-pills.flex.flex-wrap.gap-1\.5.sm\:gap-2.max-w-3xl.mb-8{display:flex!important;flex-wrap:wrap!important;gap:.375rem!important;margin:0!important;overflow:visible!important}.tech-category-pills .tech-pill{min-height:24px!important;padding:.25rem .625rem!important;font-size:.75rem!important;line-height:1.15!important}.tech-category-pills .brand-icon{width:13px!important;height:13px!important}@media (min-width: 640px){.sm\:pt-6{padding-top:1.5rem!important}.sm\:gap-2{gap:.5rem!important}main.tech-stack-page{padding-top:1.5rem!important}.tech-category-pills,.tech-category-pills.flex.flex-wrap.gap-1\.5.sm\:gap-2.max-w-3xl.mb-8{gap:.5rem!important}}.pixel-avatar-cell,.dark .pixel-avatar-cell{background:#fff!important}.max-w-2xl{max-width:42rem!important}main.shell.max-w-2xl,.shell.max-w-2xl,.nav-shell.max-w-2xl,.experience-detail-page.max-w-2xl,.tech-stack-page.max-w-2xl,.footer.shell{width:100%!important;max-width:42rem!important;margin-left:auto!important;margin-right:auto!important;padding-left:1rem!important;padding-right:1rem!important}@media (min-width: 640px){main.shell.max-w-2xl,.shell.max-w-2xl,.nav-shell.max-w-2xl,.experience-detail-page.max-w-2xl,.tech-stack-page.max-w-2xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}}.max-w-3xl{max-width:48rem!important}@media (min-width: 640px){main.shell.max-w-3xl,.shell.max-w-3xl,.nav-shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}}main.shell.max-w-3xl,.shell.max-w-3xl,.nav-shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl,.footer.shell{width:100%!important;max-width:48rem!important;margin-left:auto!important;margin-right:auto!important;padding-left:1rem!important;padding-right:1rem!important}.hero-top h1{font-size:1.5rem!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.025em!important;color:#18181b!important}.dark .hero-top h1{color:#f4f4f5!important}.hero-section>.hero-tagline,.hero-tagline{max-width:48rem!important;font-size:1.125rem!important;line-height:1.45!important;font-weight:400!important;letter-spacing:-.015em!important;color:#71717a!important}.dark .hero-section>.hero-tagline,.dark .hero-tagline,.dark .hero-tagline span,.dark .hero-tagline .title-muted{color:#a1a1aa!important}.intro-copy{max-width:48rem!important;font-size:1rem!important;line-height:1.75!important;font-weight:400!important;color:#3f3f46!important}.dark .intro-copy{color:#d4d4d8!important}.section-title h2,.featured-copy h2,.detail-hero h1{font-size:1.125rem!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.02em!important}.pixel-avatar{width:8rem!important;height:8rem!important}.floating-actions{position:fixed!important;right:1.5rem!important;bottom:1.5rem!important;z-index:50!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:.5rem!important}.chat-button{display:inline-flex!important;align-items:center!important;gap:.5rem!important;min-height:0!important;padding:.5rem 1rem!important;border-radius:.75rem!important;background:#18181b!important;color:#fff!important;border:1px solid #27272a!important;box-shadow:0 20px 25px -5px #00000029,0 8px 10px -6px #0000001f!important;font-size:.875rem!important;line-height:1.25rem!important;font-weight:500!important;text-decoration:none!important;transition:transform .16s var(--ease-out),background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out)!important}.chat-button:hover{background:#27272a!important}.dark .chat-button{background:#fff!important;color:#18181b!important;border-color:#e4e4e7!important}.dark .chat-button:hover{background:#f4f4f5!important}.chat-button svg{width:1rem!important;height:1rem!important}@media (min-width: 640px){main.shell.max-w-3xl,.shell.max-w-3xl,.nav-shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}.hero-top h1{font-size:1.875rem!important}.hero-section>.hero-tagline,.hero-tagline{font-size:1.25rem!important}.intro-copy{font-size:1.125rem!important}.section-title h2,.featured-copy h2,.detail-hero h1{font-size:1.25rem!important}.pixel-avatar{width:9rem!important;height:9rem!important}}@media (max-width: 640px){.floating-actions{right:1rem!important;bottom:1rem!important}.chat-button{padding:.45rem .85rem!important;font-size:.8125rem!important}}:root{--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important}.max-w-3xl,main.shell.max-w-3xl,.shell.max-w-3xl,.nav-shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl,.footer.shell{width:100%!important;max-width:56rem!important;margin-left:auto!important;margin-right:auto!important}main.shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl{padding:3rem 1.5rem!important}.shell.max-w-3xl,.nav-shell.max-w-3xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}.pixel-avatar{width:9rem!important;height:9rem!important;border-radius:9999px!important}h1,.hero-top h1,.detail-hero h1,.experience-page-header h1,.tech-stack-page .tech-stack-hero h1{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:1.875rem!important;font-weight:700!important;line-height:2.25rem!important;letter-spacing:-.025em!important}h2,.hero-section>h2,.hero-section>.hero-tagline,.hero-tagline,.section-title h2,.featured-copy h2,.contact-section h2,.contact-copy h2,.tech-category h2{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:1.75rem!important;font-weight:400!important;line-height:1.25!important}.hero-section>.hero-tagline,.hero-tagline{max-width:56rem!important;color:#a1a1aa!important}.hero-tagline span:first-child{color:#fff!important}.hero-tagline .title-dash,.hero-tagline .title-muted{color:#a1a1aa!important}h3,.timeline-item h3,.cert-row h3,.experience-detail-card h3{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:1rem!important;font-weight:600!important;line-height:1.35!important}p,.intro-copy,.featured-copy p,.timeline-item p,.cert-row p,.project-role,.project-body>p:not(.project-role),.outside-section p,.outside-copy-text,.contact-section>p,.contact-copy p,.detail-hero p,.experience-detail-card p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:1rem!important;font-weight:300!important;line-height:1.75!important;color:#a1a1aa!important}.intro-copy{max-width:56rem!important;color:#d4d4d8!important}.featured-build{width:100%!important;grid-template-columns:18rem minmax(0,1fr)!important;min-height:18rem!important;border-radius:1rem!important}.featured-media{min-height:18rem!important}.featured-copy{padding:2rem!important}@media (min-width: 640px){h1,.hero-top h1,.detail-hero h1,.experience-page-header h1,.tech-stack-page .tech-stack-hero h1{font-size:2.25rem!important;line-height:2.5rem!important}h2,.hero-section>h2,.hero-section>.hero-tagline,.hero-tagline,.section-title h2,.featured-copy h2,.contact-section h2,.contact-copy h2,.tech-category h2{font-size:1.875rem!important;line-height:2.25rem!important}p,.intro-copy,.featured-copy p,.timeline-item p,.cert-row p,.project-role,.project-body>p:not(.project-role),.outside-section p,.outside-copy-text,.contact-section>p,.contact-copy p,.detail-hero p,.experience-detail-card p{font-size:1.125rem!important}}@media (max-width: 760px){main.shell.max-w-3xl,.experience-detail-page.max-w-3xl,.tech-stack-page.max-w-3xl{padding:3rem 1.5rem!important}.shell.max-w-3xl,.nav-shell.max-w-3xl,.footer.shell{padding-left:1.5rem!important;padding-right:1.5rem!important}.pixel-avatar{width:8rem!important;height:8rem!important}.featured-build{grid-template-columns:1fr!important}}.featured-build{padding:1.5rem!important;gap:1.5rem!important;grid-template-columns:18rem minmax(0,1fr)!important;align-items:stretch!important}.featured-media{min-height:16rem!important;border-radius:.75rem!important}.featured-copy{padding:.5rem 0!important}.hero-tagline span{font-weight:400!important}@media (max-width: 760px){.featured-build{grid-template-columns:1fr!important;padding:1.5rem!important}}:root,.dark{--bg: #09090b;--ink: #fafafa;--text: #f4f4f5;--muted: #a1a1aa;--muted-strong: #d4d4d8;--soft: #18181b;--line: #27272a;--card: rgba(24, 24, 27, .56);--shadow: none;color-scheme:dark}html,body,#root{min-height:100%;background:#09090b!important;color:#f4f4f5!important}html:not(.dark){--bg: #fafafa;--ink: #09090b;--text: #18181b;--muted: #71717a;--muted-strong: #3f3f46;--soft: #f4f4f5;--line: #e4e4e7;--card: rgba(255, 255, 255, .86);color-scheme:light}html:not(.dark),html:not(.dark) body,html:not(.dark) #root{background:#fafafa!important;color:#18181b!important}.dark body:before{background:radial-gradient(circle at 50% 0,rgba(255,255,255,.055),transparent 28rem)!important}.dark .site-header{background:#09090bd6!important;border-bottom:1px solid rgba(39,39,42,.72)!important}.dark .brand,.dark h1,.dark h2,.dark h3,.dark .hero-top h1,.dark .section-title h2,.dark .featured-copy h2,.dark .contact-copy h2,.dark .detail-hero h1,.dark .project-name,.dark .contact-action-card strong{color:#f4f4f5!important}.dark p,.dark .intro-copy,.dark .featured-copy p,.dark .timeline-item p,.dark .cert-row p,.dark .project-role,.dark .project-body>p:not(.project-role),.dark .outside-section p,.dark .outside-copy-text,.dark .contact-section>p,.dark .contact-copy p,.dark .detail-hero p,.dark .experience-detail-card p,.dark .experience-detail-card li{color:#d4d4d8!important}.dark .nav-links a,.dark .section-title a,.dark time,.dark .timeline-item span,.dark .cert-row span,.dark .heatmap-caption,.dark .tiny-label,.dark .text-link,.dark .contact-action-card small{color:#a1a1aa!important}.dark .featured-build,.dark .github-card,.dark .contact-action-card,.dark .cert-row,.dark .tech-chip,.dark .tabs,.dark .project-image-link,.dark .project-visual,.dark .avatar-wrap,.dark .pixel-avatar,.dark .inline-tech-badge,.dark .outside-card{background:#18181b8f!important;border-color:#27272a!important;color:#f4f4f5!important;box-shadow:none!important}.dark .featured-media,.dark .code-panel,.dark .cert-thumb{background:#18181b!important;border-color:#27272a!important;color:#d4d4d8!important}.dark .tabs button.active{background:#27272a!important;color:#f4f4f5!important}.dark .tech-chip:hover,.dark .contact-action-card:hover,.dark .theme-toggle:hover{background:#27272a!important;border-color:#3f3f46!important;color:#f4f4f5!important}.dark .theme-toggle{background:#18181b!important;border:1px solid #27272a!important;color:#f4f4f5!important}.dark .chat-button{background:#f4f4f5!important;color:#09090b!important;border-color:#f4f4f5!important}.dark .scroll-top-button{background:#18181b!important;color:#f4f4f5!important;border-color:#27272a!important}.dark .pixel-avatar-cell,.pixel-avatar-cell{background:#09090b!important}html:not(.dark) .brand,html:not(.dark) h1,html:not(.dark) h2,html:not(.dark) h3,html:not(.dark) .hero-top h1,html:not(.dark) .section-title h2,html:not(.dark) .featured-copy h2,html:not(.dark) .contact-copy h2,html:not(.dark) .detail-hero h1,html:not(.dark) .project-name,html:not(.dark) .contact-action-card strong,html:not(.dark) .hero-tagline span:first-child{color:#18181b!important}html:not(.dark) p,html:not(.dark) .intro-copy,html:not(.dark) .featured-copy p,html:not(.dark) .timeline-item p,html:not(.dark) .cert-row p,html:not(.dark) .project-role,html:not(.dark) .project-body>p:not(.project-role),html:not(.dark) .outside-section p,html:not(.dark) .outside-copy-text,html:not(.dark) .contact-section>p,html:not(.dark) .contact-copy p,html:not(.dark) .detail-hero p,html:not(.dark) .experience-detail-card p,html:not(.dark) .experience-detail-card li{color:#3f3f46!important}html:not(.dark) .nav-links a,html:not(.dark) .section-title a,html:not(.dark) time,html:not(.dark) .timeline-item span,html:not(.dark) .cert-row span,html:not(.dark) .heatmap-caption,html:not(.dark) .tiny-label,html:not(.dark) .text-link,html:not(.dark) .contact-action-card small,html:not(.dark) .hero-tagline,html:not(.dark) .hero-tagline .title-dash,html:not(.dark) .hero-tagline .title-muted{color:#71717a!important}html:not(.dark) .featured-build,html:not(.dark) .github-card,html:not(.dark) .contact-action-card,html:not(.dark) .cert-row,html:not(.dark) .tech-chip,html:not(.dark) .tabs,html:not(.dark) .project-image-link,html:not(.dark) .project-visual,html:not(.dark) .avatar-wrap,html:not(.dark) .pixel-avatar,html:not(.dark) .inline-tech-badge,html:not(.dark) .outside-card{background:#ffffffdb!important;border-color:#e4e4e7!important;color:#18181b!important}html:not(.dark) .theme-toggle{background:#fff!important;border:1px solid #e4e4e7!important;color:#18181b!important}.nav-links{gap:.75rem!important}.nav-links a{min-height:2.25rem!important;display:inline-flex!important;align-items:center!important;padding:.375rem .625rem!important;border-radius:.625rem!important;font-size:.9375rem!important;line-height:1.25rem!important;font-weight:500!important}.tabs{padding:.375rem!important;gap:.375rem!important;border-radius:.875rem!important}.tabs button,.tab-button{min-height:2.375rem!important;padding:.5625rem .875rem!important;border-radius:.625rem!important;font-size:.9375rem!important;line-height:1.25rem!important;font-weight:600!important}.pixel-avatar-cell{background:#09090b!important}.dark .pixel-avatar-cell{background:#fff!important}.load-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;overflow:hidden;background:#09090b;animation:load-reveal-shell 1.4s var(--ease-out) forwards;will-change:opacity,clip-path}.load-reveal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 48%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.08) 52%,transparent 100%),radial-gradient(circle at 50% 42%,rgba(244,244,245,.1),transparent 26rem),#09090b;transform:translate(-100%);animation:load-reveal-scan .96s var(--ease-in-out) 90ms forwards;will-change:transform}.load-reveal:after{content:"";position:absolute;left:50%;top:50%;width:min(42rem,78vw);height:1px;background:linear-gradient(90deg,transparent,rgba(244,244,245,.82),transparent);transform:translate(-50%,-50%) scaleX(.08);opacity:0;animation:load-reveal-line 1.12s var(--ease-out) .12s forwards;will-change:opacity,transform}.load-reveal span{position:absolute;left:50%;top:50%;border:1px solid rgba(244,244,245,.18);border-radius:9999px;transform:translate(-50%,-50%) scale(.94);opacity:0;animation:load-reveal-ring .98s var(--ease-out) forwards;will-change:opacity,transform}.load-reveal span:nth-child(1){width:7rem;height:7rem;animation-delay:80ms}.load-reveal span:nth-child(2){width:15rem;height:15rem;animation-delay:.17s}.load-reveal span:nth-child(3){width:28rem;height:28rem;animation-delay:.26s}main.shell,.site-header{animation:page-content-arrive .78s var(--ease-out) .18s both}.site-header{animation-delay:90ms}@keyframes load-reveal-shell{0%{opacity:1;clip-path:inset(0 0 0 0)}68%{opacity:1;clip-path:inset(0 0 0 0)}to{opacity:0;clip-path:inset(0 0 100% 0)}}@keyframes load-reveal-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes load-reveal-line{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.08)}34%{opacity:1}72%{opacity:.72;transform:translate(-50%,-50%) scaleX(1)}to{opacity:0;transform:translate(-50%,-50%) scaleX(1)}}@keyframes load-reveal-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}@keyframes page-content-arrive{0%{opacity:0;transform:translateY(.75rem);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (max-width: 760px){.nav-links{gap:.375rem!important}.nav-links a{min-height:2rem!important;padding:.25rem .4375rem!important;font-size:.8125rem!important}.tabs button,.tab-button{min-height:2.25rem!important;padding:.5rem .6875rem!important;font-size:.875rem!important}}@media (prefers-reduced-motion: reduce){.load-reveal{animation:load-reveal-reduced .22s ease-out forwards}.load-reveal:before,.load-reveal:after,.load-reveal span{animation:none!important;opacity:0!important}main.shell,.site-header{animation:none!important}}@keyframes load-reveal-reduced{0%{opacity:1}to{opacity:0}}main.tech-stack-page,main.shell.tech-stack-page.max-w-3xl{padding-top:2rem!important;gap:0!important}.tech-stack-page .back-link{margin-bottom:.375rem!important}.tech-stack-page .tech-stack-hero,.tech-stack-page .detail-hero.tech-stack-hero{padding:0!important;margin:0 0 1rem!important}.tech-stack-page .tech-stack-hero h1{margin:0!important}.tech-stack-page .tech-stack-hero p{margin:.375rem 0 0!important}.tech-categories,.tech-categories.flex.flex-col.space-y-5.max-w-3xl.mb-8,.tech-stack-page .tech-categories{gap:0!important;margin-top:0!important;margin-bottom:1.5rem!important}.tech-stack-page .tech-category{margin:0 0 1.5rem!important;padding:0 0 1.5rem!important}.tech-stack-page .tech-category h2{margin:0 0 .875rem!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:1.75rem!important;font-weight:400!important;line-height:1.25!important;letter-spacing:-.015em!important;color:#a1a1aa!important}.tech-stack-page .tech-category-pills,.tech-stack-page .tech-category-pills.flex.flex-wrap.gap-1\.5.sm\:gap-2.max-w-3xl.mb-8{margin:0!important}@media (min-width: 640px){.tech-stack-page .tech-category h2{font-size:1.875rem!important;line-height:2.25rem!important}}@media (max-width: 760px){main.tech-stack-page,main.shell.tech-stack-page.max-w-3xl{padding-top:1.5rem!important}.tech-stack-page .back-link{margin-bottom:.25rem!important}.tech-stack-page .tech-stack-hero,.tech-stack-page .detail-hero.tech-stack-hero{margin-bottom:.875rem!important}}main.experience-detail-page,main.shell.experience-detail-page.max-w-3xl{padding-top:2rem!important;gap:0!important}.experience-detail-page .back-link{margin-bottom:.375rem!important}.experience-detail-page .experience-page-header,.experience-detail-page .detail-hero.experience-page-header{padding:0!important;margin:0 0 1rem!important}.experience-detail-page .experience-page-header h1{margin:0!important}.experience-detail-page .experience-page-header p{margin:.375rem 0 0!important}.experience-detail-page .experience-timeline-section,.experience-detail-page .detail-section.experience-timeline-section{padding-top:0!important;margin-top:0!important}.experience-detail-page .experience-timeline{gap:1.5rem!important}.experience-detail-page .experience-detail-card{margin:0!important}.experience-detail-page .detail-section{padding-top:0!important;margin-top:1.5rem!important}#experience.plain-section{padding-top:2rem!important}#experience .section-title{margin-bottom:.875rem!important}#experience .timeline-item{padding-top:.875rem!important;padding-bottom:.875rem!important}@media (max-width: 760px){main.experience-detail-page,main.shell.experience-detail-page.max-w-3xl{padding-top:1.5rem!important}.experience-detail-page .back-link{margin-bottom:.25rem!important}.experience-detail-page .experience-page-header,.experience-detail-page .detail-hero.experience-page-header{margin-bottom:.875rem!important}#experience.plain-section{padding-top:1.5rem!important}}html.theme-switching,html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition-property:none!important}::view-transition-group(root){animation-duration:.52s;animation-timing-function:var(--ease-out)}::view-transition-old(root),::view-transition-new(root){animation-duration:.52s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}::view-transition-old(root){animation:theme-hold-under .52s var(--ease-out) both}html.theme-to-dark::view-transition-new(root),html.theme-to-light::view-transition-new(root){animation:theme-aperture-reveal .52s var(--ease-out) both}@keyframes theme-aperture-reveal{0%{clip-path:circle(0 at var(--theme-x, calc(100% - 2.5rem) ) var(--theme-y, 2rem))}to{clip-path:circle(150vmax at var(--theme-x, calc(100% - 2.5rem) ) var(--theme-y, 2rem))}}@keyframes theme-hold-under{0%{opacity:1}to{opacity:1}}.theme-wipe{position:fixed!important;left:var(--theme-x, calc(100vw - 2.5rem) )!important;top:var(--theme-y, 2rem)!important;width:300vmax!important;height:300vmax!important;z-index:9999!important;pointer-events:none!important;border-radius:9999px!important;overflow:hidden!important;opacity:1!important;transform:translate3d(-50%,-50%,0) scale(.018)!important;transform-origin:center!important;animation:theme-wipe-aperture .56s var(--ease-out) both!important;will-change:transform,opacity!important;contain:layout paint style!important}.theme-wipe-dark{background:#09090b!important}.theme-wipe-light{background:#fafafa!important}.theme-wipe span{position:absolute;inset:49.92% auto auto 49.92%;width:.16%;height:.16%;border-radius:9999px;transform:translate3d(-50%,-50%,0) scale(1);opacity:0;will-change:transform,opacity}.theme-wipe span:first-child{border:1px solid currentColor;color:#f4f4f547;animation:theme-wipe-ring .52s var(--ease-out) 40ms both}.theme-wipe-light span:first-child{color:#18181b2e}.theme-wipe span:last-child{background:currentColor;color:#f4f4f52e;animation:theme-wipe-spark .42s var(--ease-out) 80ms both}.theme-wipe-light span:last-child{color:#18181b1f}@keyframes theme-wipe-aperture{0%{transform:translate3d(-50%,-50%,0) scale(.018);opacity:1}76%{transform:translate3d(-50%,-50%,0) scale(1);opacity:1}to{transform:translate3d(-50%,-50%,0) scale(1);opacity:0}}@keyframes theme-wipe-ring{0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}30%{opacity:1}to{opacity:0;transform:translate3d(-50%,-50%,0) scale(180)}}@keyframes theme-wipe-spark{0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}24%{opacity:1}to{opacity:0;transform:translate3d(-50%,-50%,0) scale(84)}}@media (prefers-reduced-motion: reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:.12s!important}html.theme-to-dark::view-transition-new(root),html.theme-to-light::view-transition-new(root){animation:theme-reduced-fade .12s ease-out both!important;clip-path:none!important}.theme-wipe{animation:theme-reduced-fade .12s ease-out both!important;transform:translate3d(-50%,-50%,0) scale(1)!important}.theme-wipe span{animation:none!important;opacity:0!important}}@keyframes theme-reduced-fade{0%{opacity:0}to{opacity:1}}
