@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-paper: oklch(98.41519% .003413 247.8575);--color-panel: oklch(92.87613% .012619 255.5078);--color-surface: oklch(96.82603% .006854 247.8956);--color-rule: oklch(86.89814% .019848 252.8943);--color-ink: oklch(20.76819% .039824 265.7549);--color-secondary: oklch(37.16963% .039156 257.287);--color-muted: oklch(55.4391% .040717 257.4166);--color-accent: oklch(54.61497% .215208 262.8809);--color-visited: oklch(49.06665% .241232 292.5809);--dark-paper: oklch(20.76819% .039824 265.7549);--dark-panel: oklch(37.16963% .039156 257.287);--dark-surface: oklch(27.94952% .036848 260.031);--dark-rule: oklch(44.55331% .037447 257.2808);--dark-ink: oklch(98.41519% .003413 247.8575);--dark-secondary: oklch(86.89814% .019848 252.8943);--dark-muted: oklch(71.06716% .035114 256.7878);--dark-accent: oklch(71.374% .143381 254.624);--dark-visited: oklch(81.11618% .101287 293.5712);--color-focus: var(--color-accent);--color-accent-ink: var(--color-paper);--color-edge: var(--color-muted);--color-clear: transparent;--font-body: "Inter Variable", sans-serif;--font-display: "JetBrains Mono Variable", monospace;--font-mono: var(--font-display);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-reading: 1rem;--text-reading-wide: 1.375rem;--measure: 68ch;--measure-wide: 80ch;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5625rem;--text-2xl: 1.953rem;--text-display: clamp(2.25rem, 4vw, 4rem);--text-home-display: clamp(2.25rem, 6vw, 5.5rem);--text-knowledge: clamp(.875rem, 1.6vw, 1.25rem);--home-width: 1120px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-scene: .52s;--ease-scene: cubic-bezier(.2, .7, .2, 1);--text-scene-display: clamp(2.25rem, 4vw, 3.5rem);--scene-header-height: 4.5rem;--scene-y: 0%;--z-scene-controls: 2;--radius-sm: 4px;--radius-md: 8px;--rule-width: 1px;--ctp-base: var(--color-paper);--ctp-mantle: var(--color-panel);--ctp-crust: var(--color-paper);--ctp-text: var(--color-ink);--ctp-subtext1: var(--color-secondary);--ctp-subtext0: var(--color-muted);--ctp-surface0: var(--color-surface);--ctp-surface1: var(--color-rule);--ctp-surface2: var(--color-muted);--ctp-mauve: var(--color-accent);--ctp-lavender: var(--color-secondary);--ctp-pink: var(--color-visited);--ctp-sapphire: var(--color-secondary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-paper: var(--dark-paper);--color-panel: var(--dark-panel);--color-surface: var(--dark-surface);--color-rule: var(--dark-rule);--color-ink: var(--dark-ink);--color-secondary: var(--dark-secondary);--color-muted: var(--dark-muted);--color-accent: var(--dark-accent);--color-visited: var(--dark-visited)}}:root[data-theme=dark]{--color-paper: var(--dark-paper);--color-panel: var(--dark-panel);--color-surface: var(--dark-surface);--color-rule: var(--dark-rule);--color-ink: var(--dark-ink);--color-secondary: var(--dark-secondary);--color-muted: var(--dark-muted);--color-accent: var(--dark-accent);--color-visited: var(--dark-visited)}*{box-sizing:border-box}html,body{overflow-x:clip}html{color-scheme:light dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:400 var(--text-base)/1.65 var(--font-body)}[hidden]{display:none!important}a{color:var(--color-accent);text-underline-offset:.2em}a:visited{color:var(--color-visited)}a:hover{text-decoration-thickness:2px}a:active{color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}button{font:inherit;color:var(--color-ink);background:var(--color-panel);border:var(--rule-width) solid var(--color-muted);border-radius:var(--radius-sm);min-height:44px;min-width:44px;padding:var(--space-xs) var(--space-sm);cursor:pointer;white-space:nowrap}button:active{transform:translateY(1px)}button:disabled{color:var(--color-muted);cursor:not-allowed;border-color:var(--color-rule)}@media (hover: hover){button:not(:disabled):hover{background:var(--color-surface)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);letter-spacing:-.05em}h2{font-size:var(--text-2xl);letter-spacing:-.035em}h3{font-size:var(--text-lg)}p{color:var(--color-secondary)}img{max-width:100%;height:auto}pre{max-width:100%;overflow:auto;padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}code,pre{font-family:var(--font-mono);font-size:.875em}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style, inherit)!important;font-weight:var(--shiki-dark-font-weight, inherit)!important;text-decoration:var(--shiki-dark-text-decoration, none)!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style, inherit)!important;font-weight:var(--shiki-dark-font-weight, inherit)!important;text-decoration:var(--shiki-dark-text-decoration, none)!important}:not(pre)>code{background:var(--color-surface);color:var(--color-ink);padding:.125em .3em;border-radius:var(--radius-sm);overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--color-rule);margin:var(--space-xl) 0}blockquote{margin-inline:0;padding-inline-start:var(--space-lg);border-inline-start:2px solid var(--color-accent)}.skip-link{position:absolute;left:var(--space-md);top:var(--space-md);transform:translateY(-180%);background:var(--color-paper);padding:var(--space-md);z-index:10}.skip-link:focus{transform:none}.site-rail{border-bottom:1px solid var(--color-rule);padding:var(--space-md)}.rail-brand{display:flex;align-items:center;gap:var(--space-sm)}.rail-brand img{border-radius:50%;width:40px;height:40px;object-fit:cover}.rail-brand a{color:var(--color-ink);font-family:var(--font-display);text-decoration:none;white-space:nowrap}.rail-caption{color:var(--color-muted);font-size:var(--text-sm);margin:var(--space-xs) 0}.site-rail nav ul{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);list-style:none;padding:0;margin:var(--space-md) 0 0}.site-rail nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-secondary);text-decoration:none;white-space:nowrap}.site-rail nav a[aria-current]{color:var(--color-accent);text-decoration:underline}.lang-switch ul{display:flex;flex-direction:row;gap:var(--space-2xs);list-style:none;margin:0;padding:0}.site-rail .lang-switch{margin-top:var(--space-md)}.site-rail .lang-switch ul{flex-direction:row;gap:var(--space-2xs);margin:0;padding:0}.site-rail .lang-switch a,.home-header .lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--space-xs);border:var(--rule-width) solid transparent;border-radius:var(--radius-sm);color:var(--color-secondary);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}@media (hover: hover){.site-rail .lang-switch a:hover,.home-header .lang-switch a:hover{background:var(--color-surface);border-color:var(--color-rule);color:var(--color-ink)}}.site-rail .lang-switch a:active,.home-header .lang-switch a:active{background:var(--color-panel);color:var(--color-ink);transform:translateY(1px)}.site-rail .lang-switch a[aria-current],.home-header .lang-switch a[aria-current]{border-color:var(--color-rule);color:var(--color-accent);text-decoration:none}.site-rail .lang-switch a:focus-visible,.home-header .lang-switch a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-2xs);background:transparent;border-color:transparent;color:var(--color-secondary);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;padding-inline:var(--space-xs)}.theme-toggle__icon{flex:none}.theme-toggle__label{white-space:nowrap}.theme-toggle[aria-pressed=false] .theme-toggle__icon--moon,.theme-toggle[aria-pressed=false] .theme-toggle__label--dark,.theme-toggle[aria-pressed=true] .theme-toggle__icon--sun,.theme-toggle[aria-pressed=true] .theme-toggle__label--light{display:none}@media (hover: hover){.theme-toggle:hover{background:var(--color-surface);border-color:var(--color-rule);color:var(--color-ink)}}.theme-toggle:active{background:var(--color-panel);color:var(--color-ink);transform:translateY(1px)}.theme-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.site-rail .theme-toggle{margin-top:var(--space-md)}.site-main{min-width:0;padding:var(--space-xl) var(--space-md)}.content{max-width:1260px;margin-inline:auto;min-width:0}.site-footer{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:baseline;border-top:1px solid var(--color-rule);padding-top:var(--space-lg);margin-top:var(--space-3xl);font-size:var(--text-sm);color:var(--color-muted)}.site-footer a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.about-intro{max-width:800px;margin-bottom:var(--space-2xl)}.about-intro h1{margin:var(--space-xs) 0 var(--space-lg)}.about-intro .about-lead{font-size:var(--text-lg);max-width:58ch}.about-details{margin-top:var(--space-lg)}.about-details summary{cursor:pointer;min-height:44px;color:var(--color-accent)}.about-details h2{font-size:var(--text-lg)}.about-details h3{font-size:var(--text-base)}.section-intro{margin-bottom:var(--space-lg)}.section-intro h2{margin-bottom:var(--space-xs)}.section-intro p{margin-top:0;max-width:60ch}.knowledge-map{display:block;min-width:0}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);border-top:1px solid var(--color-rule)}.map-panel{min-width:0;padding-top:var(--space-md)}.map-toolbar,.zoom-controls,.pan-controls{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.map-toolbar{justify-content:space-between;gap:var(--space-sm)}.map-toolbar button{padding:var(--space-xs)}.map-toolbar output{color:var(--color-muted);font:var(--text-sm) var(--font-mono);min-width:3rem;text-align:center}.map-viewport{height:380px;overflow:clip;margin-top:var(--space-sm);background:var(--color-panel);border-radius:var(--radius-md)}.world-svg{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y pinch-zoom}.world-svg.is-dragging{cursor:grabbing}.world-svg text{font-family:var(--font-body);font-size:16px;fill:var(--color-ink)}.world-svg .node-count{font-family:var(--font-mono)}.map-lines{pointer-events:none}.membership-edge{stroke:var(--color-edge);stroke-width:1;stroke-dasharray:2 8;fill:none}.graph-edge,.edge-arrow{stroke:var(--color-edge);stroke-width:1.5;fill:none}.aggregate-edge{stroke-dasharray:8 5}.subject-node{cursor:pointer}.subject-orbit{fill:none;stroke:var(--color-muted);stroke-dasharray:3 6}.subject-core{fill:var(--color-panel);stroke:var(--color-ink);stroke-width:1.5}.subject-node[aria-expanded=true] .subject-core{stroke:var(--color-accent);stroke-width:3}.node-hit{fill:var(--color-panel);stroke:var(--color-rule)}.node-dot{fill:var(--color-accent);stroke:var(--color-accent);stroke-width:2}.article-node{cursor:pointer}.article-node:visited .node-dot{stroke:var(--color-visited)}.article-node.is-current .node-hit{stroke:var(--color-accent);stroke-width:3}.article-node:focus-visible .node-hit,.subject-node:focus-visible .subject-core{stroke:var(--color-focus);stroke-width:3}@media (hover: hover){.article-node:hover .node-hit,.subject-node:hover .subject-core{stroke:var(--color-accent)}}.article-node text{paint-order:stroke;stroke:var(--color-panel);stroke-width:5px;stroke-linejoin:round}.article-node{animation:appear var(--dur-short) var(--ease-out)}@keyframes appear{0%{opacity:0}to{opacity:1}}.map-hint,.map-legend,.map-status{font-size:var(--text-sm)}.map-hint{color:var(--color-muted);margin-bottom:var(--space-xs)}.map-status{min-height:2.8em;margin:var(--space-xs) 0}.map-legend{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);color:var(--color-muted);padding-top:var(--space-sm)}.topic-index{min-width:0;padding-block:var(--space-lg)}.topic-index h3{margin-top:0}.topic-section h4{margin:0}.topic-toggle{width:100%;display:flex;gap:var(--space-sm);align-items:center;justify-content:space-between;text-align:left;white-space:normal;border:0;border-bottom:1px solid var(--color-rule);padding-inline:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-display)}.topic-toggle[aria-expanded=true]{border-bottom-color:var(--color-accent)}.topic-toggle span:first-child{overflow-wrap:anywhere}.topic-toggle:disabled{color:var(--color-ink);cursor:default}.topic-count{color:var(--color-muted);font-size:var(--text-sm)}.topic-description{font-size:var(--text-sm);margin:var(--space-sm) 0}.topic-articles{list-style:none;padding:0;margin:0}.topic-articles li{border-bottom:1px solid var(--color-rule)}.topic-articles a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);min-height:44px;padding-block:var(--space-md);text-decoration:none}.topic-articles a span:first-child{overflow-wrap:anywhere}.topic-articles a[aria-current]{color:var(--color-ink);text-decoration:underline}.article-language{font:var(--text-sm) var(--font-mono);color:var(--color-muted)}.index-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-lg);white-space:nowrap}.home-secondary{display:flex;flex-wrap:wrap;gap:var(--space-lg);border-top:1px solid var(--color-rule);margin-top:var(--space-2xl);padding-top:var(--space-lg)}.home-secondary a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.article-shell{position:relative;min-width:0}.article-body{min-width:0}.post-banner{margin:0 0 var(--space-lg)}.post-banner picture{display:contents}.post-banner img{display:block;width:min(100%,360px);aspect-ratio:4 / 5;max-height:60dvh;object-fit:cover;object-position:center;border:1px solid var(--color-rule);border-radius:var(--radius-md)}.article-header{max-width:70ch;margin-bottom:var(--space-xl)}.article-header h1{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.045em}.article-meta{font-size:var(--text-sm);color:var(--color-muted)}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.post-content{min-width:0;max-width:var(--measure);font-size:var(--text-reading)}.post-content h1{font-size:var(--text-2xl)}.post-content h2{margin-top:var(--space-xl);font-size:var(--text-xl)}.post-content h3{margin-top:var(--space-lg)}.post-content a{overflow-wrap:anywhere}.post-language-switch{margin-bottom:var(--space-lg)}.article-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.article-actions>*{margin-bottom:0}.post-share a{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:44px;padding:var(--space-xs) var(--space-md);border:var(--rule-width) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-secondary);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;text-decoration:none;white-space:nowrap}@media (hover: hover){.post-share a:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-ink)}}.post-share a:active{background:var(--color-paper);color:var(--color-ink);transform:translateY(1px)}.post-share a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.post-language-switch a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-xs) var(--space-md);border:var(--rule-width) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;text-decoration:none;white-space:nowrap}@media (hover: hover){.post-language-switch a:hover{background:var(--color-surface);border-color:var(--color-secondary);color:var(--color-ink)}}.post-language-switch a:active{background:var(--color-paper);color:var(--color-ink);transform:translateY(1px)}.post-language-switch a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.post-content a.repository-card{display:flex;align-items:center;gap:var(--space-md);width:min(100%,28rem);min-height:88px;margin:var(--space-lg) 0;padding:var(--space-md);border:var(--rule-width) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-panel);color:var(--color-ink);text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out)}.post-content a.repository-card:visited{color:var(--color-ink)}@media (hover: hover){.post-content a.repository-card:hover{border-color:var(--color-accent);background:var(--color-surface)}}.post-content a.repository-card:active{background:var(--color-paper);color:var(--color-ink);transform:translateY(1px)}.post-content a.repository-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.post-content .repository-card__avatar{display:block;flex:0 0 48px;width:48px;height:48px;border:var(--rule-width) solid var(--color-rule);border-radius:50%;object-fit:cover}.repository-card__details{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs)}.repository-card__handle{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.repository-card__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2xs) var(--space-xs);min-width:0}.repository-card__name{color:var(--color-ink);font:700 var(--text-base)/1.3 var(--font-display);overflow-wrap:anywhere}.repository-card__stars{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.repository-card__stars svg{flex:none;width:.875rem;height:.875rem;color:var(--color-accent)}@media (prefers-reduced-motion: reduce){.post-content a.repository-card:active{transform:none}}.post-content table{display:block;max-width:100%;overflow:auto}.post-content img{height:auto}.post-video{margin:var(--space-xl) 0;max-width:var(--measure-wide)}.post-video video{display:block;width:100%;height:auto;aspect-ratio:16 / 9;background:var(--color-surface);border:var(--rule-width) solid var(--color-rule);border-radius:var(--radius-md)}.post-video figcaption{max-width:65ch;margin-top:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}.neighborhood{min-width:0}.neighborhood>h2{font-size:var(--text-lg)}.compact .explorer-layout{display:block}.compact .map-viewport{height:350px}.compact .topic-index,.compact .pan-controls,.compact .map-legend{display:none}.neighbor-links{max-width:var(--measure)}.neighbor-links h3{font-size:var(--text-base);margin-top:var(--space-lg)}.neighbor-links ul{list-style:none;padding:0}.neighbor-links li{margin-block:var(--space-sm)}.neighbor-links a{display:inline-block;min-height:44px;overflow-wrap:anywhere}.neighbor-links p{font-size:var(--text-sm)}@media (min-width: 48rem){.site-main{padding:var(--space-2xl) var(--space-xl)}.map-viewport{height:470px}.explorer-layout{grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);gap:var(--space-xl)}}@media (min-width: 70rem){body{display:grid;grid-template-columns:200px minmax(0,1fr)}.site-rail{position:sticky;top:0;align-self:start;height:100dvh;padding:var(--space-xl) var(--space-lg);border-right:1px solid var(--color-rule);border-bottom:0}.rail-brand{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.rail-brand img{width:56px;height:56px}.site-rail nav ul{flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}.reader-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)}.neighborhood{position:sticky;top:var(--space-lg);align-self:start;max-height:calc(100dvh - 3rem);overflow:auto;padding:var(--space-xs)}}@media (min-width: 90rem){.content--banner{max-width:none;margin-inline:0}.article-shell.has-banner{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-lg);align-items:start}.has-banner .post-banner{margin:0;position:sticky;top:var(--space-lg);align-self:start}.has-banner .post-banner img{width:100%;aspect-ratio:auto;height:calc(100dvh - 4rem);max-height:none}}@media (min-width: 120rem){.has-banner .post-content{font-size:var(--text-reading-wide);max-width:var(--measure-wide)}.has-banner .post-content h2{font-size:var(--text-2xl)}.has-banner .post-content h3{font-size:var(--text-xl)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.home-page{display:block}.home-header{max-width:var(--home-width);margin-inline:auto;padding:var(--space-lg) var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.home-header-actions{display:flex;align-items:center;gap:var(--space-xs);margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}.home-header a{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;white-space:nowrap;color:var(--color-secondary);text-decoration:none}.home-header .home-wordmark{gap:0;font:700 var(--text-2xl)/1 var(--font-display);letter-spacing:-.08em;color:var(--color-ink)}.home-wordmark span{color:var(--color-accent)}.home-page .site-main{padding:var(--space-xl) var(--space-md)}.home-page .content{max-width:calc(var(--home-width) - 2 * var(--space-md))}.home-intro h1{font-size:var(--text-home-display);margin:0 0 var(--space-lg);line-height:1.1}.home-intro-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg)}.home-intro-bottom p{margin:0;max-width:55ch;font-size:var(--text-lg)}.contact-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-xl);min-height:48px;padding:var(--space-sm) var(--space-lg);border:var(--rule-width) solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);white-space:nowrap;text-decoration:none}.contact-cta:visited{color:var(--color-accent)}.contact-cta:active{transform:translateY(1px)}.home-location{color:var(--color-muted);font-size:var(--text-sm);margin:var(--space-lg) 0 0}.desktop-break{display:none}.knowledge-overview{padding-top:var(--space-2xl)}.knowledge-heading{font-size:var(--text-base);font-weight:400;color:var(--color-muted);margin:0}.practice-figure{margin:var(--space-md) 0 0}.practice-map{position:relative;height:480px}.practice-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.practice-lines line{stroke:var(--color-edge);stroke-width:1;vector-effect:non-scaling-stroke}.practice-lines--wide{display:none}.knowledge-nodes{list-style:none;padding:0;margin:0}.knowledge-node{position:absolute;left:var(--mobile-x);top:var(--mobile-y);transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;background:var(--color-paper);color:var(--color-ink);padding:var(--space-xs) var(--space-2xs);white-space:nowrap}.knowledge-dot{width:9px;height:9px;border:var(--rule-width) solid var(--color-ink);border-radius:50%;margin-bottom:var(--space-xs);background:var(--color-paper)}.knowledge-node:first-child .knowledge-dot{background:var(--color-accent);border-color:var(--color-accent)}.knowledge-label{font:700 var(--text-knowledge)/1.4 var(--font-display)}.knowledge-note{display:none;font-size:var(--text-sm);color:var(--color-muted)}.practice-figure figcaption{max-width:65ch;color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-lg)}.knowledge-next{display:inline-flex;align-items:center;gap:var(--space-lg);min-height:44px;margin-top:var(--space-sm);white-space:nowrap}.home-shortcuts{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-xl);padding-block:var(--space-md);border-block:var(--rule-width) solid var(--color-rule)}.home-shortcuts a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-secondary);white-space:nowrap;text-decoration:none}.home-section{padding-top:var(--space-3xl);scroll-margin-top:var(--space-lg)}.home-profile>h2{max-width:24ch}.profile-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.profile-columns p{max-width:65ch}.recruiter-note{border-top:var(--rule-width) solid var(--color-rule);padding-top:var(--space-md)}.recruiter-note h3{margin-top:0}.profile-links{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.profile-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.home-experience{max-width:75ch}.home-experience>h2{margin-top:0}.home-experience h3{margin-top:var(--space-xl)}.home-experience ul{padding-left:var(--space-lg)}.home-experience li{margin-block:var(--space-md);color:var(--color-secondary)}.home-projects{padding-bottom:var(--space-xl)}.home-projects p{max-width:58ch}.project-destination{display:inline-flex;min-height:44px;align-items:center;gap:var(--space-xl);font-family:var(--font-display);white-space:nowrap}.home-footer{align-items:center;justify-content:space-between;gap:var(--space-lg);padding-top:var(--space-xl)}.home-footer .footer-name{font:700 var(--text-xl)/1.3 var(--font-display);color:var(--color-ink);margin:0}.home-footer p{max-width:40ch}@media (hover: hover){.contact-cta:hover{background:var(--color-panel)}.home-header a:hover,.home-shortcuts a:hover{text-decoration:underline;text-underline-offset:.3em}}@media (min-width: 48rem){.home-header,.home-page .site-main{padding-inline:var(--space-xl)}.practice-map{height:400px}.practice-lines--wide{display:block}.practice-lines--narrow{display:none}.knowledge-node{left:var(--node-x);top:var(--node-y);padding:var(--space-xs)}.knowledge-note{display:block}.desktop-break{display:inline}}@media (min-width: 70rem){.home-header{padding-inline:var(--space-md)}.home-page .site-main,.knowledge-overview{padding-top:var(--space-xl)}.profile-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-3xl)}.practice-map{height:320px}}@media (prefers-reduced-motion: reduce){.contact-cta:active{transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:clip;clip-path:inset(50%);white-space:nowrap;border:0}.practice-map{height:440px;margin-block:var(--space-xl) var(--space-xl)}.practice-lines path{fill:none;stroke:var(--color-edge);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round}.knowledge-node{width:12px;height:12px;padding:0;display:block;background:var(--color-clear);transform:translate(-50%,-50%)}.knowledge-dot{position:absolute;inset:0;width:12px;height:12px;margin:0;background:var(--color-paper);border:2px solid var(--color-secondary)}.knowledge-node:first-child .knowledge-dot,.knowledge-dot--hub{background:var(--color-accent);border-color:var(--color-accent)}.knowledge-dot--hub:after{content:"";position:absolute;inset:-7px;border:1px solid var(--color-muted);border-radius:50%}.knowledge-copy{position:absolute;left:50%;top:calc(100% + var(--space-xs));transform:translate(-50%);display:block;width:max-content;text-align:center}.knowledge-label{display:block}.knowledge-note{margin-top:var(--space-2xs)}@media (min-width: 48rem){.practice-map{height:320px;margin-block:var(--space-2xl) var(--space-xl)}.knowledge-node[data-label=above] .knowledge-copy{top:auto;bottom:calc(100% + var(--space-sm))}.knowledge-node[data-label=left] .knowledge-copy{top:50%;right:calc(100% + var(--space-md));left:auto;transform:translateY(-50%);text-align:right}}scene-navigator{display:block}.scene-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-sm)}.scene-travel{display:flex;align-items:center;gap:var(--space-sm)}.scene-status{min-width:11rem;color:var(--color-secondary);font:var(--text-sm)/1.4 var(--font-mono);text-align:center}.scene-hint{color:var(--color-muted);font-size:var(--text-sm);margin:0}.scene-mode{border-color:var(--color-clear);background:var(--color-paper);color:var(--color-secondary);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.25em}scene-navigator[data-enabled=false] .scene-travel,scene-navigator[data-enabled=false] .scene-hint{display:none}.scene-links a[aria-current=step]{color:var(--color-accent);text-decoration:underline;text-underline-offset:.4em}.scene-active{height:100dvh;overflow-y:clip}.scene-active .home-header{height:var(--scene-header-height);padding-block:var(--space-sm)}.scene-active .site-main{height:calc(100dvh - var(--scene-header-height));padding:0 var(--space-xl)}.scene-active .content{height:100%}.scene-active .home-footer{display:none}scene-navigator[data-enabled=true]{display:grid;grid-template-rows:minmax(0,1fr) auto auto;height:100%;padding-bottom:var(--space-xs)}[data-enabled=true]>.scene-viewport{overflow:clip;min-height:0}scene-navigator[data-instant=true] .scene-ring{transition:none}[data-enabled=true] .scene-ring{position:relative;height:100%;transform:translateY(calc(-1 * var(--scene-y, 0%)));transition:transform var(--dur-scene) var(--ease-scene)}[data-enabled=true] .scene-panel{position:absolute;left:0;right:0;top:calc(var(--panel-index, 0) * 100%);width:100%;max-width:none;height:100%;margin:0;padding:var(--space-lg);background:var(--color-paper);color:var(--color-ink);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-muted) var(--color-paper);visibility:hidden}[data-enabled=true] .scene-panel[data-active],[data-enabled=true] .scene-panel[data-leaving]{visibility:visible}[data-enabled=true] .scene-panel[data-leaving]{pointer-events:none}[data-enabled=true] .scene-panel:focus-visible{outline-offset:-4px}[data-enabled=true] .home-intro h1{font-size:var(--text-scene-display);margin-bottom:var(--space-sm)}[data-enabled=true] .home-intro-bottom p{font-size:var(--text-base)}[data-enabled=true] .home-location{margin-top:var(--space-sm)}[data-enabled=true] .knowledge-overview{padding-top:var(--space-sm)}[data-enabled=true] .knowledge-heading{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%)}[data-enabled=true] .practice-figure{margin-top:0}[data-enabled=true] .practice-map{height:clamp(210px,calc(100dvh - 510px),400px);margin-top:var(--space-xl);margin-bottom:var(--space-xl)}[data-enabled=true] .practice-figure figcaption{margin-top:0}[data-enabled=true] .knowledge-next{display:none}[data-enabled=true] .scene-links{justify-content:center;margin:0;padding-block:var(--space-xs);gap:var(--space-xl)}[data-enabled=true] .scene-controls{position:relative;z-index:var(--z-scene-controls)}[data-enabled=true] .home-experience>*{max-width:75ch}[data-enabled=true] .home-profile,[data-enabled=true] .home-projects{padding-top:var(--space-2xl)}[data-enabled=true] .map-viewport{height:clamp(240px,calc(100dvh - 490px),470px)}@media (prefers-reduced-motion: reduce){[data-enabled=true] .scene-ring{transition:none}}
