@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:light;--ink:#171712;--ink-soft:#403f35;--muted:#706e61;--accent:#b9843b;--accent-ink:#171712;--accent-readable:color-mix(in srgb, var(--accent) 68%, var(--ink));--accent-tint:#b8aa8a;--surface-accent-strength:20%;--canvas:color-mix(in srgb, #f1eee2, var(--accent-tint) calc(var(--surface-accent-strength) * .45));--surface:color-mix(in srgb, #e4dfcd, var(--accent-tint) var(--surface-accent-strength));--surface-soft:color-mix(in srgb, #f7f4e8, var(--accent-tint) var(--surface-accent-strength));--surface-strong:color-mix(in srgb, #d7cfb9, var(--accent-tint) calc(var(--surface-accent-strength) * 1.2));--line:color-mix(in srgb, #c6bea8, var(--accent-tint) calc(var(--surface-accent-strength) * 1.1));--line-strong:color-mix(in srgb, #8a806d, var(--accent-tint) calc(var(--surface-accent-strength) * 1.4));--panel-bg:var(--surface);--panel-hover:color-mix(in srgb, #efe8d8, var(--accent-tint) calc(var(--surface-accent-strength) * 1.35));--active-fill:color-mix(in srgb, #ddd1b7, var(--accent-tint) calc(var(--surface-accent-strength) * 1.6));--grid-line:color-mix(in srgb, var(--accent) 18%, transparent);--grid-line-soft:color-mix(in srgb, var(--accent) 9%, transparent);--grid-size:28px;--grid-half-size:14px;--grid-large-size:56px;--grid-parallax-y:0px;--shadow:0 24px 70px #17171229;--sidebar-width:292px;--sidebar-collapsed-width:84px;--sidebar-outer-padding:14px;--sidebar-inner-padding:10px;--sidebar-row-size:34px;--sidebar-row-expanded-size:38px;--sidebar-row-icon-size:22px;--sidebar-row-gap:6px;--detail-main-width:780px;--detail-shell-width:1040px;--detail-toc-width:220px;--radius:8px;--ease:cubic-bezier(.2, .8, .2, 1);--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=black]{color-scheme:dark;--ink:#f1eedf;--ink-soft:#d6cfbb;--muted:#9e967f;--accent-ink:#050504;--accent-readable:color-mix(in srgb, var(--accent) 58%, var(--ink));--accent-tint:#4b4432;--canvas:color-mix(in srgb, #060604, var(--accent-tint) calc(var(--surface-accent-strength) * .45));--surface:color-mix(in srgb, #16150f, var(--accent-tint) var(--surface-accent-strength));--surface-soft:color-mix(in srgb, #211f16, var(--accent-tint) var(--surface-accent-strength));--surface-strong:color-mix(in srgb, #2c291d, var(--accent-tint) calc(var(--surface-accent-strength) * 1.2));--line:color-mix(in srgb, #4b4432, var(--accent-tint) calc(var(--surface-accent-strength) * 1.1));--line-strong:color-mix(in srgb, #978b69, var(--accent-tint) calc(var(--surface-accent-strength) * 1.4));--panel-bg:var(--surface);--panel-hover:color-mix(in srgb, #252318, var(--accent-tint) calc(var(--surface-accent-strength) * 1.35));--active-fill:color-mix(in srgb, #302d1f, var(--accent-tint) calc(var(--surface-accent-strength) * 1.6));--grid-line:color-mix(in srgb, var(--accent) 27%, transparent);--grid-line-soft:color-mix(in srgb, var(--accent) 14%, transparent);--shadow:0 24px 70px #00000075}@supports (color:AccentColor){:root:not([data-accent=custom]){--accent:AccentColor}}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;line-height:1.55}html.toc-scrolling{scroll-behavior:smooth}body{isolation:isolate;background:var(--canvas);min-width:320px;min-height:100vh;margin:0;position:relative}.background-grid{z-index:-1;pointer-events:none;background:linear-gradient(90deg, var(--grid-line-soft) 1px, transparent 1px) 0 0 / var(--grid-size) var(--grid-size), linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px) 0 0 / var(--grid-size) var(--grid-size);backface-visibility:hidden;contain:strict;transform:translate3d(0, var(--grid-parallax-y), 0);will-change:transform;position:fixed;inset:-44px}:root[data-grid-pattern=dots] .background-grid{background:radial-gradient(circle, var(--grid-line) 0 1.15px, transparent 1.35px) 0 0 / var(--grid-size) var(--grid-size), radial-gradient(circle, var(--grid-line-soft) 0 .95px, transparent 1.15px) var(--grid-half-size) var(--grid-half-size) / var(--grid-size) var(--grid-size)}:root[data-grid-pattern=plus] .background-grid{background:var(--grid-line);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' shape-rendering='crispEdges'%3E%3Cpath fill='white' d='M14 10h1v4h4v1h-4v4h-1v-4h-4v-1h4z'/%3E%3C/svg%3E");-webkit-mask-position:0 0;-webkit-mask-repeat:repeat;-webkit-mask-size:var(--grid-size) var(--grid-size);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' shape-rendering='crispEdges'%3E%3Cpath fill='white' d='M14 10h1v4h4v1h-4v4h-1v-4h-4v-1h4z'/%3E%3C/svg%3E");mask-position:0 0;mask-repeat:repeat;mask-size:var(--grid-size) var(--grid-size)}:root[data-grid-pattern=crosshatch] .background-grid{background:linear-gradient(45deg, transparent 48%, var(--grid-line-soft) 49%, var(--grid-line-soft) 51%, transparent 52%) 0 0 / var(--grid-large-size) var(--grid-large-size), linear-gradient(-45deg, transparent 48%, var(--grid-line-soft) 49%, var(--grid-line-soft) 51%, transparent 52%) var(--grid-half-size) 0 / var(--grid-large-size) var(--grid-large-size)}:root[data-grid-pattern=diagonal] .background-grid{background:repeating-linear-gradient(135deg, transparent 0 15px, var(--grid-line-soft) 15px 16px, transparent 16px 30px) 0 0 / var(--grid-large-size) var(--grid-large-size), repeating-linear-gradient(135deg, transparent 0 27px, var(--grid-line) 27px 28px, transparent 28px 56px) var(--grid-half-size) 0 / var(--grid-large-size) var(--grid-large-size)}:root[data-grid-pattern=circuit] .background-grid{background:radial-gradient(circle at 0 0, var(--grid-line) 0 1.35px, transparent 1.55px) 0 0 / var(--grid-large-size) var(--grid-large-size), radial-gradient(circle at 100% 50%, var(--grid-line-soft) 0 1.15px, transparent 1.35px) 0 0 / var(--grid-large-size) var(--grid-large-size), linear-gradient(90deg, var(--grid-line-soft) 1px, transparent 1px) 0 0 / var(--grid-large-size) var(--grid-half-size), linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px) 0 0 / var(--grid-half-size) var(--grid-large-size)}:root[data-grid-pattern=scanlines] .background-grid{background:linear-gradient(0deg, var(--grid-line-soft) 1px, transparent 1px) 0 0 / 100% 9px, linear-gradient(90deg, transparent 47%, var(--grid-line-soft) 48%, var(--grid-line-soft) 52%, transparent 53%) 0 0 / var(--grid-large-size) var(--grid-large-size)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input{font:inherit}button{color:inherit}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hover-group{--hover-group-x:0px;--hover-group-y:0px}.hover-group:is(:hover,:focus-within)>.hover-group__target{transform:translate(var(--hover-group-x), var(--hover-group-y))}::selection{background:var(--accent);color:var(--accent-ink)}.sr-only,.skip-link:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:60;background:var(--ink);color:var(--canvas);border:1px solid var(--accent);padding:10px 14px;position:fixed;top:14px;left:14px}.site-frame{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .26s var(--ease);display:grid}.sidebar-collapsed .site-frame{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.site-main{width:min(1120px, calc(100vw - var(--sidebar-width) - 56px));transition:width .26s var(--ease);margin:0 auto;padding:48px 28px 80px}.sidebar-collapsed .site-main{width:min(1120px, calc(100vw - var(--sidebar-collapsed-width) - 56px))}.site-sidebar{z-index:30;min-width:0;height:100vh;padding:var(--sidebar-outer-padding);transition:width .24s var(--ease);position:sticky;top:0}.sidebar-panel{width:calc(var(--sidebar-width) - (var(--sidebar-outer-padding) * 2));height:100%;padding:var(--sidebar-inner-padding);background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px);isolation:isolate;transition:background-color .22s var(--ease), border-color .22s var(--ease), gap .24s var(--ease), padding .26s var(--ease), width .24s var(--ease), box-shadow .24s var(--ease);view-transition-name:sidebar-shell;grid-template-rows:auto 1fr auto;gap:16px;display:grid;overflow:visible}.sidebar-header{grid-template-columns:var(--sidebar-row-size);min-height:var(--sidebar-row-size);align-items:center;display:grid;position:relative}.sidebar-action-button{width:var(--sidebar-row-size);height:var(--sidebar-row-size);border:1px solid var(--line);cursor:pointer;transition:background-color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);background:0 0;place-items:center;padding:0;display:grid;position:relative}.sidebar-action-button:hover{border-color:var(--accent-readable);background:color-mix(in srgb, var(--accent-readable) 16%, transparent)}.sidebar-collapsed .sidebar-toggle{justify-self:start;margin-left:0}.sidebar-nav{flex-direction:column;gap:8px;min-height:0;margin-inline-end:-3px;padding-inline-end:3px;display:flex;overflow:hidden auto}.nav-group{border-color:#0000;border-block-start:1px solid color-mix(in srgb, var(--ink) 12%, transparent);transition:background-color .18s var(--ease), border-color .18s var(--ease);position:relative}.sidebar-row{--sidebar-row-hover-x:3px;grid-template-columns:var(--sidebar-row-icon-size) minmax(0, 1fr) auto;min-height:var(--sidebar-row-expanded-size);padding:8px var(--sidebar-row-gap);color:var(--ink-soft);transition:background-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), gap .24s var(--ease), grid-template-columns .24s var(--ease), min-height .24s var(--ease), padding .24s var(--ease), transform .18s var(--ease);border:1px solid #0000;align-items:center;gap:10px;text-decoration:none;display:grid;position:relative;overflow:visible;transform:translate(0);box-shadow:inset 0 0 0 1px #0000}.sidebar-row__content{grid-template-columns:subgrid;gap:inherit;grid-column:1/-1;align-items:center;min-width:0;display:grid}.sidebar-row__label{opacity:1;min-width:0;transition:opacity .16s var(--ease), transform .22s var(--ease);overflow:hidden;transform:translate(0)}.sidebar-row--group{font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;font-size:.7rem;list-style:none}:root:not(.sidebar-collapsed) .sidebar-row--group,.sidebar-collapsed.sidebar-overlay-open .site-sidebar .sidebar-row--group{color:var(--muted)}.sidebar-row--group::-webkit-details-marker{display:none}.sidebar-row:hover{color:var(--ink);background:var(--panel-hover);box-shadow:inset 0 0 0 1px var(--line-strong)}.sidebar-row:is(:hover,:focus-visible){transform:translateX(var(--sidebar-row-hover-x))}.sidebar-row__hit-area{z-index:3;position:absolute;inset:0}.sidebar-row:is(:hover,:focus-visible)>.sidebar-row__hit-area{transform:translateX(calc(0px - var(--sidebar-row-hover-x)))}.sidebar-row__icon{width:var(--sidebar-row-icon-size);height:var(--sidebar-row-icon-size);justify-self:center;place-items:center;display:grid}.sidebar-row__icon .semantic-icon,.sidebar-row__icon .group-toggle-icon{transition:opacity .12s var(--ease), transform .18s var(--ease);grid-area:1/1;place-self:center}.sidebar-row__icon .semantic-icon{color:currentColor}.nav-group .group-toggle-icon{color:currentColor;opacity:0;transform-box:border-box;transform-origin:50%;visibility:hidden;width:16px;height:16px;transform:rotate(0)}.nav-group[open]:not(.is-collapsing) .group-toggle-icon,.nav-group.is-expanding .group-toggle-icon{transform:rotate(90deg)}.sidebar-row--group:hover .semantic-icon:not(.group-toggle-icon),.sidebar-row--group:focus-visible .semantic-icon:not(.group-toggle-icon){opacity:0;visibility:hidden;transform:scale(.72)}.sidebar-row--group:hover .group-toggle-icon,.sidebar-row--group:focus-visible .group-toggle-icon{opacity:1;visibility:visible}.nav-items{opacity:1;transform-origin:0 0;transition:gap .24s var(--ease), height .26s var(--ease), opacity .2s var(--ease), padding-top .26s var(--ease), padding-bottom .26s var(--ease), transform .26s var(--ease);grid-template-rows:1fr;gap:4px;padding:2px 0 8px;display:grid;overflow:visible;transform:translateY(0)scaleY(1)}.nav-group:not([open]):not(.is-expanding) .nav-items{pointer-events:none;opacity:0;visibility:hidden;height:0;padding-block:0;overflow:hidden;transform:translateY(-4px)scaleY(.96)}.nav-group.is-collapsing .nav-items{opacity:0;padding-block:0;overflow:hidden;transform:translateY(-4px)scaleY(.96)}.nav-group.is-expanding .nav-items{opacity:1;visibility:visible;overflow:hidden;transform:translateY(0)scaleY(1)}.nav-item{isolation:isolate;color:var(--ink-soft)}.nav-item:before{z-index:2;background:var(--accent-readable);content:"";opacity:0;width:3px;transition:opacity .18s var(--ease), transform .18s var(--ease);position:absolute;inset:7px auto 7px 0;transform:scaleY(.2)}.nav-item:after{z-index:0;pointer-events:none;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent-readable) 10%, transparent) 28%, color-mix(in srgb, var(--accent-readable) 24%, transparent) 48%, color-mix(in srgb, var(--accent-readable) 8%, transparent) 64%, transparent 100%);content:"";opacity:0;transform-origin:0;will-change:opacity, transform;position:absolute;inset:4px 5px;transform:translate(-30%)scaleX(.38)}.nav-item>.sidebar-row__content>.sidebar-row__icon,.nav-item>.sidebar-row__content>.sidebar-row__label,.nav-item>.sidebar-row__content>.external-link-icon{z-index:1;position:relative}.nav-item.is-active{color:var(--ink);background:var(--active-fill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 58%, var(--line-strong));animation:nav-active-in .26s var(--ease) both}.nav-item.is-selection-entering{animation:nav-selection-enter .36s var(--ease) both}.nav-item.is-selection-entering:after{animation:nav-selection-sweep .46s var(--ease) both}.nav-item.is-selection-leaving{animation:nav-selection-leave .22s var(--ease) both}.nav-item.is-active:before{opacity:1;transform:scaleY(1)}.accent-panel{border-top:1px solid color-mix(in srgb, var(--ink) 14%, transparent);gap:8px;padding-top:14px;display:grid}.surface-controls{grid-template-columns:minmax(0, 1fr) var(--sidebar-row-expanded-size);transition:gap .24s var(--ease), grid-template-columns .24s var(--ease);align-items:center;gap:6px;display:grid}.surface-control--theme{grid-column:1/-1}.surface-control{min-width:0;min-height:var(--sidebar-row-expanded-size);color:var(--ink-soft);background:color-mix(in srgb, var(--surface-soft) 50%, transparent);border:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), gap .24s var(--ease), grid-template-columns .24s var(--ease), min-height .24s var(--ease), padding .24s var(--ease), transform .18s var(--ease);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 9px;font-size:.7rem;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000}.surface-control:hover,.surface-control:focus-within{color:var(--ink);background:var(--panel-hover);border-color:var(--line-strong)}.surface-control:focus-within{outline:2px solid var(--accent);outline-offset:2px}.surface-control--theme[aria-pressed=true],.surface-control--theme[aria-pressed=mixed],.surface-control--accent{border-color:color-mix(in srgb, var(--accent-readable) 42%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 20%, transparent)}.surface-control__icon{--semantic-icon-size:18px;grid-area:1/1;place-items:center;width:18px;height:18px;display:grid}.surface-control__icon svg,.surface-control--reset svg{width:16px;height:16px}.surface-control__icon--dark,.surface-control__icon--system{opacity:0;transform:scale(.72)rotate(-18deg)}:root[data-theme-mode=black] .surface-control__icon--light,:root[data-theme-mode=system] .surface-control__icon--light{opacity:0;transform:scale(.72)rotate(18deg)}:root[data-theme-mode=black] .surface-control__icon--dark,:root[data-theme-mode=system] .surface-control__icon--system{opacity:1;transform:scale(1)rotate(0)}.surface-control__icon--light,.surface-control__icon--dark,.surface-control__icon--system{transition:opacity .18s var(--ease), transform .18s var(--ease)}.surface-control__label{opacity:1;text-align:start;text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:opacity .16s var(--ease), transform .22s var(--ease);justify-self:start;overflow:hidden;transform:translate(0)}.surface-control__swatch{background:linear-gradient(90deg, transparent 45%, color-mix(in srgb, var(--ink) 22%, transparent) 45% 55%, transparent 55%), linear-gradient(0deg, transparent 45%, color-mix(in srgb, var(--ink) 22%, transparent) 45% 55%, transparent 55%), var(--accent-preview,var(--accent));border:1px solid color-mix(in srgb, var(--ink) 24%, transparent);width:18px;height:18px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--canvas) 80%, transparent)}.surface-control--accent input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.surface-control--reset{grid-template-columns:1fr;place-items:center;padding:0}.arrow-icon{--semantic-icon-size:100%;width:24px;height:24px;color:var(--accent-readable);transition:opacity .18s var(--ease), transform .18s var(--ease), color .18s var(--ease);flex:none;place-items:center;line-height:0;display:inline-grid;position:relative}.arrow-icon .semantic-icon__svg{stroke-width:2px}:root:not([data-arrow-style]) .semantic-icon__svg[data-icon-style=tabler],:root[data-arrow-style=tabler] .semantic-icon__svg[data-icon-style=tabler],:root[data-arrow-style=lucide] .semantic-icon__svg[data-icon-style=lucide],:root[data-arrow-style=phosphor] .semantic-icon__svg[data-icon-style=phosphor],:root[data-arrow-style=remix] .semantic-icon__svg[data-icon-style=remix],:root[data-arrow-style=fluent] .semantic-icon__svg[data-icon-style=fluent],:root[data-arrow-style=pixelart] .semantic-icon__svg[data-icon-style=pixelart]{display:block}.arrow-icon--inline{width:20px;height:20px}.menu-icon{--semantic-icon-size:22px;width:22px;height:22px;color:var(--accent-readable);transition:color .18s var(--ease), transform .18s var(--ease);place-items:center;line-height:0;display:inline-grid}.menu-icon svg{stroke-width:2px;width:100%;height:100%}.sidebar-action-button:hover .menu-icon{transform:scale(1.04)}.external-link-icon{--semantic-icon-size:15px;width:15px;min-width:0;height:15px;color:var(--muted);opacity:1;transition:opacity .16s var(--ease), transform .22s var(--ease), width .22s var(--ease);place-items:center;display:inline-grid;overflow:hidden;transform:translate(0)}.external-link-icon svg{width:100%;height:100%}.semantic-icon{width:var(--semantic-icon-size,16px);height:var(--semantic-icon-size,16px);place-items:center;line-height:0;display:inline-grid}.semantic-icon__svg{width:100%;height:100%;display:none}.mobile-menu-button,.sidebar-backdrop{display:none}.eyebrow{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;margin:0 0 10px;font-size:.78rem}.page-header{width:min(100%, var(--detail-main-width));border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:26px}.page-header__back{color:var(--muted);font-family:var(--font-mono);cursor:pointer;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:20px;padding:0;font-size:.78rem;text-decoration:none;display:inline-flex}.page-header__back:hover,.page-header__back:focus-visible{color:var(--ink)}.page-header__back-icon{width:16px;height:16px;transition:transform .18s var(--ease);place-items:center;display:inline-grid}.page-header__back-icon svg{width:100%;height:100%}.page-header__back:hover .page-header__back-icon,.page-header__back:focus-visible .page-header__back-icon{transform:translate(-3px)}.page-header__title-row{text-wrap:balance;width:fit-content;max-width:100%}.page-header__title-row h1{display:inline}.page-header__title-row .eyebrow{color:var(--accent-readable);border-left:2px solid var(--accent-readable);vertical-align:bottom;margin:0 0 0 16px;padding-left:10px;display:inline-block}.page-header h1,.home-hero h1,.empty-state h1{letter-spacing:0;margin:0;font-size:clamp(2.3rem,7vw,6.5rem);line-height:.95}.page-header h1{font-size:clamp(2rem,4.5vw,4.3rem)}.page-header__description,.home-hero__copy>p{color:var(--ink-soft);margin:16px 0 0;font-size:clamp(1rem,1.8vw,1.22rem)}.home-hero__copy>p{max-width:680px}.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:stretch;gap:24px;min-height:min(620px,100vh - 96px);margin-bottom:48px;display:grid}.home-hero__copy{flex-direction:column;justify-content:end;min-height:460px;padding:clamp(24px,5vw,56px) 0;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button-link-group{--hover-group-y:-2px;width:fit-content;display:inline-flex}.button-link{min-height:42px;color:var(--accent-ink);background:var(--accent);border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);justify-content:center;align-items:center;gap:8px;padding:9px 14px;text-decoration:none;display:inline-flex}.button-link-group:is(:hover,:focus-within)>.button-link{box-shadow:0 12px 30px color-mix(in srgb, var(--ink) 18%, transparent)}.button-link--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.button-link--ghost:hover,.button-link--ghost:focus-visible{color:var(--accent-readable);background:color-mix(in srgb, var(--accent-readable) 12%, var(--surface-soft));border-color:var(--accent-readable)}.content-band{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.section-heading{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-bottom:18px;display:grid}.section-heading .eyebrow{grid-column:1/-1;margin:0}.section-heading h2{letter-spacing:0;margin:0;font-size:clamp(1.55rem,3vw,2.5rem)}.section-heading a{color:var(--ink-soft);font-family:var(--font-mono);text-transform:uppercase;font-size:.78rem}.entry-grid,.entry-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.entry-list{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-card{--hover-group-y:-4px;min-width:0}.entry-card__link{height:100%;min-height:260px;color:inherit;background:var(--surface);border:1px solid var(--line);transition:transform .18s var(--ease), border-color .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease);padding:16px;text-decoration:none;display:grid;position:relative;overflow:hidden}.entry-card__arrow{opacity:0;transition:opacity .18s var(--ease), transform .18s var(--ease);position:absolute;top:18px;right:18px;transform:translate(-10px)}.entry-card:is(:hover,:focus-within)>.entry-card__link{border-color:var(--line-strong);background:var(--surface-soft);box-shadow:0 18px 48px color-mix(in srgb, var(--ink) 12%, transparent)}.entry-card:is(:hover,:focus-within) .entry-card__arrow{opacity:1;transform:translate(0)}.entry-card__glyph{--semantic-icon-size:26px;width:36px;height:36px;color:var(--accent-readable);place-items:center;display:inline-grid}.entry-card__thumbnail{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);width:calc(100% + 32px);max-width:none;margin:-16px -16px 0;display:block}.entry-card__meta{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font-size:.72rem;display:flex}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-panel{width:calc(var(--sidebar-collapsed-width) - (var(--sidebar-outer-padding) * 2));padding:var(--sidebar-inner-padding);gap:var(--sidebar-inner-padding);pointer-events:none}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-panel>*{pointer-events:auto}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-header{grid-template-columns:var(--sidebar-row-size);align-content:start;justify-items:start;display:grid}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row__label,:root.sidebar-collapsed:not(.sidebar-overlay-open) .site-sidebar .external-link-icon{opacity:0;pointer-events:none;transform:translate(-8px)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row__label{white-space:nowrap}:root.sidebar-collapsed:not(.sidebar-overlay-open) .site-sidebar .external-link-icon{width:0}:root.sidebar-collapsed:not(.sidebar-overlay-open) .accent-panel{gap:var(--sidebar-row-gap);display:grid}:root.sidebar-collapsed:not(.sidebar-overlay-open) .surface-controls{gap:var(--sidebar-row-gap);grid-template-columns:1fr}:root.sidebar-collapsed:not(.sidebar-overlay-open) .surface-control{width:var(--sidebar-row-size);min-height:var(--sidebar-row-size);grid-template-columns:18px minmax(0,0fr);gap:0;padding:0 7px}:root.sidebar-collapsed:not(.sidebar-overlay-open) .surface-control__label{opacity:0;pointer-events:none;transform:translate(-8px)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-nav{gap:var(--sidebar-row-gap);scrollbar-width:none;margin-right:0;padding:0}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-nav::-webkit-scrollbar{width:0;height:0}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-group{border:1px solid #0000;padding:0}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-group:has(.nav-item.is-active){border-color:color-mix(in srgb, var(--accent-readable) 28%, transparent);background:color-mix(in srgb, var(--accent-readable) 7%, transparent)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row{min-height:var(--sidebar-row-size);grid-template-columns:minmax(0,1fr) minmax(0,0fr) 0fr;gap:0;padding-inline:0}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row--group{position:relative}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row__icon{justify-self:center}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row--group .semantic-icon{transition:opacity .18s var(--ease), transform .18s var(--ease);grid-area:1/1}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row--group .group-toggle-icon{opacity:0;visibility:hidden;grid-area:1/1;transform:rotate(0)scale(.78)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-group[open]:not(.is-collapsing) .group-toggle-icon,:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-group.is-expanding .group-toggle-icon{transform:rotate(90deg)scale(.78)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row--group:hover .semantic-icon:not(.group-toggle-icon){opacity:0;visibility:hidden;transform:scale(.72)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .sidebar-row--group:hover .group-toggle-icon{opacity:1;visibility:visible}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-items{gap:var(--sidebar-row-gap);padding:var(--sidebar-row-gap) 0 0;position:relative}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-item{--sidebar-row-hover-x:0px;border-color:#0000;transform:none}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-item.is-active{color:var(--ink);background:var(--active-fill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 58%, var(--line-strong));border-color:#0000}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-item:before{opacity:0;transform:scaleY(.2)}:root.sidebar-collapsed:not(.sidebar-overlay-open) .nav-item:hover{transform:none}@media (width>=721px){:root.sidebar-collapsed .sidebar-row__label{inline-size:calc(var(--sidebar-width) - (var(--sidebar-outer-padding) * 2) - (var(--sidebar-inner-padding) * 2) - (var(--sidebar-row-gap) * 2) - var(--sidebar-row-icon-size) - 24px)}:root.sidebar-collapsed .sidebar-row:has(>.sidebar-row__content>.external-link-icon)>.sidebar-row__content>.sidebar-row__label{inline-size:calc(var(--sidebar-width) - (var(--sidebar-outer-padding) * 2) - (var(--sidebar-inner-padding) * 2) - (var(--sidebar-row-gap) * 2) - var(--sidebar-row-icon-size) - 39px)}.sidebar-collapsed .site-sidebar{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);transition:none;overflow:visible}.sidebar-collapsed:not(.sidebar-overlay-open) .site-sidebar .surface-control--reset{display:none}.sidebar-collapsed.sidebar-overlay-open .site-sidebar .sidebar-panel{box-shadow:0 24px 80px color-mix(in srgb, var(--ink) 18%, transparent)}}.entry-card h2{letter-spacing:0;margin:14px 0 0;font-size:clamp(1.18rem,2.2vw,1.55rem);line-height:1.1}.entry-card p{color:var(--ink-soft);margin:12px 0 0}.tag-row{flex-wrap:wrap;align-self:end;gap:6px;margin-top:22px;display:flex}.tag-row span{color:var(--ink-soft);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);font-family:var(--font-mono);text-transform:uppercase;padding:3px 7px;font-size:.68rem}.about-direction h2{margin:0 0 12px;font-size:clamp(1.4rem,2.4vw,2.2rem)}.about-direction>p{color:var(--ink-soft);margin:0}.about-direction>p+p{margin-top:1rem}.about-direction a{color:var(--ink);text-decoration-color:var(--accent)}.about-direction a:hover,.about-direction a:focus-visible{color:var(--accent-readable)}.experience-section{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.experience-section__header{margin-bottom:28px}.experience-section__header .eyebrow{margin-bottom:8px}.experience-section__header h2{margin:0;font-size:clamp(1.7rem,3vw,2.8rem)}.experience-section__header>p:last-child{color:var(--ink-soft);margin:12px 0 0}.experience-timeline{margin:0;padding:0;list-style:none}.experience-timeline__item{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 30px 26px;display:grid;position:relative}.experience-timeline__item:before{z-index:1;background:var(--accent);border:2px solid var(--canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent-readable);content:"";position:absolute;top:3px;left:0}.experience-timeline__item:not(:last-child):after{background:var(--line-strong);content:"";width:2px;position:absolute;top:9px;bottom:-9px;left:5px}.experience-timeline__meta{min-height:18px;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:5px 12px;margin:0;font-size:.72rem;line-height:18px;display:flex;transform:translateY(1px)}.experience-timeline__meta span{display:block}.experience-period{white-space:nowrap}.experience-timeline__meta span+span{color:var(--ink-soft);text-transform:none}.experience-card-group{min-width:0}.experience-card{background:var(--surface-soft);border:1px solid var(--line);cursor:pointer;min-width:0;transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);padding:clamp(14px,2vw,18px);position:relative}.experience-card-group:hover .experience-card,.experience-card-group:has(.experience-card__button:focus-visible) .experience-card{background:var(--surface);border-color:var(--line-strong);box-shadow:0 18px 48px color-mix(in srgb, var(--ink) 12%, transparent);transform:translateY(-4px)}.experience-card__organization{color:var(--accent-readable);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.experience-card__organization,.experience-card h3{padding-right:44px}.experience-card h3{margin:8px 0 0;font-size:clamp(1.2rem,2.3vw,1.65rem)}.experience-card>p:not(.experience-card__organization){color:var(--ink-soft);margin:12px 0 0}.experience-card__button{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.experience-card__button:focus-visible{outline-offset:-3px}.experience-card__button-icon{width:34px;height:34px;color:var(--accent-readable);transition:background-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:0 0;position:absolute;top:clamp(14px,2vw,18px);right:clamp(14px,2vw,18px);transform:translate(-4px)}.experience-card__button-icon .semantic-icon{width:18px;height:18px}.experience-card-group:hover .experience-card__button-icon,.experience-card-group:has(.experience-card__button:focus-visible) .experience-card__button-icon{color:var(--accent-ink);background:var(--accent);box-shadow:0 6px 18px color-mix(in srgb, var(--ink) 10%, transparent);transform:translate(0)}html:has(.experience-dialog[open]){overflow:hidden}.experience-dialog{width:min(700px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface-soft);border:1px solid var(--line-strong);opacity:0;transition:opacity .18s var(--ease), transform .22s var(--ease), overlay .22s allow-discrete, display .22s allow-discrete;border-radius:0;margin:auto;padding:0;overflow:hidden;transform:translateY(12px);box-shadow:0 28px 90px #00000047}.experience-dialog[open]{opacity:1;transform:translateY(0)}.experience-dialog::backdrop{backdrop-filter:blur();opacity:0;transition:background-color .22s var(--ease), backdrop-filter .22s var(--ease), opacity .18s var(--ease), overlay .22s allow-discrete, display .22s allow-discrete;background-color:#0000}.experience-dialog[open]::backdrop{backdrop-filter:blur(5px);opacity:1;background-color:#00000061}.experience-dialog__panel{opacity:0;max-height:calc(100dvh - 34px);transition:opacity .16s var(--ease), transform .22s var(--ease);grid-template-rows:auto minmax(0,1fr);display:grid;transform:translateY(8px)}.experience-dialog[open] .experience-dialog__panel{opacity:1;transition-delay:45ms;transform:translateY(0)}@starting-style{.experience-dialog[open]{opacity:0;transform:translateY(12px)}.experience-dialog[open]::backdrop{backdrop-filter:blur();opacity:0;background-color:#0000}.experience-dialog[open] .experience-dialog__panel{opacity:0;transform:translateY(8px)}}.experience-dialog__header{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:clamp(20px,4vw,30px);display:grid}.experience-dialog__header .eyebrow{color:var(--accent-readable);margin:0 0 8px}.experience-dialog__header h3{margin:0;font-size:clamp(1.45rem,3.5vw,2.25rem)}.experience-dialog__meta{color:var(--muted);font-family:var(--font-mono);margin:10px 0 0;font-size:.74rem}.experience-dialog__close{cursor:pointer;border-radius:0;place-items:center;width:42px;height:42px;min-height:42px;padding:0;display:grid}.experience-dialog__header .button-link-group:is(:hover,:focus-within)>.experience-dialog__close{box-shadow:0 3px 10px #00000024}.experience-dialog__body{padding:clamp(20px,4vw,30px);overflow-y:auto}.experience-dialog__body>p{color:var(--ink-soft);margin:0 0 16px;line-height:1.65}.experience-dialog__body>.experience-dialog__summary{color:var(--ink);background:color-mix(in srgb, var(--accent-readable) 10%, var(--surface));border-left:3px solid var(--accent-readable);margin-bottom:24px;padding:14px 16px}.experience-dialog__links{border:0;margin:24px 0 0;padding:0;list-style:none}.detail-shell{width:min(100%, var(--detail-main-width))}.detail-shell--with-toc{grid-template-columns:minmax(0, 1fr) clamp(112px, 18vw, var(--detail-toc-width));width:min(100%, var(--detail-shell-width));gap:clamp(12px,3vw,40px);display:grid}.detail-main{min-width:0;container-type:inline-size}.detail-shell .page-header,.detail-shell .detail-body{width:100%;max-width:none}.table-of-contents{min-width:0;color:var(--ink-soft);background:color-mix(in srgb, var(--surface-soft) 76%, transparent);border:1px solid var(--line);font-family:var(--font-mono);font-size:.75rem}.detail-sidebar{overscroll-behavior:contain;scrollbar-width:thin;align-self:start;gap:12px;max-height:calc(100dvh - 48px);display:grid;position:sticky;top:24px;overflow-y:auto}.detail-toc-lead--mobile{display:none}.table-of-contents--desktop{padding:14px}.table-of-contents--desktop p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.7rem;font-weight:700}.table-of-contents--mobile{interpolate-size:allow-keywords;display:none}.table-of-contents__list{margin:0;padding:0;list-style:none}.table-of-contents__list .table-of-contents__list{border-left:1px solid var(--line);margin:5px 0 0 8px;padding-left:9px}.table-of-contents__list li+li{margin-top:3px}.table-of-contents__link-group{--hover-group-x:2px;display:block}.table-of-contents__list a{color:var(--ink-soft);overflow-wrap:anywhere;transition:color .16s var(--ease), background-color .16s var(--ease), transform .16s var(--ease);padding:5px 6px;text-decoration:none;display:block}.table-of-contents__link-group:hover>a,.table-of-contents__list a:focus-visible{color:var(--accent-readable);background:color-mix(in srgb, var(--accent-readable) 10%, transparent)}.detail-meta{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;gap:10px;margin-bottom:28px;font-size:.78rem;display:flex}.prose{color:var(--ink-soft);font-size:1.04rem}.prose h2,.prose h3{color:var(--ink);letter-spacing:0}.detail-body :is(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:24px}.detail-body :is(h1,h2,h3,h4,h5,h6)[id]:not(dialog *){position:relative}.heading-reference{z-index:1;top:var(--heading-reference-y,.7em);left:var(--heading-reference-x,-44px);width:36px;height:36px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);box-shadow:0 8px 18px color-mix(in srgb, var(--ink) 10%, transparent);cursor:pointer;opacity:0;transition:color .16s var(--ease), opacity .16s var(--ease), transform .16s var(--ease);place-items:center;padding:0;display:inline-grid;position:absolute;transform:translateY(-50%)}.detail-body :is(h1,h2,h3,h4,h5,h6)[id]:not(dialog *):hover .heading-reference,.heading-reference:hover,.heading-reference:focus-visible{opacity:1}.heading-reference:hover,.heading-reference:focus-visible,.heading-reference.is-copied{color:var(--accent-readable);border-color:var(--accent-readable);background:color-mix(in srgb, var(--accent-readable) 12%, var(--surface-soft))}.heading-reference__icon,.heading-reference__check{transition:opacity .12s var(--ease), transform .18s var(--ease);grid-area:1/1}.heading-reference__icon{place-items:center;width:20px;height:20px;display:inline-grid}.heading-reference__check{opacity:0;width:20px;height:20px;transform:scale(.5)}.heading-reference.is-copied .heading-reference__icon{opacity:0;transform:scale(.6)}.heading-reference.is-copied .heading-reference__check{opacity:1;transform:scale(1)}.prose h2{border-top:1px solid var(--line);margin-top:2.4em;padding-top:.8em;font-size:1.7rem}.prose h3{margin-top:1.8em;font-size:1.25rem}.prose a{color:var(--ink);text-decoration-color:var(--accent)}.prose code{background:color-mix(in srgb, var(--ink) 8%, transparent);font-family:var(--font-mono);padding:.12em .3em;font-size:.9em}.prose pre{border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);padding:18px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose blockquote{color:var(--ink);border-left:3px solid var(--accent);margin-left:0;padding-left:18px}.prose video{background:var(--surface-soft);border:1px solid var(--line);width:100%;max-width:100%;margin:24px 0;display:block}.link-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px;margin:0 0 28px;padding-bottom:18px;display:flex}.link-strip__item{--hover-group-y:-2px;display:inline-flex}.link-strip a{color:var(--ink);border:1px solid var(--line-strong);transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:inline-flex}.link-strip__item:hover>a,.link-strip a:focus-visible{color:var(--accent-readable);background:color-mix(in srgb, var(--accent-readable) 12%, var(--surface-soft));border-color:var(--accent-readable);box-shadow:0 8px 18px color-mix(in srgb, var(--ink) 10%, transparent)}.link-strip__item:hover .external-link-icon,.link-strip a:focus-visible .external-link-icon{color:var(--accent-readable);transform:translate(2px,-1px)}.empty-state{align-content:center;justify-items:start;min-height:calc(100vh - 160px);display:grid}.empty-state p:not(.eyebrow){color:var(--ink-soft)}.debug-fab{z-index:55;width:46px;height:46px;color:var(--ink);background:var(--panel-bg);border:1px solid var(--line-strong);box-shadow:var(--shadow);cursor:pointer;place-items:center;display:grid;position:fixed;bottom:18px;right:18px}.debug-fab:hover{border-color:var(--accent-readable);background:var(--panel-hover)}.debug-panel{z-index:56;width:min(320px,100vw - 36px);max-height:calc(100dvh - 92px);color:var(--ink);background:var(--panel-bg);border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:14px;position:fixed;bottom:74px;right:18px;overflow:auto}.debug-panel[hidden]{display:none}.debug-panel header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.debug-panel header .eyebrow{margin:0}.debug-panel button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:32px}.debug-panel button:hover,.debug-panel button[aria-pressed=true]{border-color:var(--accent-readable);background:var(--active-fill)}.debug-panel button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 32%, transparent)}.debug-panel fieldset{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:12px;display:grid}.debug-panel fieldset+fieldset{margin-top:10px}.debug-panel legend{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;padding-inline:6px;font-size:.72rem}.debug-current{color:var(--muted);background:color-mix(in srgb, var(--surface-soft) 54%, transparent);border:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;grid-column:1/-1;margin:0;padding:6px 8px;font-size:.68rem}.debug-current span{color:var(--ink)}.debug-range{font-family:var(--font-mono);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) 3ch;align-items:center;gap:8px;font-size:.72rem;display:grid}.debug-range input{min-width:0}.debug-range output{text-align:right}::view-transition-old(page-content){animation:page-out .18s var(--ease) both}::view-transition-new(page-content){animation:page-in .42s var(--ease) both}::view-transition,::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(root){z-index:0}::view-transition-group(page-content){z-index:1;animation:none}::view-transition-group(sidebar-shell){z-index:8}::view-transition-group(mobile-sidebar-toggle){z-index:9;animation:none}::view-transition-group(mobile-sidebar-backdrop){z-index:7;animation:none}::view-transition-old(sidebar-shell),::view-transition-new(sidebar-shell),::view-transition-old(mobile-sidebar-backdrop),::view-transition-new(mobile-sidebar-backdrop),::view-transition-old(mobile-sidebar-toggle),::view-transition-new(mobile-sidebar-toggle){mix-blend-mode:normal;animation:none}::view-transition-old(sidebar-shell),::view-transition-new(mobile-sidebar-backdrop),::view-transition-new(mobile-sidebar-toggle){opacity:0}::view-transition-new(sidebar-shell),::view-transition-old(mobile-sidebar-backdrop),::view-transition-old(mobile-sidebar-toggle){opacity:1}:root[data-page-direction=down]{--page-enter-y:18px;--page-exit-y:-10px}:root[data-page-direction=up]{--page-enter-y:-18px;--page-exit-y:10px}:root[data-page-direction=same]{--page-enter-y:0px;--page-exit-y:0px}@keyframes page-in{0%{opacity:0;transform:translateY(var(--page-enter-y,18px))}to{opacity:1;transform:translateY(0)}}@keyframes page-out{0%{opacity:1;transform:translateY(var(--page-old-scroll-offset-y,0px))}to{opacity:0;transform:translateY(calc(var(--page-old-scroll-offset-y,0px) + var(--page-exit-y,-10px)))}}@keyframes nav-active-in{0%{box-shadow:inset 0 0 0 0 var(--accent-readable)}to{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 58%, var(--line-strong))}}@keyframes nav-selection-enter{0%{color:var(--ink-soft);background:color-mix(in srgb, var(--active-fill) 24%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 0%, transparent), 0 0 0 color-mix(in srgb, var(--accent-readable) 0%, transparent);transform:translate(0)scale(.992)}58%{color:var(--ink);background:color-mix(in srgb, var(--active-fill) 88%, var(--panel-hover));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 74%, var(--line-strong)), 0 8px 20px color-mix(in srgb, var(--accent-readable) 11%, transparent);transform:translate(2px)scale(1.006)}to{color:var(--ink);background:var(--active-fill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 58%, var(--line-strong)), 0 0 0 color-mix(in srgb, var(--accent-readable) 0%, transparent);transform:translate(0)scale(1)}}@keyframes nav-selection-sweep{0%{opacity:0;transform:translate(-34%)scaleX(.32)}28%{opacity:.74;transform:translate(-8%)scaleX(.68)}68%{opacity:.38;transform:translate(0)scaleX(1)}to{opacity:0;transform:translate(22%)scaleX(.74)}}@keyframes nav-selection-leave{0%{color:var(--ink);background:var(--active-fill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-readable) 58%, var(--line-strong))}to{color:var(--ink-soft);background:0 0;box-shadow:inset 0 0 0 1px #0000}}@media (width<=1040px){.site-main{width:min(900px, calc(100vw - var(--sidebar-width) - 36px));padding-inline:18px}.sidebar-collapsed .site-main{width:min(900px, calc(100vw - var(--sidebar-collapsed-width) - 36px))}.home-hero{grid-template-columns:1fr;min-height:auto}.home-hero__copy{min-height:255px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=721px) and (width<=900px){:root:not(.sidebar-collapsed) .site-main:has(.detail-shell--with-toc){width:100%;padding-inline:12px}.detail-shell--with-toc{grid-template-columns:minmax(0,1fr) 124px;gap:12px}.table-of-contents--desktop{padding:10px}}@media (width<=720px){:root{--grid-size:22px;--grid-half-size:11px;--grid-large-size:44px}:root[data-grid-pattern=plus] .background-grid{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' shape-rendering='crispEdges'%3E%3Cpath fill='white' d='M11 7h1v4h4v1h-4v4h-1v-4h-4v-1h4z'/%3E%3C/svg%3E")}.site-frame,.sidebar-collapsed .site-frame{display:block}.site-main,.sidebar-collapsed .site-main{width:min(100%,680px);padding:76px 16px 64px}.mobile-menu-button{z-index:42;top:calc(var(--sidebar-outer-padding) + 1px + var(--sidebar-inner-padding));left:calc(var(--sidebar-outer-padding) + 1px + var(--sidebar-inner-padding));width:var(--sidebar-row-size);height:var(--sidebar-row-size);color:var(--accent-readable);background:var(--surface);border-color:var(--line);box-shadow:none;view-transition-name:mobile-sidebar-toggle;place-items:center;display:grid;position:fixed}.mobile-menu-button__icon{color:currentColor;width:22px;height:22px;transition:opacity .16s var(--ease), transform .2s var(--ease);grid-area:1/1}.mobile-menu-button__icon--close{opacity:0;transform:rotate(-90deg)scale(.72)}.sidebar-open .mobile-menu-button{background:0 0}.sidebar-open .mobile-menu-button__icon--open{opacity:0;transform:rotate(90deg)scale(.72)}.sidebar-open .mobile-menu-button__icon--close{opacity:1;transform:rotate(0)scale(1)}.site-sidebar{width:var(--sidebar-width);height:100dvh;padding:var(--sidebar-outer-padding);transition:transform .26s var(--ease);position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.sidebar-nav{margin-inline-end:-3px;padding-inline-end:3px;overflow:hidden auto}.sidebar-open .site-sidebar{transform:translate(0)}.sidebar-open .site-sidebar .sidebar-panel{box-shadow:0 24px 80px color-mix(in srgb, var(--ink) 18%, transparent)}.sidebar-backdrop{z-index:29;background:color-mix(in srgb, var(--ink) 38%, transparent);opacity:0;pointer-events:none;transition:opacity .22s var(--ease);view-transition-name:mobile-sidebar-backdrop;display:block;position:fixed;inset:0}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar-collapsed .sidebar-header{grid-template-columns:34px;justify-items:start;display:grid}.sidebar-row__label,.nav-group__label,.nav-item__label,.accent-panel,.sidebar-toggle{display:block}.accent-panel{display:grid}.external-link-icon{display:inline-grid}.sidebar-collapsed .sidebar-row__label,.sidebar-collapsed .nav-group__label,.sidebar-collapsed .nav-item__label,.sidebar-collapsed .accent-panel{display:block}.sidebar-collapsed .accent-panel{display:grid}.sidebar-collapsed .surface-control__label{display:block}.sidebar-collapsed .external-link-icon{display:inline-grid}.arrow-icon{display:inline-block}.site-sidebar .sidebar-toggle{visibility:hidden;pointer-events:none;display:grid}.sidebar-row,.sidebar-collapsed .sidebar-row{grid-template-columns:var(--sidebar-row-icon-size) minmax(0, 1fr) auto;padding-inline:var(--sidebar-row-gap);justify-items:stretch}.sidebar-collapsed .nav-group:has(.nav-item.is-active):before,.sidebar-collapsed .nav-item.is-active:not(.is-selection-entering):after{display:none}.surface-controls,.sidebar-collapsed .surface-controls{grid-template-columns:minmax(0, 1fr) var(--sidebar-row-expanded-size);gap:6px;display:grid}.surface-control,.sidebar-collapsed .surface-control{width:auto;min-height:var(--sidebar-row-expanded-size);place-items:initial;grid-template-columns:18px minmax(0,1fr);align-items:center;padding:0 9px}.surface-control--reset,.sidebar-collapsed .surface-control--reset{grid-template-columns:1fr;place-items:center;padding:0}.page-header{margin-bottom:24px}.detail-shell--with-toc{width:min(100%, var(--detail-main-width));display:block}.table-of-contents--desktop,.detail-sidebar{display:none}.prose{flex-direction:column;display:flex}.prose>:is(h1,h2,h3,h4,h5,h6)[id],.prose>:is(h1,h2,h3,h4,h5,h6)[id]~*{order:2}.prose>.table-of-contents--mobile[data-toc-mobile]{order:1;margin:0 0 8px;display:block}.detail-body--sectioned{flex-direction:column;display:flex}.detail-body--sectioned>.table-of-contents--mobile[data-toc-mobile]{order:-1;margin:0 0 24px;display:block}.detail-body--sectioned>.detail-toc-lead--mobile{order:-2;margin:0 0 12px;display:block}.table-of-contents--mobile::details-content{height:0;transition:height .26s var(--ease), content-visibility .26s allow-discrete;overflow:clip}.table-of-contents--mobile[open]::details-content{height:auto}.table-of-contents--mobile summary{min-height:44px;color:var(--ink);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:8px;font-size:.72rem;font-weight:700;list-style:none;display:flex}.table-of-contents--mobile summary::-webkit-details-marker{display:none}.table-of-contents__chevron{width:16px;height:16px;transition:transform .22s var(--ease);flex:none;transform:rotate(90deg)}.table-of-contents--mobile[open] .table-of-contents__chevron{transform:rotate(-90deg)}.table-of-contents__disclosure{visibility:hidden;opacity:0;transition:opacity .18s var(--ease), transform .22s var(--ease), visibility 0s linear .26s;transform:translateY(-6px)}.table-of-contents--mobile[open] .table-of-contents__disclosure{visibility:visible;opacity:1;transition-delay:0s;transform:translateY(0)}.table-of-contents__disclosure-inner{border-top:1px solid var(--line);min-height:0;overflow:hidden}.table-of-contents__disclosure-inner>.table-of-contents__list{padding:8px}.home-hero__copy{min-height:0;padding-top:18px}.entry-grid,.entry-list{grid-template-columns:1fr}.entry-card__link{min-height:230px}.section-heading{grid-template-columns:1fr}.experience-section{margin-top:44px;padding-top:26px}.experience-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.experience-dialog__panel{max-height:calc(100dvh - 22px)}.experience-dialog__header,.experience-dialog__body{padding:18px}}@media (prefers-reduced-motion:reduce){:root{--grid-parallax-y:0px}*,:before,:after,.table-of-contents--mobile::details-content{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}::view-transition-old(page-content),::view-transition-new(page-content),::view-transition-old(root),::view-transition-new(root){animation:none}}
