:root{color-scheme:light;--font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--palette-neutral-h:256;--site-accent-h:122;--palette-accent-h:var(--site-accent-h);--palette-warn-h:72;--palette-danger-h:25;--tl-bg-l:.955;--tl-accent-c:.14;--tl-accent-l:.5;--tl-accent-soft-a:.1;--tl-accent-border-a:.3;--tl-accent-glow-a:.18;--procedural-density:.58;--procedural-order:.62;--procedural-opacity:.82;--procedural-motion:1;--bg:oklch(var(--tl-bg-l) .012 var(--palette-neutral-h));--bg-accent:oklch(.932 .016 var(--palette-neutral-h));--surface:oklch(.992 .008 var(--palette-neutral-h));--surface-muted:oklch(.942 .014 var(--palette-neutral-h));--surface-alpha:oklch(.992 .008 var(--palette-neutral-h) / .96);--ink:oklch(.22 .018 var(--palette-neutral-h));--text:oklch(.4 .02 var(--palette-neutral-h));--text-muted:oklch(.54 .016 var(--palette-neutral-h));--line:oklch(.86 .018 var(--palette-neutral-h));--line-strong:oklch(.78 .024 var(--palette-neutral-h));--accent:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h));--accent-strong:oklch(calc(var(--tl-accent-l) - .1) calc(var(--tl-accent-c) * .93) var(--palette-accent-h));--accent-muted:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .64) var(--palette-accent-h));--accent-soft:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-soft-a));--accent-border:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-border-a));--accent-glow:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-glow-a));--procedural-accent-h:var(--palette-accent-h);--procedural-accent:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--procedural-accent-h));--procedural-accent-strong:oklch(calc(var(--tl-accent-l) - .1) calc(var(--tl-accent-c) * .93) var(--procedural-accent-h));--procedural-accent-muted:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .64) var(--procedural-accent-h));--procedural-accent-soft:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--procedural-accent-h) / var(--tl-accent-soft-a));--procedural-accent-border:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--procedural-accent-h) / var(--tl-accent-border-a));--procedural-accent-glow:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--procedural-accent-h) / var(--tl-accent-glow-a));--warn:oklch(.58 .12 var(--palette-warn-h));--danger:oklch(.52 .14 var(--palette-danger-h));--code-bg:var(--surface-muted);--code-border:var(--line);--code-text:var(--ink);--code-muted:var(--text-muted);--header-height:52px;--safe-top:env(safe-area-inset-top,0px);--header-offset:calc(var(--header-height) + var(--safe-top));--header-pull:clamp(34px, 5vw, 64px);--opening-height:clamp(26rem, 50vh, 36rem);--opening-fade:clamp(5rem, 14vh, 9rem);--content:680px;--wide:1120px;--page-pad:clamp(22px, 4vw, 44px);--marker-size:5px;--marker-size-inline:4px}html[data-theme=dark]{color-scheme:dark;--tl-bg-l:.23;--tl-accent-c:.125;--tl-accent-l:.76;--tl-accent-soft-a:.12;--tl-accent-border-a:.35;--tl-accent-glow-a:.22;--bg:oklch(var(--tl-bg-l) .012 var(--palette-neutral-h));--bg-accent:oklch(.195 .014 var(--palette-neutral-h));--surface:oklch(.205 .014 var(--palette-neutral-h));--surface-muted:oklch(.245 .016 var(--palette-neutral-h));--surface-alpha:oklch(.205 .014 var(--palette-neutral-h) / .96);--ink:oklch(.94 .012 var(--palette-neutral-h));--text:oklch(.84 .014 var(--palette-neutral-h));--text-muted:oklch(.65 .014 var(--palette-neutral-h));--line:oklch(.32 .014 var(--palette-neutral-h));--line-strong:oklch(.42 .016 var(--palette-neutral-h));--accent:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h));--accent-strong:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .73) var(--palette-accent-h));--accent-muted:oklch(calc(var(--tl-accent-l) - .08) calc(var(--tl-accent-c) * .82) var(--palette-accent-h));--accent-soft:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-soft-a));--accent-border:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-border-a));--accent-glow:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-glow-a));--procedural-accent-strong:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .73) var(--procedural-accent-h));--procedural-accent-muted:oklch(calc(var(--tl-accent-l) - .08) calc(var(--tl-accent-c) * .82) var(--procedural-accent-h));--warn:oklch(.78 .11 var(--palette-warn-h));--danger:oklch(.72 .12 var(--palette-danger-h));--code-bg:var(--surface);--code-border:var(--line);--code-text:var(--ink);--code-muted:var(--text-muted)}:where(body[data-accent-scope],.front-page,.profile-page,.post-layout,.taxonomy-page,.about-page,.resume-page,.search-page,.series-item,.post-card,.all-posts-list li){--palette-accent-h:var(--theme-lab-accent-h,var(--page-accent-h,var(--site-accent-h)));--accent:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h));--accent-strong:oklch(calc(var(--tl-accent-l) - .1) calc(var(--tl-accent-c) * .93) var(--palette-accent-h));--accent-muted:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .64) var(--palette-accent-h));--accent-soft:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-soft-a));--accent-border:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-border-a));--accent-glow:oklch(var(--tl-accent-l) var(--tl-accent-c) var(--palette-accent-h) / var(--tl-accent-glow-a));--procedural-accent-h:var(--palette-accent-h);--procedural-accent:var(--accent);--procedural-accent-strong:var(--accent-strong);--procedural-accent-muted:var(--accent-muted);--procedural-accent-soft:var(--accent-soft);--procedural-accent-border:var(--accent-border);--procedural-accent-glow:var(--accent-glow)}.procedural-background{--procedural-accent-h:var(--theme-lab-accent-h,var(--page-procedural-accent-h,var(--palette-accent-h)))}html[data-theme=dark] :where(body[data-accent-scope],.front-page,.profile-page,.post-layout,.taxonomy-page,.about-page,.resume-page,.search-page,.series-item,.post-card,.all-posts-list li){--accent-strong:oklch(calc(var(--tl-accent-l) + .08) calc(var(--tl-accent-c) * .73) var(--palette-accent-h));--accent-muted:oklch(calc(var(--tl-accent-l) - .08) calc(var(--tl-accent-c) * .82) var(--palette-accent-h))}::selection{background:var(--accent-soft);color:var(--ink)}*{box-sizing:border-box;border-radius:0}html{background:var(--bg);text-size-adjust:100%}html:before{content:"";background:var(--bg);pointer-events:none;z-index:-1;width:100%;height:100vh;position:fixed;top:-100vh;left:0}body{min-width:320px;min-height:100vh;padding-top:var(--header-offset);background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font-size:17px;line-height:1.68;display:flex}button,input,textarea,select{font:inherit}a{color:var(--accent-strong);text-decoration-color:color-mix(in oklch, var(--accent-strong), transparent 48%);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent);text-decoration-color:currentColor}.site-header{z-index:20;height:var(--header-offset);padding-top:var(--safe-top);background:var(--bg);position:fixed;top:0;left:0;right:0}.site-header:before{content:"";background:var(--bg);pointer-events:none;height:100vh;position:absolute;bottom:100%;left:0;right:0}@media (width<=760px){.site-header-inner{position:relative}}.site-header-inner{width:min(var(--wide), calc(100% - var(--page-pad)));height:var(--header-height);align-items:center;gap:1.25rem;margin:0 auto;display:flex}.site-logo{color:var(--ink);font-family:var(--font-body);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;align-items:center;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.site-logo-surface{place-items:center start;display:inline-grid}.site-logo-default,.site-logo-domain{white-space:nowrap;grid-area:1/1;transition:opacity .15s}.site-logo-default{align-items:center;gap:.55rem;display:inline-flex}.site-logo-domain{opacity:0;letter-spacing:-.015em;font-size:.88rem;display:inline}.site-logo-monogram{border:1px solid var(--accent-border);background:var(--accent-soft);width:26px;height:21px;color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.05em;flex-shrink:0;place-items:center;font-size:.58rem;font-weight:600;display:grid}.site-logo-brand,.site-logo-domain-host{font-weight:650}.site-logo-domain-suffix{color:var(--text-muted);font-weight:450}.site-logo:hover,.site-logo:focus-visible{color:var(--accent-strong);outline:none;text-decoration:none}.site-logo:hover .site-logo-monogram,.site-logo:focus-visible .site-logo-monogram{border-color:var(--accent);color:var(--ink)}@media (hover:hover){.site-logo:hover .site-logo-default,.site-logo:focus-visible .site-logo-default{opacity:0}.site-logo:hover .site-logo-domain,.site-logo:focus-visible .site-logo-domain{opacity:1}.site-logo:hover .site-logo-domain-suffix,.site-logo:focus-visible .site-logo-domain-suffix{color:color-mix(in oklch, var(--accent-strong), var(--text-muted) 50%)}}@media (prefers-reduced-motion:reduce){.site-logo-default,.site-logo-domain{transition:none}}.site-header-actions{flex-shrink:0;align-items:center;gap:.1rem;margin-left:auto;display:flex}.site-header-actions a{color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;padding:6px 10px;font-size:.84rem;font-weight:500;text-decoration:none}.site-header-actions a:hover{color:var(--ink);text-decoration:none}.site-header-actions a.active{background:var(--surface-muted);color:var(--accent-strong);font-weight:600}.site-header-actions a.header-resume-link{background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);text-transform:uppercase;margin-inline:.2rem;font-size:.7rem;font-weight:650}.site-header-actions a.header-resume-link:hover,.site-header-actions a.header-resume-link.active{background:var(--accent-strong);color:var(--bg);box-shadow:none}.header-icon-button,.theme-toggle{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.header-icon-button:hover,.theme-toggle:hover{color:var(--accent)}.header-icon-button:focus-visible,.theme-toggle:focus-visible,.search-open-button:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.theme-toggle .icon-moon,html[data-theme=dark] .theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-moon{display:block}.site-shell{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}main{width:min(var(--wide), calc(100% - var(--page-pad)));padding:var(--header-pull) 0 clamp(64px, 7vw, 92px);flex:1;margin:0 auto;position:relative;overflow-x:clip}h1,h2,h3,h4{color:var(--ink);font-family:var(--font-body);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}h1{font-size:clamp(2.1rem,4.5vw,3.5rem);font-weight:650;line-height:1.08}h2{margin:3rem 0 .95rem;font-size:clamp(1.55rem,2.8vw,2.1rem)}h3{margin:2.2rem 0 .7rem;font-size:clamp(1.1rem,1.8vw,1.25rem);font-weight:600}h4{margin:1.4rem 0 .45rem;font-size:1rem}p,li{max-width:var(--content);font-family:var(--font-body)}p{margin:0 0 1rem}ul,ol{padding-left:1.25rem}li+li{margin-top:.32rem}strong{color:var(--ink);font-weight:600}img,video,canvas,svg{max-width:100%}img{height:auto}code{background:var(--surface-muted);color:var(--ink);font-family:var(--font-mono);padding:.06rem .28rem;font-size:.84em}pre{background:var(--code-bg);color:var(--code-text);tab-size:2;margin-block:1.5rem;padding:1rem 1.1rem;position:relative;overflow-x:auto}pre code,pre.astro-code{font-family:var(--font-mono);font-size:.875rem;line-height:1.6}pre.astro-code{background-color:var(--code-bg)!important;color:var(--code-text)!important}pre code{all:unset;font-family:var(--font-mono);font-size:.875rem}.code-copy-btn{z-index:1;border:1px solid var(--code-border);background:color-mix(in oklch, var(--code-bg) 88%, var(--code-text));color:var(--code-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.18rem .45rem;font-size:.68rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;position:absolute;top:.5rem;right:.5rem}.code-copy-btn:hover{background:color-mix(in oklch, var(--code-bg) 72%, var(--code-text));border-color:color-mix(in oklch, var(--code-text) 34%, transparent);color:var(--code-text)}.code-copy-btn:focus-visible{outline:2px solid color-mix(in oklch, var(--accent) 70%, white);outline-offset:2px}.astro-code,.astro-code span{background-color:#0000!important}html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose>blockquote{color:var(--ink);margin:2rem 0;padding:1.35rem 0 0 1.2rem;font-size:clamp(1.12rem,2vw,1.35rem);font-style:normal;font-weight:650;line-height:1.38;position:relative}.prose>blockquote:before{color:var(--accent-strong);content:"“";font-family:Georgia,serif;font-size:3.5rem;font-weight:400;line-height:1;position:absolute;top:-.15em;left:0}.prose>blockquote p{margin:0}.prose>blockquote strong{color:inherit;font-weight:inherit}@media (width>=1180px){.prose>blockquote{--pull-quote-gap:3.5rem;--pull-quote-width:min(19rem, calc(var(--wide) - var(--content) - var(--pull-quote-gap)));float:right;clear:right;width:var(--pull-quote-width);margin:.55rem calc(-1 * var(--pull-quote-width) - var(--pull-quote-gap)) 2.5rem var(--pull-quote-gap);padding-top:1.55rem;font-size:clamp(1.22rem,1.65vw,1.55rem)}.prose>blockquote:has(+.table-scroll),.prose>blockquote:has(+.prose-breakout){float:none;clear:both;width:auto;margin:2rem 0;padding-top:1.35rem}}.table-scroll{clear:both;-webkit-overflow-scrolling:touch;margin-block:1.75rem;overflow-x:auto}.table-scroll table{border:0;width:100%;min-width:32rem;margin:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-body);margin:0;font-size:.8rem;line-height:1.45}.prose thead{background:0 0}.prose th,.prose td{border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .9rem}.prose th{color:var(--ink);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.82rem;font-weight:600}.prose td{color:var(--text)}.prose tbody tr:nth-child(2n) td{background:color-mix(in oklch, var(--surface-muted) 45%, transparent)}.prose tbody tr:hover td{background:color-mix(in oklch, var(--accent-soft) 60%, transparent)}.page-hero{width:100%;max-width:none;margin-top:calc(-1 * var(--header-pull));padding-top:calc(var(--header-pull) + clamp(1rem, 2vw, 1.5rem));isolation:isolate;z-index:0;position:relative;overflow:visible}.reading-column{width:100%;max-width:var(--content);margin-inline:0}.page-hero>.reading-column{z-index:1;position:relative}.procedural-background{z-index:0;pointer-events:none;user-select:none;position:absolute;inset:0;overflow:hidden}.procedural-background canvas{width:100%;height:100%;display:block}.procedural-background:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--bg) 0%, color-mix(in oklch, var(--bg) 88%, transparent) 42%, transparent 78%), linear-gradient(180deg, color-mix(in oklch, var(--bg) 82%, transparent) 0%, transparent 42%, var(--bg) 100%);position:absolute;inset:0}.procedural-background-hero{width:100vw;height:100vh;position:fixed;inset:0 auto auto 0;transform:none}.procedural-background-hero canvas{opacity:var(--procedural-opacity,.82)}.procedural-background-card{opacity:.7;inset:-.85rem -1rem}.procedural-background-card:after{background:linear-gradient(90deg, var(--bg) 0%, color-mix(in oklch, var(--bg) 90%, transparent) 46%, var(--bg) 100%)}.procedural-background-card canvas{opacity:calc(var(--procedural-opacity,.82) * .73)}.publication-intro,.archive-header,.series-index,.recent-posts{gap:clamp(24px,5vw,52px);display:grid}.publication-intro.page-hero{padding-bottom:clamp(20px,3.5vw,36px)}.home-hero-grid{z-index:1;grid-template-columns:minmax(0,1fr) minmax(18rem,20rem);align-items:end;gap:clamp(2.5rem,7vw,6.5rem);min-height:clamp(25rem,54vh,35rem);padding-block:clamp(2rem,6vw,5rem);display:grid;position:relative}.home-hero-copy{max-width:760px}.home-hero-copy h1{max-width:14ch;font-size:clamp(2.75rem,6.3vw,5.45rem);line-height:.98}.home-hero-copy .lede{max-width:62ch;color:var(--text);font-size:clamp(1.06rem,1.7vw,1.22rem)}.availability-card{background:color-mix(in oklch, var(--surface) 90%, var(--accent-soft));backdrop-filter:blur(12px);align-self:end;padding:clamp(1.2rem,2.4vw,1.55rem)}.availability-card-person{grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:.9rem;display:grid}.availability-card-person.is-photo-free{grid-template-columns:1fr}.availability-card-person img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.availability-card .eyebrow{grid-template-columns:.5rem auto;align-items:center;gap:.6rem;margin-bottom:1rem;display:grid}.availability-card .eyebrow:before{background:var(--accent-strong);width:.5rem;height:.5rem;box-shadow:0 0 0 .3rem var(--accent-soft);content:""}.availability-card h2{margin:0;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.1}.availability-card-role{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:.4rem 0 0;font-size:.68rem;font-weight:600;line-height:1.35}.availability-card-summary{color:var(--text);margin:1rem 0 1.15rem;font-size:.92rem;line-height:1.55}.availability-card-link{background:var(--accent-strong);min-height:2.65rem;color:var(--bg);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.availability-card-link:after{content:"→"}.availability-card-link:hover{background:var(--ink);color:var(--bg)}.availability-card-contact{color:var(--text-muted);margin:.85rem 0 0;font-size:.78rem;line-height:1.5}.availability-card-contact a{color:var(--ink);overflow-wrap:anywhere}.home-wide{width:100%;max-width:var(--wide)}.home-ai-focus{background:radial-gradient(circle at 4% 8%, var(--accent-soft), transparent 34%), linear-gradient(135deg, var(--surface-elevated), color-mix(in oklch, var(--surface) 88%, var(--accent-soft)));grid-template-columns:minmax(17rem,.82fr) minmax(0,1.35fr);align-items:stretch;gap:clamp(2rem,5vw,4.5rem);margin-top:clamp(2.5rem,6vw,5rem);padding-block:clamp(1.5rem,4vw,3.25rem);display:grid;position:relative;overflow:hidden}.home-ai-focus-copy{flex-direction:column;align-items:flex-start;display:flex}.home-ai-focus-copy h2{max-width:17ch;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08}.home-ai-focus-copy>p:not(.eyebrow){max-width:44ch;color:var(--text-muted);margin:1rem 0 1.5rem;font-size:.96rem;line-height:1.65}.home-ai-topic-link{background:var(--ink);color:var(--surface);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding:.72rem .9rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.home-ai-topic-link:hover{background:var(--accent-strong);color:var(--surface)}.home-ai-posts{counter-reset:ai-post;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,2vw,1.25rem);display:grid}.home-ai-posts .post-card{background:color-mix(in oklch, var(--surface) 84%, var(--accent-soft));counter-increment:ai-post;grid-template-rows:1fr;align-content:end;min-height:19rem;padding:clamp(1.15rem,2.5vw,1.65rem);position:relative}.home-ai-posts .post-card-body{align-self:end}.home-ai-posts .post-card:before{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.08em;content:"0" counter(ai-post);font-size:.68rem;position:absolute;top:1rem;left:1rem}.home-ai-posts .post-card-title{font-size:clamp(1.25rem,2vw,1.65rem)}.home-ai-posts .post-card-excerpt{font-size:.88rem}.home-section-heading{grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr);align-items:end;gap:clamp(1.5rem,5vw,4.5rem);margin-bottom:clamp(1.35rem,3vw,2rem);display:grid}.home-section-heading h2{max-width:20ch;font-size:clamp(1.75rem,3.3vw,2.65rem)}.home-section-heading>p{color:var(--text-muted);margin:0;font-size:.94rem;line-height:1.6}.profile-page>:not(.page-hero),.taxonomy-page>:not(.page-hero),.search-page>:not(.page-hero){z-index:1;position:relative}.page-hero h1,.publication-intro h1,.archive-header h1,.about-hero h1{font-size:clamp(2.3rem,4.6vw,3.95rem)}.lede{color:var(--text-muted);font-family:var(--font-body);margin-top:1.1rem;font-size:clamp(1.02rem,1.5vw,1.12rem);line-height:1.62}.series-index{margin-top:clamp(28px,4vw,44px)}.series-overview h2{margin-top:0;font-size:clamp(1.8rem,3vw,2.45rem)}.eyebrow,.hero-kicker{color:var(--accent-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .8rem;font-size:.72rem;font-weight:500}.series-actions{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}#series,#posts{scroll-margin-top:calc(var(--header-offset) + 1rem)}.button-link,.series-actions a,.series-overview>a{width:fit-content;color:var(--accent-strong);font-family:var(--font-body);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--accent-strong), transparent 55%);text-underline-offset:.18em;background:0 0;border:0;align-items:center;padding:0;font-size:.86rem;font-weight:500;transition:color .12s,text-decoration-color .12s;display:inline-flex}.button-link:hover,.series-actions a:hover,.series-overview>a:hover{color:var(--accent);text-decoration-color:currentColor}.button-link-primary{color:var(--ink);font-weight:600;text-decoration:none}.button-link-primary:hover{color:var(--accent-strong);text-decoration:underline}.archive-header.page-hero{padding-bottom:clamp(16px,3vw,28px)}.about-hero.page-hero{grid-area:1/1;margin-bottom:clamp(1.75rem,2.5vw,2.25rem);padding-bottom:0}.series-overview{position:static}.issue-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.issue-list li{max-width:none;margin:0}.issue-list a,.issue-list .issue-row{color:var(--text);grid-template-columns:72px minmax(0,1fr) minmax(104px,auto);gap:clamp(16px,3vw,30px);padding:.7rem 0;text-decoration:none;display:grid}.issue-list a:hover strong{color:var(--accent-strong)}.issue-list .issue-row{opacity:.55}.issue-number,.issue-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem}.issue-body{gap:.2rem;display:grid}.issue-body strong{font-family:var(--font-body);font-size:1.02rem;font-weight:600}.issue-body em{max-width:620px;color:var(--text-muted);font-family:var(--font-body);font-size:.9rem;font-style:normal}.issue-badge{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.recent-posts{margin-top:clamp(40px,6vw,72px)}.recent-posts h2{margin-top:0;font-size:clamp(1.5rem,2.5vw,2rem)}.post-layout{width:min(var(--wide), calc(100% - var(--page-pad)));margin:0 auto;position:relative}.post-article{isolation:isolate;min-width:0;position:relative}.post-header.page-hero{z-index:0;padding-top:calc(var(--header-pull) + clamp(1.25rem, 2.5vw, 2rem));margin-bottom:clamp(1.5rem,3vw,2.25rem);padding-bottom:clamp(2rem,4vw,2.75rem)}.post-article>:not(.post-header){z-index:1;position:relative}.post-eyebrow{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:0 0 .7rem;font-size:.68rem;font-weight:500;line-height:1.35;display:flex}.post-eyebrow-series{color:var(--accent-strong)}.post-eyebrow-part{color:var(--text-muted);font-weight:400}.post-eyebrow-part:before{content:"";width:var(--marker-size-inline);height:var(--marker-size-inline);background:var(--accent);vertical-align:.16em;margin-right:.55rem;display:inline-block}.post-eyebrow.is-solo{color:var(--accent-strong)}.post-header h1{letter-spacing:-.03em;margin:0 0 .9rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:650;line-height:1.08}.post-header .post-description{color:var(--text);font-family:var(--font-body);margin:0;font-size:clamp(1.02rem,1.55vw,1.12rem);line-height:1.58}.post-meta{gap:.75rem;margin:1.1rem 0 0;padding:0;display:grid}.post-meta-line{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;gap:.35rem .65rem;margin:0;font-size:.72rem;line-height:1.35;display:flex}.tag-list{flex-wrap:wrap;gap:.5rem .75rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{margin:0}.tag{background:var(--surface-muted);color:var(--text);font-family:var(--font-mono);text-transform:uppercase;padding:.28rem .55rem;font-size:.72rem;text-decoration:none;display:inline-block}.tag:hover{background:var(--accent-soft);color:var(--accent-strong)}.tag-section{margin-top:clamp(28px,4vw,44px)}.tag-section .tag-list{margin-top:.5rem}.post-section-header{margin-bottom:.85rem}.post-section-eyebrow{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:500}.post-section-title{color:var(--ink);margin:.35rem 0 0;font-size:1.05rem;line-height:1.25}.post-footer{max-width:var(--content);margin-inline:0;gap:clamp(2.5rem,5vw,3.5rem);margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.post-article>.page-nav+.post-footer{margin-top:clamp(2.5rem,5vw,3.5rem)}.post-footer:has(.post-footer-columns){max-width:var(--wide)}.post-article>.page-nav{max-width:var(--wide);margin-top:clamp(3rem,6vw,4.5rem)}.post-footer-columns{max-width:var(--wide);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2rem,4vw,3rem);display:grid}.series-guide-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;display:flex}.series-guide-archive{color:var(--accent-strong);font-family:var(--font-mono);white-space:nowrap;font-size:.74rem;text-decoration:none}.series-guide-archive:hover{color:var(--accent);text-decoration:underline}.series-guide-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.series-guide-item a,.series-guide-item .series-guide-row{color:var(--text);font-family:var(--font-body);grid-template-columns:4.75rem minmax(0,1fr);align-items:baseline;gap:.65rem 1rem;padding:.55rem .25rem;font-size:.9rem;line-height:1.35;text-decoration:none;display:grid}.series-guide-part{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:500}.series-guide-label{color:var(--ink)}.series-guide-item a:hover .series-guide-label{color:var(--accent-strong)}.series-guide-item.is-current .series-guide-part,.series-guide-item.is-current .series-guide-label{color:var(--accent-strong);font-weight:500}.series-guide-item.is-upcoming .series-guide-row{color:var(--text-muted)}.series-guide-item.is-upcoming .series-guide-label{font-weight:400}.series-guide-upcoming{margin-top:.35rem}.series-guide-upcoming summary{color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);padding:.45rem .25rem;font-size:.72rem;list-style:none}.series-guide-upcoming summary::-webkit-details-marker{display:none}.series-guide-upcoming summary:before{content:"+";color:var(--text-muted);margin-right:.5rem}.series-guide-upcoming[open] summary:before{content:"−"}.page-nav{grid-template-columns:1fr 1fr;gap:1rem 1.5rem;display:grid}.page-nav-link{max-width:none;color:var(--text);font-family:var(--font-body);gap:.35rem;text-decoration:none;display:grid}.page-nav-next{text-align:right;justify-items:end}.page-nav-title{color:var(--accent-strong);font-family:var(--font-body);font-size:.9rem;line-height:1.35}.page-nav-link:hover .page-nav-title{color:var(--accent)}.page-nav-link.is-upcoming{opacity:.5}.page-nav-spacer{flex:1}.prose{min-width:0;max-width:var(--content);font-family:var(--font-body);margin-inline:0;overflow-x:visible}.prose p,.prose li,.prose strong,.prose td,.prose th{font-family:var(--font-body)}.prose>:first-child{margin-top:0}.prose>h2{padding-top:.4rem}.prose :is(ul,ol){gap:.8rem;margin:1.15rem 0 1.4rem;padding:0;list-style:none;display:grid}.prose ul>li,.prose ol>li{max-width:none;margin:0;position:relative}.prose ul>li{padding-left:1.35rem}.prose ul>li:before{content:"";left:0;top:calc(.5lh - calc(var(--marker-size) / 2));width:var(--marker-size);height:var(--marker-size);background:var(--accent);position:absolute}.prose ol{counter-reset:prose-ol}.prose ol>li{counter-increment:prose-ol;padding-left:2.15rem}.prose ol>li:before{content:counter(prose-ol, decimal-leading-zero);min-width:1.55rem;color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.03em;font-size:.7rem;font-weight:500;position:absolute;top:calc(.5lh - .35em);left:0}.prose li+li{margin-top:0}.prose ul>li:has(>strong:first-child)>strong:first-child{color:var(--ink);font-weight:650}.prose :is(ul,ol) :is(ul,ol){gap:.5rem;margin:.55rem 0 .1rem}.prose ul ul>li{padding-left:1.1rem}.prose ul ul>li:before{width:var(--marker-size-inline);height:var(--marker-size-inline);top:calc(.5lh - calc(var(--marker-size-inline) / 2));background:var(--line-strong)}.prose>pre{clear:both}.prose>pre,.prose>.table-scroll,.prose>.demo-embed,.prose>figure,.prose>.wide,.prose>.prose-breakout{--breakout:min(var(--wide), calc(100vw - 2 * var(--page-pad)));width:var(--breakout);max-width:var(--breakout);margin-inline:0}.prose figure figcaption{max-width:var(--content);color:var(--text-muted);margin-inline:0;font-size:.86rem}.callout{border-left:2px solid var(--accent);background:var(--accent-soft);margin:1.6rem 0;padding:.65rem 0 .65rem .9rem}.callout-warn{border-left-color:var(--warn);background:color-mix(in oklch, var(--warn) 10%, transparent)}.callout-danger{border-left-color:var(--danger);background:color-mix(in oklch, var(--danger) 10%, transparent)}.callout-label{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .4rem;font-size:.66rem;font-weight:500}.callout-body>:last-child{margin-bottom:0}.source-links{margin:2.5rem 0 0;padding:0}.source-links h2{margin:0 0 .5rem;font-size:1rem}.source-links>p{max-width:none;color:var(--text-muted);margin:0 0 .65rem;font-size:.9rem}.source-links-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.source-links-list a{color:var(--accent-strong);font-family:var(--font-mono);font-size:.82rem;text-decoration:none}.source-links-list a:hover{color:var(--accent);text-decoration:underline}.site-footer{padding:2rem var(--page-pad) 2.25rem;color:var(--text-muted);background:0 0;font-size:.86rem}.footer-inner{width:min(var(--wide), 100%);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.footer-copy{margin:0}.footer-links{flex-wrap:wrap;gap:.85rem;display:flex}.footer-links a{color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;text-decoration:none}.footer-links a:hover{color:var(--accent-strong);text-decoration:none}.about-page{grid-template-columns:minmax(0,860px) minmax(18rem,20rem);align-items:start;column-gap:clamp(2rem,5vw,4.5rem);display:grid}.about-shell{display:contents}.about-content{z-index:1;grid-area:2/1;gap:clamp(1.25rem,3vw,2rem);min-width:0;display:grid;position:relative}.about-contact-rail{z-index:1;top:calc(var(--header-offset) + 1.5rem);grid-area:1/2/-1;align-self:start;margin-top:0;position:sticky}.resume-page{width:100%;padding-top:0;overflow:visible}.resume-shell{width:min(var(--wide), calc(100% - var(--page-pad)));margin-inline:auto}.resume-hero{isolation:isolate;margin-bottom:clamp(2rem,5vw,4rem);padding:clamp(2rem,6vw,5rem) 0 clamp(2.5rem,6vw,5rem);position:relative}.resume-hero>.resume-shell{z-index:1;position:relative}.resume-hero-grid{grid-template-columns:minmax(0,1fr) minmax(18rem,.38fr);align-items:end;gap:clamp(2.5rem,6vw,6rem);min-height:clamp(25rem,54vh,35rem);display:grid}.resume-nameplate{grid-template-columns:clamp(6.5rem,11vw,8.25rem) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}.resume-nameplate .eyebrow{letter-spacing:.08em;margin:0 0 .65rem;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:600}.resume-profile-photo{aspect-ratio:1;object-fit:cover;width:100%;display:block}.resume-intro h1{letter-spacing:-.045em;margin:0 0 0 -.055em;font-size:clamp(2.5rem,5.4vw,4.35rem);line-height:.95}.resume-title{max-width:42ch;color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.025em;text-transform:uppercase;margin:1rem 0 0;font-size:clamp(.78rem,1.4vw,.92rem);font-weight:600}.resume-actions{gap:.55rem;margin-top:1.4rem;display:grid}.resume-actions a,.resume-actions button{background:var(--ink);min-height:2.65rem;color:var(--bg);cursor:pointer;font-family:var(--font-mono);border:0;border-radius:0;justify-content:center;align-items:center;gap:.55rem;padding:.72rem 1rem;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.resume-actions a:hover,.resume-actions button:hover{background:var(--accent-strong);color:var(--bg)}.resume-actions .resume-action-primary{background:var(--accent-strong)}.resume-actions .resume-action-primary:hover{background:var(--ink)}.resume-contact{color:var(--text-muted);font-family:var(--font-mono);gap:.9rem;margin-top:.85rem;font-size:.74rem;display:grid}.resume-contact-meta,.resume-contact-links{gap:.65rem;display:grid}.resume-contact a{color:var(--ink)}.resume-contact-meta>span,.resume-contact-links>a{grid-template-columns:1.05rem minmax(0,1fr);align-items:start;gap:.55rem;display:grid}.resume-contact-panel{background:color-mix(in oklch, var(--surface-alpha) 84%, var(--accent-soft));backdrop-filter:blur(8px);padding:clamp(1.15rem,2.5vw,1.55rem)}.resume-contact-panel>.eyebrow{margin:0}.resume-icon{stroke:currentColor;stroke-width:1.7px;stroke-linecap:square;stroke-linejoin:miter;flex:none;width:1rem;height:1rem}.resume-summary{max-width:60ch;color:var(--text);margin:clamp(1.5rem,3vw,2.5rem) 0 0;font-size:clamp(1rem,1.8vw,1.16rem);line-height:1.65}.resume-jump-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;max-width:48rem;margin-top:1.6rem;display:grid}.resume-jump-links a{color:var(--text);font-family:var(--font-mono);text-transform:uppercase;grid-template-columns:1.1rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.55rem 0;font-size:.68rem;font-weight:600;text-decoration:none;display:grid}.resume-jump-links a:hover{color:var(--accent-strong)}.resume-section{scroll-margin-top:calc(var(--header-offset) + 1.5rem)}.resume-body{gap:clamp(3.5rem,7vw,6.5rem);display:grid}.resume-section{margin:0}.resume-section-heading{margin:0 0 clamp(1.4rem,3vw,2.25rem)}.resume-section-heading .eyebrow{margin:0 0 .55rem}.resume-section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.08}.resume-section-lede{max-width:62ch;color:var(--text);letter-spacing:0;text-wrap:pretty;margin:.8rem 0 0;font-size:.95rem;font-weight:400;line-height:1.6}.resume-career-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem);display:grid}.resume-career-grid article{min-height:0;padding:0}.resume-career-label{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:600}.resume-career-grid h3{color:var(--ink);margin:0 0 .65rem;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.25}.resume-career-grid article>p:last-child{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.resume-principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.75rem);display:grid}.resume-principles-grid article{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.resume-principles-grid article>span{color:var(--accent-strong);font-family:var(--font-mono);font-size:.66rem;font-weight:600;line-height:1.6}.resume-principles-grid h3{color:var(--ink);margin:0 0 .45rem;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.3}.resume-principles-grid p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.resume-experience-list{gap:clamp(3.5rem,7vw,6rem);display:grid}.resume-job-featured{padding:0;position:relative}.resume-job header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem;margin-bottom:1.25rem;display:grid}.resume-job-heading{min-width:0}.resume-job h3{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2.5vw,1.85rem)}.resume-role-scope{color:var(--text-muted);letter-spacing:-.01em;white-space:nowrap;font-size:.72em;font-weight:600}.resume-role-separator{color:var(--accent-strong);margin:0 .35em;font-weight:500}.resume-job-role{color:var(--accent-strong);font-family:var(--font-mono);text-transform:uppercase;margin:.25rem 0 0;font-size:.78rem;font-weight:600}.resume-job-meta{color:var(--text-muted);font-family:var(--font-mono);text-align:right;margin:0;font-size:.72rem;line-height:1.45}.resume-job-dates{color:var(--ink);letter-spacing:-.02em;font-size:.82rem;font-weight:700;display:block}.resume-job-location{margin-top:.2rem;display:block}.resume-job-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin:clamp(1.5rem,3vw,2.25rem) 0;display:grid}.resume-job-metrics>div{min-width:0;padding:0}.resume-job-metrics strong,.resume-job-metrics span{display:block}.resume-job-metrics strong{color:var(--ink);letter-spacing:-.03em;font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1}.resume-job-metrics span{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;margin-top:.4rem;font-size:.62rem;line-height:1.35}.resume-points{max-width:68rem;margin:0;padding:0 0 0 1.2rem}.resume-points li{max-width:92ch;color:var(--text);text-wrap:balance;margin:0;padding:0;font-size:.95rem;line-height:1.55}.resume-points li+li{margin-top:.65rem}.resume-technology{margin:clamp(1.75rem,3vw,2.5rem) 0 0}.resume-technology>strong{color:var(--accent-strong);font-family:var(--font-mono);text-transform:uppercase;margin-bottom:.55rem;font-size:.68rem;display:block}.resume-technology ul,.resume-skill-tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.resume-technology li,.resume-skill-tags li{background:color-mix(in oklch, var(--surface-muted) 80%, var(--accent-soft));max-width:none;color:var(--text);font-family:var(--font-mono);text-transform:uppercase;margin:0;padding:.38rem .55rem;font-size:.64rem;line-height:1.3}.resume-expertise-grid,.resume-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem);display:grid}.resume-expertise-grid article,.resume-public-grid article{padding:0}.resume-public-grid article{align-content:start;gap:.85rem;display:grid}.resume-project-thumb{aspect-ratio:16/9;background:var(--surface-muted);display:block;overflow:hidden}.resume-project-thumb img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.resume-expertise-grid h3,.resume-public-grid h3{color:var(--ink);margin:0;font-size:1rem}.resume-expertise-grid h3{margin-bottom:.65rem}.resume-public-grid p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.resume-expertise-grid .resume-skill-tags{gap:.35rem}.resume-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-public-grid h3 a{color:var(--ink)}.resume-education-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem);display:grid}.resume-education-grid article{min-height:0;padding:0}.resume-education-grid h3{color:var(--ink);margin:0 0 .65rem;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.25}.resume-education-grid article>p:last-child{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.resume-print-url,.resume-print-only,.resume-print-footer,.resume-education-print,.resume-site-cta,.resume-contact-links>a.resume-print-only{display:none!important}@media (width<=900px){.resume-hero-grid{grid-template-columns:1fr;align-items:start}.resume-contact-panel{max-width:34rem}}@media (width<=760px){.resume-hero-grid,.resume-job header{grid-template-columns:1fr;display:grid}.resume-actions{grid-template-columns:1fr}.resume-jump-links{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-job-meta{text-align:left}.resume-nameplate{grid-template-columns:5.5rem minmax(0,1fr);gap:1rem}.resume-career-grid,.resume-principles-grid,.resume-expertise-grid,.resume-public-grid,.resume-education-grid{grid-template-columns:1fr}.resume-job-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-career-grid article{min-height:0}}@media print{@page{size:letter;margin:.42in .5in .4in}html,html[data-theme=dark],html[data-profile-palette],html[data-profile-palette][data-theme=dark]{--bg:#fff;--bg-accent:#fff;--surface:#fff;--surface-muted:#f3f4f6;--surface-alpha:#fff;--ink:#171827;--text:#303440;--text-muted:#5f6470;color-scheme:light!important;background:#fff!important}html:before{content:none!important;display:none!important}html,html[data-theme=dark],html[data-theme=dark] body,body{print-color-adjust:exact;color:#20232d!important;background:#fff!important}body{--print-ink:#16171f;--print-text:#2d3140;--print-muted:#5c6170;--print-rule:#d5d8df;--print-accent:#007f80;--print-accent-dark:#006266;--print-accent-pale:#eef6f5;padding:0;font-size:9pt;line-height:1.36;display:block}.site-header,.site-footer,.search-modal,.theme-lab,.resume-page .procedural-background,.resume-actions,.resume-jump-links,.resume-contact-panel>.eyebrow,.resume-icon,#career-scope,#personal-projects,.resume-about-cta{display:none!important}.site-shell,.resume-page,.resume-shell{width:100%;max-width:none;margin:0;padding:0;display:block;overflow:visible}.site-shell{background:#fff!important}.resume-hero{border-bottom:2.25pt solid var(--print-accent);margin:0 0 10pt;padding:0 0 9pt;background:0 0!important}.resume-hero-grid{align-items:start;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 158pt!important;gap:8pt 14pt!important}.resume-intro{display:contents}.resume-nameplate .eyebrow{display:none}.resume-nameplate{grid-area:1/1;grid-template-columns:46pt minmax(0,1fr);align-self:center;align-items:center;gap:10pt;min-width:0}.resume-profile-photo{object-fit:cover;width:46pt;height:46pt;display:block!important}.resume-intro h1{letter-spacing:-.045em;margin:0;font-size:22pt;font-weight:700;line-height:.95;color:var(--print-ink)!important}.resume-title{letter-spacing:.12em;text-transform:uppercase;max-width:none;margin:3.5pt 0 0;font-size:7.6pt;font-weight:700;line-height:1.2;color:var(--print-accent-dark)!important}.resume-contact-panel{border-left:.75pt solid var(--print-rule);backdrop-filter:none;grid-area:1/2/span 2;align-self:stretch;min-width:0;padding:1pt 0 0 12pt;background:0 0!important}.resume-contact{overflow-wrap:anywhere;border:0;gap:0;margin:0;padding:0;font-size:6.7pt;line-height:1.32;display:grid;color:var(--print-muted)!important}.resume-contact-meta,.resume-contact-links{gap:.4pt;display:grid}.resume-contact a{font-weight:600;text-decoration:none;color:var(--print-ink)!important}.resume-contact a.resume-site-link{letter-spacing:-.01em;font-size:7.6pt;font-weight:700;color:var(--print-accent-dark)!important}.resume-contact-meta>span,.resume-contact-links>a{display:block}.resume-summary{grid-area:2/1;max-width:none;margin:0;padding:0;font-size:8.4pt;line-height:1.32;color:var(--print-text)!important}.resume-body{gap:6pt;display:grid}.resume-section-heading{border-bottom:.6pt solid var(--print-rule);break-after:avoid;margin:0 0 6.5pt;padding:0 0 3.5pt;display:block}.resume-section-heading .eyebrow{display:none}.resume-section-heading h2{letter-spacing:.14em;text-transform:uppercase;margin:0;padding:0;font-size:8.4pt;font-weight:700;line-height:1.1;color:var(--print-accent-dark)!important}.resume-career-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8pt 12pt;display:grid}.resume-career-grid article,.resume-expertise-grid article,.resume-public-grid article,.resume-education-grid article{break-inside:avoid;min-height:0;padding:0;background:0 0!important}.resume-career-grid article{border-left:1.5pt solid var(--print-accent);padding:0 0 0 7pt}.resume-career-label{letter-spacing:.08em;margin:0 0 1pt;font-size:6.2pt;font-weight:700;color:var(--print-accent-dark)!important}.resume-career-grid h3,.resume-education-grid h3{margin:0 0 1.5pt;font-size:8pt;line-height:1.15;color:var(--print-ink)!important}.resume-career-grid article>p:last-child,.resume-education-grid article>p:last-child{margin:0;font-size:8.5pt;line-height:1.25;color:var(--print-text)!important}.resume-experience-list{display:block}.resume-job+.resume-job{border-top:.5pt solid var(--print-rule);margin-top:7pt;padding-top:7pt}.resume-job-featured{backdrop-filter:none;padding:0;background:0 0!important}.resume-job header{break-after:avoid;grid-template-columns:1fr auto;gap:12pt;margin-bottom:5pt;display:grid}.resume-job-heading{display:block}.resume-job h3{letter-spacing:-.02em;margin:0;font-size:11pt;font-weight:700;line-height:1.12;color:var(--print-ink)!important}.resume-role-scope{letter-spacing:-.005em;font-size:.72em;font-weight:600;color:var(--print-muted)!important}.resume-role-separator{color:var(--print-accent-dark)!important}.resume-job-role{letter-spacing:.06em;margin-top:1.5pt;font-size:7.2pt;color:var(--print-accent-dark)!important}.resume-job-meta{text-align:right;margin:0;font-size:7pt;line-height:1.3;color:var(--print-muted)!important}.resume-job-dates{letter-spacing:-.015em;font-size:8pt;font-weight:700;color:var(--print-ink)!important}.resume-job-location{margin-top:1pt;font-size:6.8pt}.resume-job-metrics{border-top:.5pt solid var(--print-rule);border-bottom:.5pt solid var(--print-rule);background:var(--print-accent-pale);break-inside:avoid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 5.5pt;padding:4.5pt 0;display:grid}.resume-job-metrics>div{border-right:.5pt solid color-mix(in srgb, var(--print-accent) 22%, white);padding:0 8pt}.resume-job-metrics>div:last-child{border-right:0}.resume-job-metrics strong{letter-spacing:-.02em;font-size:8.6pt;line-height:1.05;display:block;color:var(--print-accent-dark)!important}.resume-job-metrics span{text-transform:uppercase;letter-spacing:.04em;margin:1.5pt 0 0;font-size:5.9pt;line-height:1.2;display:block;color:var(--print-muted)!important}.resume-job:nth-child(n+3) .resume-job-metrics{display:none}.resume-points{max-width:none;padding-left:11pt}.resume-points li{break-inside:avoid;text-wrap:auto;max-width:none;font-size:8.35pt;line-height:1.2;color:var(--print-text)!important}.resume-points li+li{margin-top:1.3pt}.resume-points li:last-child{break-after:avoid}.resume-technology{break-inside:avoid;max-width:none;margin:3.5pt 0 0;font-size:7.4pt;line-height:1.25;color:var(--print-muted)!important}.resume-technology>strong{margin:0 5pt 0 0;font-size:7.4pt;display:inline;color:var(--print-accent-dark)!important}.resume-technology ul{gap:0;margin:0;padding:0;display:inline}.resume-technology li{text-transform:none;font-size:7.4pt;display:inline;color:var(--print-muted)!important;line-height:inherit!important;background:0 0!important;margin:0!important;padding:0!important}.resume-technology li:not(:last-child):after{content:" · ";color:var(--print-accent)}.resume-job:nth-child(n+2) .resume-points li{font-size:8.35pt;line-height:1.2}.resume-job:nth-child(n+3) .resume-points li+li{margin-top:1.4pt}#technical-breadth{background:var(--print-accent-pale);padding:4.5pt 8pt}#technical-breadth .resume-section-heading{border-bottom-color:color-mix(in srgb, var(--print-accent) 35%, white);margin-bottom:4.5pt}.resume-expertise-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0;display:grid}.resume-expertise-grid article{border-right:.5pt solid color-mix(in srgb, var(--print-accent) 28%, white);padding:0 9pt}.resume-expertise-grid article:first-child{padding-left:0}.resume-expertise-grid article:last-child{border-right:0;padding-right:0}.resume-expertise-grid h3{letter-spacing:.04em;font-weight:700;line-height:1.15;color:var(--print-ink)!important;margin:0 0 3.5pt!important;font-size:7.8pt!important}.resume-expertise-grid .resume-skill-tags,.resume-skill-tags{flex-wrap:unset;list-style:none;color:var(--print-text)!important;gap:0!important;margin:0!important;padding:0!important;font-size:7.2pt!important;line-height:1.18!important;display:block!important}.resume-expertise-grid .resume-skill-tags li,.resume-skill-tags li{max-width:none;color:var(--print-text)!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;text-transform:none!important;background:0 0!important;margin:0!important;padding:0!important;display:inline!important}.resume-skill-tags li:not(:last-child):after{content:", "}.resume-education .resume-section-heading{margin-bottom:4.5pt}.resume-education-grid{display:none!important}.resume-education-print{margin:0;font-size:8.5pt;line-height:1.3;color:var(--print-text)!important;display:block!important}.resume-education-print strong{font-weight:700;color:var(--print-ink)!important}.resume-education-print a{font-family:var(--font-mono);font-weight:700;text-decoration:none;color:var(--print-accent-dark)!important}.resume-site-cta,.resume-screen-only{display:none!important}.resume-print-only{display:inline!important}.resume-contact-links>a.resume-print-only{display:block!important}.resume-print-footer{display:none!important}}.about-links{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}@media (width<=760px){body{font-size:16px}main,.post-layout{width:min(100% - 24px, var(--wide))}.publication-intro,.series-index,.archive-header{grid-template-columns:1fr}.issue-list a,.issue-list .issue-row{grid-template-columns:1fr;gap:.28rem}.page-nav,.post-footer-columns{grid-template-columns:1fr;gap:1rem}.page-nav-link{max-width:100%}.page-nav-next{text-align:left;justify-items:start}.footer-inner{flex-direction:column;align-items:flex-start}}@media (width<=480px){.site-header-inner{gap:.75rem}.site-logo{font-size:.88rem}}@media (width<=360px){.site-logo-brand,.site-logo-domain{display:none}.site-header-actions a{padding-inline:7px}}.post-card-grid{gap:clamp(1.5rem,3vw,2.25rem);display:grid}.post-card{gap:.55rem;display:grid}.post-card-image{display:block;overflow:hidden}.post-card-image img{width:100%;height:auto;display:block}.post-card-series{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:500;line-height:1.35}.post-card-series a{color:var(--accent-strong);text-decoration:none}.post-card-series a:hover{text-decoration:underline}.post-card-title{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.2}.post-card-title a{color:var(--ink);text-decoration:none}.post-card-title a:hover{color:var(--accent-strong)}.post-card-excerpt{color:var(--text-muted);max-width:62ch;margin:0;font-size:.95rem;line-height:1.55}.post-card-meta{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;gap:.35rem .65rem;margin:.2rem 0 0;font-size:.72rem;display:flex}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;margin-bottom:clamp(1rem,2vw,1.5rem);display:flex}.section-heading-link{color:var(--accent-strong);font-family:var(--font-mono);font-size:.74rem;text-decoration:none}.section-heading-link:hover{text-decoration:underline}.archive-nav-links{flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem;display:flex}.archive-nav-links a{color:var(--accent-strong);font-family:var(--font-mono);font-size:.76rem;text-decoration:none}.archive-nav-links a:hover{text-decoration:underline}.taxonomy-cloud{flex-wrap:wrap;gap:.65rem;margin:clamp(1.6rem,3.5vw,2.25rem) 0 0;padding:0;list-style:none;display:flex}.taxonomy-cloud li{max-width:none;margin:0}.taxonomy-cloud .tag{border:1px solid var(--line);background:var(--surface-muted);color:var(--text);align-items:baseline;gap:.55rem;padding:.5rem .72rem;text-decoration:none;display:inline-flex}.taxonomy-cloud .tag:hover{border-color:color-mix(in oklch, var(--accent-strong) 35%, var(--line));background:var(--accent-soft);color:var(--accent-strong);text-decoration:none}.taxonomy-count{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-transform:none;font-size:.66rem}.taxonomy-cloud .tag:hover .taxonomy-count{color:var(--accent-strong)}.taxonomy-tag h1{text-transform:uppercase}pagefind-modal.site-search-modal,pagefind-modal.site-search-modal[data-pf-theme=dark]{--pf-font:var(--font-body);--pf-text:var(--ink);--pf-text-secondary:var(--text);--pf-text-muted:var(--text-muted);--pf-background:var(--surface);--pf-border:transparent;--pf-border-focus:color-mix(in oklch, var(--accent) 35%, transparent);--pf-skeleton:var(--surface-muted);--pf-skeleton-shine:var(--line);--pf-hover:var(--surface-muted);--pf-mark:var(--accent);--pf-outline-focus:var(--accent);--pf-scroll-shadow:var(--line);--pf-border-radius:0;--pf-shadow-sm:none;--pf-shadow-md:none;--pf-shadow-lg:none;--pf-modal-backdrop:var(--bg-accent);--pf-modal-max-width:var(--wide);--pf-modal-top:0;--pf-input-font-size:1.05rem;--pf-summary-font-size:.72rem;--pf-result-title-font-size:1.08rem;--pf-result-excerpt-font-size:.92rem}.search-open-button{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.search-open-button:hover{color:var(--accent)}.search-open-button.is-verbose{width:auto;min-height:32px;color:var(--text-muted);background:0 0;border:0;gap:.45rem;padding:.35rem .55rem}.search-open-button.is-verbose:hover{color:var(--accent)}.search-open-label{white-space:nowrap;font-family:var(--font-body);font-size:.78rem}.search-page .search-open-button.is-verbose{margin-top:1.25rem}.search-kbd{color:var(--text-muted);font-family:var(--font-mono);background:0 0;border:0;padding:0;font-size:.72rem;line-height:1.3;display:inline-block}.share-buttons{max-width:var(--wide);gap:.75rem;display:grid}.post-footer .share-buttons{padding-top:.25rem}.share-buttons-list{flex-wrap:wrap;gap:.45rem;display:flex}.share-button{border:1px solid var(--line);min-height:2rem;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.7rem;text-decoration:none;display:inline-flex}.share-button:hover{border-color:var(--accent-strong);color:var(--accent-strong)}.newsletter-signup-title{margin:0 0 .75rem;font-size:1rem}.related-posts-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.related-posts-list a{color:var(--ink);gap:.2rem;padding:0;text-decoration:none;display:grid}.related-posts-list a:hover strong{color:var(--accent-strong)}.related-posts-list span{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.newsletter-signup{border-top:1px solid var(--line);margin-top:clamp(2.5rem,5vw,4rem)}.newsletter-signup-inner{width:min(var(--wide), calc(100% - var(--page-pad)));margin:0 auto;padding:clamp(1.75rem,4vw,2.5rem) 0}.newsletter-signup-copy{color:var(--text-muted);max-width:48ch;margin:0 0 1rem}.about-hero-grid{grid-template-columns:clamp(8rem,13vw,10rem) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3.5vw,2.5rem);min-height:0;padding-block:clamp(1.25rem,4vw,2.5rem);display:grid}.about-avatar{aspect-ratio:1;background:var(--surface-muted);border:0;border-radius:0;place-items:center;width:100%;display:grid;overflow:hidden}.about-avatar img{object-fit:cover;width:100%;height:100%}.about-avatar-initials{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.08em;font-size:1.1rem}.about-role{max-width:58ch;color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;margin:.55rem 0 0;font-size:.78rem}.about-hero .lede{max-width:54ch;margin-top:clamp(1rem,2vw,1.35rem);font-size:clamp(1.08rem,1.7vw,1.2rem)}.contact-content p,.about-content p{max-width:62ch}.about-content section{margin-top:clamp(1rem,3vw,2rem)}.about-introduction{gap:.9rem;display:grid;margin-top:0!important}.about-introduction p{margin:0}.about-opening{color:var(--ink);font-size:clamp(1.08rem,1.7vw,1.22rem);line-height:1.58}.about-section-heading h2,.about-personal h2{margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem)}.about-principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2vw,1.1rem);margin-top:1rem;display:grid}.about-principles-grid article{background:color-mix(in oklch, var(--surface-muted) 88%, var(--accent-soft));min-width:0;padding:clamp(1rem,2.5vw,1.35rem)}.about-principles-grid h3{color:var(--ink);margin:0 0 .55rem;font-size:1rem;line-height:1.3}.about-principles-grid p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.about-section-heading .eyebrow{margin-bottom:.45rem}.about-principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-personal{scroll-margin-top:calc(var(--header-offset) + 1.5rem);padding-top:clamp(1rem,2vw,1.5rem)}.about-personal p{margin-bottom:0}.about-topics h2{margin:2rem 0 .75rem;font-size:1.15rem}.about-topics ul{max-width:62ch;margin:.75rem 0 1rem;padding-left:1.25rem}.about-topics li{color:var(--text-muted);margin-bottom:.35rem}.about-topics li::marker{color:var(--accent-strong)}.contact-actions,.about-links{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.series-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.35rem);margin-top:clamp(1rem,2vw,1.5rem);display:grid}.series-item{background:color-mix(in oklch, var(--surface-alpha) 62%, var(--accent-soft));isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:clamp(13rem,24vw,16rem);padding:clamp(1.15rem,3vw,1.55rem);transition:background .16s;display:flex;position:relative;overflow:hidden}.series-item>:not(.procedural-background){z-index:1;position:relative}.series-item:hover{background:color-mix(in oklch, var(--surface-alpha) 52%, var(--accent-soft))}.series-item .procedural-background-card{opacity:1;inset:0}.series-item .procedural-background-card:after{background:linear-gradient(90deg, color-mix(in oklch, var(--bg) 72%, var(--accent-soft)) 0%, color-mix(in oklch, var(--bg) 48%, transparent) 56%, color-mix(in oklch, var(--accent-soft) 16%, transparent) 100%), linear-gradient(180deg, color-mix(in oklch, var(--accent-soft) 24%, transparent) 0%, color-mix(in oklch, var(--bg) 58%, transparent) 62%, color-mix(in oklch, var(--bg) 66%, var(--accent-soft)) 100%)}.series-item .procedural-background-card canvas{opacity:calc(var(--procedural-opacity,.82) * .58)}.series-item-title{margin:0 0 .5rem;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.2}.series-item-title a{color:var(--ink);text-decoration:none}.series-item-title a:hover{color:var(--accent-strong)}.series-item-description{color:var(--text);margin:0 0 .65rem;font-size:.95rem;line-height:1.55}.series-item-meta{color:var(--text-muted);font-family:var(--font-mono);margin:0;font-size:.72rem}.series-item-footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.45rem 1rem;display:flex}.series-item-link{color:var(--accent-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-decoration:none}.series-item-link:hover{text-decoration:underline}.series-section{margin-top:clamp(2.5rem,5vw,4rem)}.series-section h2{margin-top:0;font-size:clamp(1.5rem,2.5vw,2rem)}.series-section-intro{color:var(--text-muted);max-width:55ch;margin:0 0 clamp(1rem,2vw,1.5rem);font-size:.95rem}.standalone-posts{margin-top:clamp(2rem,4vw,3rem)}.standalone-posts-grid{gap:clamp(1.5rem,3vw,2rem);margin-top:clamp(.75rem,1.5vw,1rem);display:grid}.home-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.home-featured-grid .post-card{background:color-mix(in oklch, var(--surface) 88%, var(--accent-soft));align-content:start;padding:1rem}.home-featured-grid .post-card-title{font-size:clamp(1.18rem,1.8vw,1.5rem)}@media (width<=820px){.home-hero-grid,.about-hero-grid,.home-section-heading,.home-ai-focus{grid-template-columns:1fr}.home-hero-grid,.about-hero-grid,.resume-hero-grid{gap:2rem;min-height:auto}.home-hero-grid{padding-block:clamp(2rem,8vw,4rem)}.availability-card{width:min(100%,32rem)}.home-featured-grid{grid-template-columns:1fr}}@media (width<=600px){.home-ai-posts{grid-template-columns:1fr}.home-ai-posts .post-card{min-height:15rem}}@media (width<=660px){.series-list{grid-template-columns:1fr}}.all-posts-list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.all-posts-list li{max-width:none;margin:0}.all-posts-list a{color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding:.75rem 0;text-decoration:none;display:flex}.all-posts-list a:hover strong{color:var(--accent-strong)}.all-posts-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.all-posts-series{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:500;line-height:1.35}.all-posts-title{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;display:flex}.all-posts-title strong{font-family:var(--font-body);font-size:1rem;font-weight:600}.all-posts-part{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.all-posts-meta{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;flex-shrink:0;gap:.35rem .65rem;font-size:.72rem;display:flex}.all-posts-more{color:var(--accent-strong);font-family:var(--font-mono);margin-top:1.25rem;font-size:.78rem;text-decoration:none;display:inline-block}.all-posts-more:hover{text-decoration:underline}@media (width<=600px){.all-posts-list a{flex-direction:column;gap:.25rem}}.comments-section{margin-top:.5rem}@media (width<=760px){.about-hero-grid,.about-principles-grid{grid-template-columns:1fr}}@media (width<=940px){.about-page{display:block}.about-shell{grid-template-columns:1fr;display:grid}.about-contact-rail{grid-area:1/1;margin-top:0;position:static}.about-content{grid-area:2/1}}.theme-lab[data-astro-cid-vtu2fw4o]{z-index:40;pointer-events:none;position:fixed;inset:0}.theme-lab[data-astro-cid-vtu2fw4o][data-open=true]{pointer-events:auto}.theme-lab-panel[data-astro-cid-vtu2fw4o]{border:1px solid var(--line-strong);background:var(--surface-alpha);width:min(320px,100vw - 24px);color:var(--text);box-shadow:0 18px 48px color-mix(in oklch, var(--ink) 16%, transparent);backdrop-filter:blur(10px);font-family:var(--font-body);font-size:.82rem;position:fixed;bottom:clamp(12px,2vw,20px);right:clamp(12px,2vw,20px)}.theme-lab-header[data-astro-cid-vtu2fw4o],.theme-lab-footer[data-astro-cid-vtu2fw4o]{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.theme-lab-header[data-astro-cid-vtu2fw4o]{border-bottom:1px solid var(--line)}.theme-lab-footer[data-astro-cid-vtu2fw4o]{border-top:1px solid var(--line)}.theme-lab-title[data-astro-cid-vtu2fw4o]{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.theme-lab-hint[data-astro-cid-vtu2fw4o]{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:.2rem;margin:.2rem 0 0;font-size:.62rem;display:flex}.theme-lab-hint[data-astro-cid-vtu2fw4o] kbd[data-astro-cid-vtu2fw4o]{border:1px solid var(--line);background:var(--surface-muted);min-width:1.1rem;color:var(--text-muted);font-family:inherit;font-size:inherit;text-align:center;padding:.05rem .25rem;line-height:1.3;display:inline-block}.theme-lab-header-actions[data-astro-cid-vtu2fw4o]{align-items:center;gap:.45rem;display:flex}.theme-lab-mode[data-astro-cid-vtu2fw4o]{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:.15rem .4rem;font-size:.62rem;font-weight:500}.theme-lab-close[data-astro-cid-vtu2fw4o]{width:1.6rem;height:1.6rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.theme-lab-close[data-astro-cid-vtu2fw4o]:hover{color:var(--accent-strong)}.theme-lab-body[data-astro-cid-vtu2fw4o]{gap:.85rem;max-height:min(52vh,26rem);padding:.75rem .85rem;display:grid;overflow:auto}.theme-lab-group[data-astro-cid-vtu2fw4o]{border:0;margin:0;padding:0}.theme-lab-group[data-astro-cid-vtu2fw4o] legend[data-astro-cid-vtu2fw4o]{color:var(--accent-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.45rem;font-size:.62rem;font-weight:500}.theme-lab-presets[data-astro-cid-vtu2fw4o]{flex-wrap:wrap;gap:.35rem;display:flex}.theme-lab-preset[data-astro-cid-vtu2fw4o]{border:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:.28rem .5rem;font-size:.62rem;line-height:1.3}.theme-lab-preset[data-astro-cid-vtu2fw4o]:hover{border-color:var(--accent-border);color:var(--accent-strong)}.theme-lab-preset[data-astro-cid-vtu2fw4o][data-active=true]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.theme-lab-field[data-astro-cid-vtu2fw4o]{color:var(--text);grid-template-columns:1fr auto;align-items:center;gap:.45rem .65rem;margin-bottom:.55rem;font-size:.78rem;display:grid}.theme-lab-field[data-astro-cid-vtu2fw4o] span[data-astro-cid-vtu2fw4o]{color:var(--text-muted)}.theme-lab-field[data-astro-cid-vtu2fw4o] input[data-astro-cid-vtu2fw4o][type=range],.theme-lab-field[data-astro-cid-vtu2fw4o] select[data-astro-cid-vtu2fw4o]{width:100%;accent-color:var(--accent);margin:0}.theme-lab-field[data-astro-cid-vtu2fw4o] select[data-astro-cid-vtu2fw4o]{border:1px solid var(--line);background:var(--surface-muted);color:var(--text);font:inherit;padding:.25rem .35rem}.theme-lab-button[data-astro-cid-vtu2fw4o]{border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:.35rem .65rem;font-size:.68rem}.theme-lab-button[data-astro-cid-vtu2fw4o]:hover{border-color:var(--accent-border);color:var(--accent-strong)}.theme-lab-button-primary[data-astro-cid-vtu2fw4o]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}
