:root{--bg: oklch(18% .004 35);--surface: oklch(24% .004 35);--fg: oklch(100% 0 0);--muted: oklch(67% 0 0);--border: oklch(32% 0 0);--accent: oklch(94% .004 255);--blue: oklch(63% .16 250);--sapphire: oklch(60% .16 255);--cobalt: oklch(58% .17 266);--iris: oklch(62% .16 288);--plum: oklch(56% .15 318);--rose: oklch(60% .16 350);--coral: oklch(62% .15 35);--steel: oklch(63% .08 225);--green: var(--steel);--violet: oklch(62% .16 292);--cyan: oklch(66% .11 220);--pink: var(--rose);--amber: var(--coral);--orange: oklch(62% .15 42);--lime: var(--cobalt);--red: oklch(58% .16 25);--indigo: oklch(58% .16 275);--light-blue: rgb(76 132 222);--light-green: rgb(93 145 177);--light-magenta: rgb(158 80 174);--light-amber: rgb(213 98 75);--light-cyan: rgb(87 158 199);--light-orange: rgb(218 105 72);--light-lime: rgb(95 105 220);--light-red: rgb(194 74 82);--glow-blue: 0 0 14px rgb(76 132 222 / .18);--rgb-blue: 76 132 222;--rgb-sapphire: 59 112 202;--rgb-cobalt: 82 96 212;--rgb-iris: 132 101 216;--rgb-plum: 158 80 174;--rgb-rose: 190 76 118;--rgb-coral: 213 98 75;--rgb-steel: 93 145 177;--rgb-green: 93 145 177;--rgb-violet: 132 101 216;--rgb-pink: 190 76 118;--rgb-amber: 213 98 75;--rgb-cyan: 87 158 199;--rgb-orange: 218 105 72;--rgb-lime: 82 96 212;--rgb-red: 194 74 82;--rgb-indigo: 94 86 204;--font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, ui-monospace, monospace;--chrome-width: 704px;--chrome-gutter: 35px;--chrome-brand: 198px;--chrome-accent: var(--light-blue);--semantic-work: var(--sapphire);--semantic-systems: var(--steel);--semantic-infra: var(--coral);--semantic-ai: var(--sapphire);--selection-bg: color-mix(in oklch, var(--chrome-accent) 34%, var(--fg));--focus-color: color-mix(in oklch, var(--chrome-accent) 78%, var(--fg));--hover-surface: oklch(100% 0 0 / .034);--hover-surface-soft: oklch(100% 0 0 / .022);--ease-ui: cubic-bezier(.22, 1, .36, 1);--ease-surface: cubic-bezier(.16, 1, .3, 1);--motion-fast: .12s;--motion-page: .22s;--surface-lift-transition: border-color .15s var(--ease-surface), box-shadow .15s var(--ease-surface), transform .15s var(--ease-surface);--page-hero-top: 42px;--page-hero-bottom: 11px;--page-section-y: 24px;--page-last-bottom: 37px;--content-width: 748px;--highlight: var(--fg);--highlight-soft: oklch(100% 0 0 / .34);color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);scrollbar-gutter:stable;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--selection-bg);color:var(--bg)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in oklch,var(--chrome-accent) 8%,transparent),0 0 22px color-mix(in oklch,var(--chrome-accent) 14%,transparent)}.shell,.site-shell{width:min(var(--content-width),calc(100% - var(--chrome-gutter)));margin-inline:auto}.page-loader{display:none}.js .page-loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);opacity:1;visibility:visible;transition:opacity .18s var(--ease-ui),visibility .18s var(--ease-ui)}.js body.ready .page-loader{opacity:0;visibility:hidden;pointer-events:none}.page-loader-shell{width:min(360px,calc(100% - var(--chrome-gutter)));display:grid;gap:12px}.page-loader-shell span{height:1px;width:100%;display:block;transform-origin:left center;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--fg) 72%,var(--chrome-accent)),transparent);opacity:.34;animation:loader-scan .88s var(--ease-ui) infinite alternate}.page-loader-shell span:nth-child(2){width:72%;animation-delay:80ms}.page-loader-shell span:nth-child(3){width:44%;animation-delay:.16s}@keyframes loader-scan{0%{transform:scaleX(.42);opacity:.16}to{transform:scaleX(1);opacity:.48}}.scroll-progress{position:fixed;top:0;left:0;z-index:30;width:100%;height:1px;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,transparent,var(--chrome-accent),transparent);opacity:.86;box-shadow:0 0 18px color-mix(in oklch,var(--chrome-accent) 62%,transparent);pointer-events:none;will-change:transform}.skip{position:fixed;top:16px;left:16px;transform:translateY(-140%);z-index:40;background:var(--fg);color:var(--bg);border-radius:8px;padding:10px 14px;font-weight:600;transition:transform .11s var(--ease-ui)}.skip:focus{transform:translateY(0)}.topbar{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid oklch(100% 0 0 / .055);background:#1311107a}.nav{width:min(var(--chrome-width),calc(100% - var(--chrome-gutter)));min-height:62px;margin:0 auto;display:grid;grid-template-columns:minmax(0,var(--chrome-brand)) minmax(0,1fr);align-items:center;gap:20px;color:var(--muted);font-size:14px}.brand,.brand:visited{display:inline-flex;align-items:center;width:var(--chrome-brand);min-width:0;color:var(--fg)!important;font-weight:620;letter-spacing:-.01em;white-space:nowrap}.nav-links{justify-self:end;display:grid;grid-template-columns:62px 101px 55px 81px;align-items:center;justify-content:flex-end;gap:4px;color:var(--muted);font-size:14px;font-weight:520}.nav-links a{position:relative;width:100%;min-height:37px;display:inline-flex;align-items:center;justify-content:center;color:inherit;border-radius:999px;padding:0 11px;font-size:14px;font-weight:520;line-height:1;letter-spacing:0;transition:color var(--motion-fast) var(--ease-ui),background var(--motion-fast) var(--ease-ui)}.nav-links a:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:1px;transform:scaleX(0);transform-origin:left center;background:var(--chrome-accent);opacity:.58;transition:transform var(--motion-fast) var(--ease-ui)}.nav-links a:hover,.nav-links a.active{color:var(--fg);background:#ffffff0d}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.menu-button{display:none;justify-self:end;min-height:37px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--fg);padding:0 12px}main{overflow:clip;font-size:16px}.site-footer{width:min(var(--content-width),calc(100% - var(--chrome-gutter)));margin:0 auto;padding:29px 0 37px;color:var(--muted);border-top:1px solid oklch(100% 0 0 / .08);font-size:14px;text-align:center}.site-footer-inner{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.hero{padding:var(--page-hero-top) 0 var(--page-hero-bottom)}.eyebrow,.kicker,.meta{color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}h1{max-width:616px;margin:10px 0 8px;font-size:clamp(31px,4vw,42px);line-height:1.14;letter-spacing:-.02em;font-weight:690}h2{margin:0;font-size:21px;line-height:1.2;letter-spacing:-.02em;font-weight:650}.hero h1{max-width:660px;margin:12px 0 14px}.hero-copy,.lede{max-width:60ch;margin:0;color:var(--accent);font-size:16px;line-height:1.72}.hero-note{margin-top:18px;color:var(--muted);font-size:15px;line-height:1.6}.portrait-card{position:relative;isolation:isolate;margin-top:18px;margin-bottom:6px;overflow:hidden;border:0;border-radius:0;background:transparent;min-height:auto;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.portrait-card img{width:119px;height:141px;border-radius:8px;object-fit:cover;opacity:.9;filter:grayscale(.08) contrast(1.03)}.photo-track{display:flex;width:max-content;gap:10px;animation:photoRail 38s linear infinite;will-change:transform}.portrait-card:hover .photo-track,.portrait-card:focus-within .photo-track,.repo-row:hover{animation-play-state:paused}@keyframes photoRail{0%{transform:translate(0)}to{transform:translate(calc(-50% - 6px))}}.section{position:relative;padding:var(--page-section-y) 0}main>.section:last-of-type{padding-bottom:var(--page-last-bottom)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:13px;row-gap:3px;margin-bottom:10px}.section-title{min-width:0}.section-title-link{display:inline-flex;color:inherit;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color var(--motion-fast) var(--ease-ui),text-decoration-color var(--motion-fast) var(--ease-ui)}.section-title-link:hover,.section-title-link:focus-visible{color:var(--fg);text-decoration-color:color-mix(in oklch,var(--chrome-accent) 64%,transparent)}.route-icon{justify-self:end;align-self:start;width:33px;height:33px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--chrome-accent) 42%,var(--border));border-radius:999px;color:var(--muted);background:color-mix(in oklch,var(--chrome-accent) 4%,transparent);box-shadow:0 0 12px color-mix(in oklch,var(--chrome-accent) 6%,transparent);transition:color var(--motion-fast) var(--ease-ui),border-color var(--motion-fast) var(--ease-ui),transform var(--motion-fast) var(--ease-ui),box-shadow var(--motion-fast) var(--ease-ui)}.route-icon svg,.row-arrow svg,.repo-name svg,.project-action svg,.cert-link svg,.search-wrap svg{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.route-icon svg{width:15px;height:15px;stroke-width:1.8}.route-icon:hover,.route-icon:focus-visible{color:var(--fg);transform:translate3d(2px,0,0)}.preview-list,.contact-dock,.post-list,.role-grid{display:grid;gap:0}.preview-row,.contact-dock .contact-row{width:100%;display:grid;grid-template-columns:123px 1fr auto;gap:15px;align-items:baseline;border:0;border-top:1px solid oklch(100% 0 0 / .1);background:transparent;color:inherit;padding:8px 11px;font:inherit;text-align:left;transition:var(--surface-lift-transition)}.preview-row strong,.contact-dock strong{color:var(--fg);font-size:16px;font-weight:600;letter-spacing:-.01em}.preview-row p,.contact-dock p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.row-arrow{--action-color: var(--card-color, var(--post-color, var(--chrome-accent)));display:inline-flex;width:33px;height:33px;align-items:center;justify-content:center;gap:5px;justify-self:end;border:1px solid color-mix(in oklch,var(--action-color) 38%,var(--border));border-radius:9px;padding:0;color:var(--fg);background:transparent;font-family:var(--font-mono);font-size:13px;transition:color var(--motion-fast) var(--ease-ui),border-color var(--motion-fast) var(--ease-ui),transform var(--motion-fast) var(--ease-ui),box-shadow var(--motion-fast) var(--ease-ui)}.row-arrow svg{width:17px;height:17px;stroke-width:1.8}.row-arrow:hover,.row-arrow:focus-visible{border-color:color-mix(in oklch,var(--action-color) 68%,var(--border));background:var(--hover-surface);box-shadow:0 0 0 1px color-mix(in oklch,var(--action-color) 18%,transparent);transform:translateY(-1px)}.preview-row strong a,.contact-dock strong a,.post h2 a{background-image:linear-gradient(90deg,color-mix(in oklch,var(--card-color, var(--post-color, var(--chrome-accent))) 62%,transparent),color-mix(in oklch,var(--card-color, var(--post-color, var(--chrome-accent))) 20%,transparent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:color var(--motion-fast) var(--ease-ui),background-size var(--motion-fast) var(--ease-ui)}.preview-row strong a:hover,.preview-row strong a:focus-visible,.contact-dock strong a:hover,.contact-dock strong a:focus-visible,.post h2 a:hover,.post h2 a:focus-visible{color:var(--fg);background-size:100% 1px}.preview-row:hover,.repo-card:hover,.post:hover,.project-card:hover,.contact-row:hover,.card:hover,.skill-band:hover{transform:translate3d(0,-1px,0)}.preview-row:hover,.preview-row:focus-within,.contact-row:hover,.contact-row:focus-within,.repo-card:hover,.repo-card:focus-within,.post:hover,.post:focus-within,.skill-band:hover,.skill-band:focus-within{border-color:color-mix(in oklch,var(--card-color, var(--post-color, var(--chrome-accent))) 46%,var(--highlight));background:var(--hover-surface-soft);box-shadow:0 -1px color-mix(in oklch,var(--card-color, var(--post-color, var(--chrome-accent))) 62%,transparent)}.repo-grid,.pinned,.skills-grid,.cert-grid,.leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.repo-card{position:relative;overflow:hidden;min-height:0;display:grid;gap:9px;align-content:space-between;border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;padding:10px 11px;background:transparent;transition:var(--surface-lift-transition)}.repo-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.repo-name{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:16px;font-weight:610;letter-spacing:-.01em}.repo-name svg{width:15px;height:15px;stroke-width:1.7}.repo-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.repo-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.repo-language{display:inline-flex;align-items:center;gap:6px}.repo-dot{--dot-color: var(--list-dot-color, var(--card-color, var(--blue)));display:inline-block;flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--dot-color);box-shadow:0 0 10px color-mix(in oklch,var(--dot-color) 32%,transparent)}.card,.project-card{border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;background:transparent;padding:15px 11px;transition:var(--surface-lift-transition)}.card:hover,.card:focus-within,.project-card:hover,.project-card:focus-within{border-color:color-mix(in oklch,var(--card-color, var(--chrome-accent)) 46%,var(--highlight));background:var(--hover-surface-soft);box-shadow:0 -1px color-mix(in oklch,var(--card-color, var(--chrome-accent)) 62%,transparent)}.split-card{display:grid;grid-template-columns:136px 1fr;gap:15px;align-items:start}.split-card>.meta{display:inline-flex;align-items:center;gap:8px;color:color-mix(in oklch,var(--card-color, var(--chrome-accent)) 32%,var(--muted))}.split-card>.meta:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--card-color, var(--chrome-accent));box-shadow:0 0 10px color-mix(in oklch,var(--card-color, var(--chrome-accent)) 22%,transparent)}.card h3{margin:0 0 6px;font-size:17px;line-height:1.22;letter-spacing:-.01em}.card h3+.role-block{margin-top:12px}.card .role-location{margin:-2px 0 10px;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.role-location+.impact-list{margin-top:10px}.role-location+.role-block{margin-top:12px}.role-block h4{margin:0 0 6px;color:color-mix(in oklch,var(--card-color, var(--chrome-accent)) 24%,var(--accent));font-size:15px;line-height:1.24;letter-spacing:0;font-weight:620}.card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.impact-list{margin:10px 0 0;padding:0;display:grid;gap:7px;list-style:none;color:#b3b8be;font-size:15px;line-height:1.5}.impact-list li,.markdown ul:not(.contains-task-list)>li{position:relative;padding-left:15px}.impact-list li:before{content:"";--dot-color: var(--card-color, var(--blue));position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--dot-color);box-shadow:0 0 10px color-mix(in oklch,var(--dot-color) 24%,transparent)}.markdown ul:not(.contains-task-list)>li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--list-dot-color, var(--card-color, var(--blue)));box-shadow:0 0 10px color-mix(in oklch,var(--list-dot-color, var(--card-color, var(--blue))) 32%,transparent)}.role-block+.role-block{margin-top:14px}.skill-band{--tag-rgb: var(--rgb-blue);--card-color: rgb(var(--tag-rgb));border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;padding:15px 11px;background:transparent;transition:var(--surface-lift-transition)}.skill-band strong{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--fg);font-size:14px}.skill-band strong:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--card-color, var(--chrome-accent));box-shadow:0 0 10px color-mix(in oklch,var(--card-color, var(--chrome-accent)) 20%,transparent)}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{--tag-color: var(--post-color, var(--blue));border:1px solid color-mix(in oklch,var(--tag-color) 44%,var(--border));border-radius:999px;padding:6px 9px;color:var(--accent);background:transparent;font-family:var(--font-mono);font-size:11px;white-space:nowrap;transition:background var(--motion-fast) var(--ease-ui),border-color var(--motion-fast) var(--ease-ui),color var(--motion-fast) var(--ease-ui),box-shadow var(--motion-fast) var(--ease-ui)}.tag:hover,.tag:focus-within{border-color:color-mix(in oklch,var(--tag-color) 76%,var(--border));background:var(--hover-surface);box-shadow:inset 0 1px color-mix(in oklch,var(--tag-color) 44%,transparent);color:var(--fg)}.cert-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:79px;align-items:center}.cert-title{max-width:100%;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent)}.cert-title span{display:inline-block;min-width:max-content;padding-right:32px}.cert-card:hover .cert-title span,.cert-card:focus-within .cert-title span{animation:cert-title-pan 3.8s ease-in-out infinite alternate}.cert-link,.project-action{justify-self:end;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklch,var(--card-color, var(--blue)) 45%,var(--border));border-radius:9px;padding:0;color:var(--fg);background:transparent;transition:var(--surface-lift-transition)}.cert-link svg,.project-action svg{width:17px;height:17px;stroke-width:1.8}.github-icon{fill:currentColor;stroke:none}.github-icon path{fill:currentColor;stroke:none}.cert-link:hover,.project-action:hover{transform:translateY(-1px);border-color:color-mix(in oklch,var(--card-color, var(--blue)) 72%,var(--border));background:var(--hover-surface);box-shadow:0 0 0 1px color-mix(in oklch,var(--card-color, var(--blue)) 18%,transparent)}@keyframes cert-title-pan{0%{transform:translate(0)}to{transform:translate(-36%)}}.repo-marquee{display:grid;gap:8px;overflow:hidden;padding:4px 0 2px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.repo-row{display:flex;width:max-content;gap:7px;animation:repo-scroll 72s linear infinite}.repo-row.reverse{animation-direction:reverse;animation-duration:84s}.repo-row.slow{animation-duration:96s}.repo-chip{--chip-color: var(--blue);display:inline-flex;align-items:center;gap:7px;min-height:33px;border:1px solid var(--border);border-radius:999px;padding:0 11px;color:var(--muted);background:#1c1a19c2;font-size:13px;white-space:nowrap;transition:color .14s ease,border-color .14s ease,transform .14s ease,background .14s ease}.repo-chip:before{content:"";--dot-color: var(--list-dot-color, var(--chip-color, var(--blue)));flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--dot-color);box-shadow:0 0 10px color-mix(in oklch,var(--dot-color) 32%,transparent)}.repo-chip:hover{color:var(--fg);border-color:color-mix(in oklch,var(--chip-color) 52%,var(--border));background:var(--hover-surface)}.lang-js{--chip-color: var(--steel)}.lang-ts{--chip-color: var(--blue)}.lang-java{--chip-color: var(--red)}.lang-kotlin{--chip-color: var(--sapphire)}@keyframes repo-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 4px))}}.project-card{position:relative;display:grid;gap:10px}.project-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:8px}.project-title{display:inline-flex;align-items:center;gap:8px;color:var(--accent);margin:0}.project-title:before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--card-color, var(--chrome-accent));box-shadow:0 0 12px color-mix(in oklch,var(--card-color, var(--chrome-accent)) 22%,transparent)}.project-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.project-action{position:relative;width:33px;height:33px}.project-action[data-site]:after{content:attr(data-site);position:absolute;right:0;bottom:calc(100% + 7px);width:max-content;max-width:190px;border:1px solid color-mix(in oklch,var(--card-color) 64%,var(--border));border-radius:999px;padding:5px 8px;color:var(--fg);background:#0b0908f5;box-shadow:0 0 24px color-mix(in oklch,var(--card-color) 18%,transparent);font-family:var(--font-mono);font-size:11px;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.project-action[data-site]:hover:after{opacity:1;transform:translateY(0)}.project-shot{position:relative;overflow:hidden;aspect-ratio:16 / 9;border:1px solid color-mix(in oklch,var(--card-color) 28%,var(--border));border-radius:10px;background:linear-gradient(135deg,#1c1a19,#0f0d0c);box-shadow:inset 0 1px #ffffff0a}.project-shot:before{content:"";position:absolute;inset:10px;border-radius:7px;border:1px solid oklch(100% 0 0 / .08);background:linear-gradient(90deg,color-mix(in oklch,var(--card-color) 16%,transparent),transparent 36%),repeating-linear-gradient(180deg,oklch(100% 0 0 / .08) 0 1px,transparent 1px 12px);opacity:.72}.project-shot span{position:absolute;left:12px;bottom:10px;color:var(--fg);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.project-point{display:grid;gap:4px;margin-top:8px}.project-point strong{color:var(--fg);font-size:14px;font-weight:650}.project-point p{margin:0;color:var(--muted);font-size:15px;line-height:1.48}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.toolbar{position:sticky;top:62px;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 169px;gap:8px;align-items:center;padding:13px 0;background:linear-gradient(180deg,var(--bg) 72%,oklch(18% .004 35 / 0));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:11px;top:50%;width:14px;height:14px;transform:translateY(-50%);stroke:var(--muted);stroke-width:1.8;pointer-events:none}.search{width:100%;min-height:40px;border:1px solid var(--border);border-radius:999px;background:color-mix(in oklch,var(--surface) 72%,transparent);color:var(--fg);padding:0 13px 0 37px;outline:none}.tag-control{position:relative;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:transparent;overflow:hidden;transition:border-color var(--motion-fast) var(--ease-ui),box-shadow var(--motion-fast) var(--ease-ui)}.tag-control:hover,.tag-control:focus-within{border-color:color-mix(in oklch,var(--chrome-accent) 58%,var(--border));box-shadow:0 -1px color-mix(in oklch,var(--chrome-accent) 22%,transparent)}.tag-control:after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.tag-select{width:100%;min-height:40px;appearance:none;border:0;background:transparent;color:var(--fg);padding:0 33px 0 13px;outline:none;font-size:13px;cursor:pointer}.post-list{gap:0;padding:15px 0 62px}.post{--card-color: var(--post-color, var(--chrome-accent));display:grid;grid-template-columns:114px minmax(0,1fr) auto;gap:15px;align-items:start;border-top:1px solid oklch(100% 0 0 / .09);border-radius:0;padding:17px 0;overflow:hidden;max-height:198px;background:transparent;transition:opacity .17s var(--ease-surface),transform .17s var(--ease-surface),filter .17s var(--ease-surface),max-height .21s var(--ease-surface),padding .17s var(--ease-surface),border-color .15s var(--ease-surface),box-shadow .15s var(--ease-surface)}.post>.kicker{display:inline-flex;align-items:center;gap:8px;color:color-mix(in oklch,var(--post-color, var(--chrome-accent)) 32%,var(--muted))}.post>.kicker:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--post-color, var(--chrome-accent));box-shadow:0 0 10px color-mix(in oklch,var(--post-color, var(--chrome-accent)) 22%,transparent)}.post h2{margin:0 0 5px;font-size:19px;line-height:1.18;letter-spacing:-.02em}.post p{margin:0;color:var(--muted);line-height:1.46;font-size:15px}.post-actions{display:inline-flex;align-items:center;justify-content:flex-end;justify-self:end;gap:8px;min-width:0}.post.is-hiding{opacity:0;filter:blur(8px);transform:translateY(8px) scale(.985);max-height:0;padding-top:0;padding-bottom:0;border-color:transparent;pointer-events:none}.post.match-pop{animation:post-pop .19s var(--ease-surface)}.hidden{display:none}.empty-state{margin:10px 0 0;color:var(--muted);font-size:15px}.empty-state[hidden]{display:none!important}@keyframes post-pop{0%{opacity:0;transform:translateY(8px) scale(.985);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.blog-post-shell{padding:42px 0 64px}.back{display:inline-flex;margin-bottom:22px;color:var(--muted);font-size:14px}.back:hover{color:var(--fg)}.post-header .meta{display:inline-flex;align-items:center;gap:8px;color:color-mix(in oklch,var(--post-color, var(--chrome-accent)) 32%,var(--muted))}.post-header .meta:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--post-color, var(--chrome-accent));box-shadow:0 0 10px color-mix(in oklch,var(--post-color, var(--chrome-accent)) 22%,transparent)}.dek{max-width:52ch;margin:0 0 6px;color:#c2c4c7;font-size:16px;line-height:1.56}.post-divider{margin:0 0 24px;border:0;border-top:1px solid oklch(100% 0 0 / .32)}.markdown{color:#b6b7ba;font-size:16px;line-height:1.44}.markdown h2{margin:36px 0 10px;color:#e3e5e6;font-size:20px;line-height:1.22}.markdown h3{margin:30px 0 10px;color:#dddee0;font-size:18px;line-height:1.24}.markdown h4{margin:26px 0 10px;color:#d6d7d9;font-size:15px;line-height:1.28}.markdown a{color:#e3e5e6;border-bottom:1px solid color-mix(in oklch,var(--post-color, var(--chrome-accent)) 54%,transparent);transition:border-color var(--motion-fast) var(--ease-ui),color var(--motion-fast) var(--ease-ui)}.markdown a:hover,.markdown a:focus-visible{color:#e3e5e6;border-color:var(--post-color, var(--chrome-accent))}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown table,.markdown hr{margin:0 0 22px}.markdown p{line-height:1.42}.markdown ul,.markdown ol{padding-left:36px}.markdown ul:not(.contains-task-list){--list-dot-color: var(--post-color, var(--chrome-accent));list-style:none;padding-left:18px}.markdown ol{padding-left:38px}.markdown .contains-task-list{list-style:none;padding-left:18px}.markdown .task-list-item{position:relative;padding-left:0}.markdown li+li{margin-top:4px}.markdown input[type=checkbox]{margin-right:7px;accent-color:var(--post-color, var(--chrome-accent))}.markdown blockquote{border:0;border-top:1px solid oklch(100% 0 0 / .1);padding:14px 10px;color:#c9cbcd;transition:var(--surface-lift-transition)}.markdown table{width:100%;border-collapse:collapse;overflow:hidden;color:#b6b7ba;font-size:14px;border-top:1px solid oklch(100% 0 0 / .1);transition:var(--surface-lift-transition)}.markdown th,.markdown td{border-top:1px solid oklch(100% 0 0 / .1);padding:8px 9px;text-align:left;vertical-align:top}.markdown th{color:#dddee0;font-weight:640}.markdown hr{border:0;border-top:1px solid oklch(100% 0 0 / .32)}.markdown img{width:100%;max-height:360px;margin:0 0 22px;object-fit:cover;border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;padding-top:14px;transition:var(--surface-lift-transition)}.markdown pre,.figure,.mermaid{overflow-x:auto;border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;background:transparent;padding:14px;color:#c9cbcd;font-family:var(--font-mono);font-size:13px;transition:var(--surface-lift-transition)}.figure{margin:18px 0;text-align:center;letter-spacing:.04em}.mermaid{margin:0 0 22px}.youtube-embed{position:relative;width:100%;aspect-ratio:16 / 9;margin:0 0 22px;overflow:hidden;border:0;border-top:1px solid oklch(100% 0 0 / .1);border-radius:0;padding-top:14px;transition:var(--surface-lift-transition)}.youtube-embed-trigger{display:grid;width:100%;height:100%;min-height:264px;place-items:center;gap:10px;border:1px solid oklch(100% 0 0 / .1);border-radius:10px;color:#d6d7d9;background:linear-gradient(135deg,color-mix(in oklch,var(--red) 16%,transparent),transparent 36%),linear-gradient(315deg,color-mix(in oklch,var(--cyan) 13%,transparent),transparent 42%),#090706;cursor:pointer;font:inherit;text-align:center}.youtube-embed-trigger:hover,.youtube-embed-trigger:focus-visible{border-color:var(--highlight)}.youtube-play{width:46px;height:46px;border:1px solid color-mix(in oklch,var(--highlight) 66%,transparent);border-radius:999px;background:color-mix(in oklch,var(--surface) 72%,transparent);position:relative}.youtube-play:after{position:absolute;top:50%;left:52%;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid var(--fg);content:"";transform:translate(-38%,-50%)}.website-embed{margin:0 0 22px;border-top:1px solid oklch(100% 0 0 / .1);padding-top:14px;transition:var(--surface-lift-transition)}.website-embed iframe{width:100%;min-height:396px;border:1px solid oklch(100% 0 0 / .1);border-radius:10px;background:#0b0908}.markdown blockquote:hover,.markdown blockquote:focus-within,.markdown pre:hover,.markdown pre:focus-within,.mermaid:hover,.mermaid:focus-within,.markdown table:hover,.markdown table:focus-within,.markdown img:hover,.figure:hover,.figure:focus-within,.youtube-embed:hover,.youtube-embed:focus-within,.website-embed:hover,.website-embed:focus-within{border-color:var(--highlight);box-shadow:0 -1px 0 var(--highlight-soft);transform:translate3d(0,-1px,0)}.website-embed figcaption{margin-top:8px;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.youtube-embed iframe{width:100%;height:100%;border:0}.work-moved{padding:53px 0}.button{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:9px 12px;color:var(--fg);background:color-mix(in oklch,var(--surface) 72%,transparent)}.reveal{opacity:0;transform:translate3d(0,10px,0);filter:none;transition:opacity var(--motion-page) var(--ease-ui),transform var(--motion-page) var(--ease-ui)!important}.reveal.in{opacity:1;transform:translateZ(0)}[id]{scroll-margin-top:84px}.anchor-highlight{animation:anchor-pulse .76s var(--ease-ui)}.ingress-highlight{border-color:var(--highlight)!important;box-shadow:0 -1px 0 var(--highlight-soft),0 0 24px color-mix(in oklch,var(--highlight) 8%,transparent)!important}@keyframes anchor-pulse{0%{outline:1px solid color-mix(in oklch,var(--chrome-accent) 78%,transparent);outline-offset:8px}to{outline:1px solid transparent;outline-offset:0}}.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}@media(max-width:840px){.topbar{padding-top:8px}.nav{min-height:62px;grid-template-columns:minmax(0,1fr) auto;gap:12px}.brand,.brand:visited{width:auto;min-width:0}.menu-button{display:inline-flex;align-items:center;justify-content:center}.nav-links{display:grid;grid-column:1 / -1;width:100%;grid-template-columns:1fr;justify-self:stretch;justify-content:stretch;gap:2px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;padding:0;transform:translateY(-6px);transition:max-height .19s var(--ease-ui),opacity .15s var(--ease-ui),transform .19s var(--ease-ui),padding .19s var(--ease-ui)}.nav.open .nav-links{max-height:190px;opacity:1;pointer-events:auto;padding:0 0 12px;transform:translateY(0)}.nav-links a{justify-content:flex-start}:root{--page-hero-top: 42px;--page-hero-bottom: 18px;--page-section-y: 25px;--page-last-bottom: 37px}h1{font-size:31px}.repo-grid,.pinned,.skills-grid,.cert-grid,.leadership-grid,.split-card{grid-template-columns:1fr}.preview-row,.contact-dock .contact-row{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:5px;align-items:baseline}.preview-row .meta,.contact-dock .contact-row .meta{grid-column:1 / -1}.post{grid-template-columns:minmax(0,1fr);row-gap:7px}.post .kicker{grid-column:1 / -1}.post-actions{width:100%;justify-content:space-between;justify-self:stretch}.toolbar{grid-template-columns:minmax(0,1fr) minmax(96px,118px);position:static}.repo-row{animation:none;flex-wrap:wrap;width:auto}.repo-index{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-progress{display:none}.photo-track,.repo-row,.page-loader-shell span{animation:none!important;transform:none!important}.reveal,.reveal.in{opacity:1!important;transform:none!important;filter:none!important;will-change:auto!important}}
