@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/space-grotesk-latin-ext-500-normal.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/space-grotesk-latin-500-normal.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/space-grotesk-latin-ext-700-normal.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/space-grotesk-latin-700-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");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-bg: #ffffff;--color-fg: #111111;--color-muted: #63615c;--color-border: #111111;--color-hover-bg:#f4f3f0;--color-red: #c1272d;--color-blue: #1d4e89;--color-yellow: #f2b705;--font-display: "Space Grotesk", "Segoe UI", Helvetica, Arial, sans-serif;--font-family: "IBM Plex Sans", "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Consolas, monospace;--font-size-base: 16px;--line-height-base: 1.6;--border-width: 1px;--nav-height: 60px;--content-max-width: 760px;--content-padding: 24px;--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 48px;--space-xl: 80px}*,*:before,*:after{box-sizing:border-box;margin:0}html{color:var(--color-fg);background:var(--color-bg);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh}img{max-width:100%;display:block}button{font:inherit;color:var(--color-fg);background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:0;padding:8px 16px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}button:hover{background:var(--color-hover-bg)}button:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg);font-weight:600}.btn-primary:hover{background:var(--color-red);border-color:var(--color-red)}nav{position:sticky;top:0;z-index:100;display:flex;flex-direction:column;background:var(--color-bg);border-bottom:var(--border-width) solid var(--color-border)}.nav-row{min-height:var(--nav-height);display:flex;align-items:center;padding:var(--space-xs) var(--content-padding)}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md);padding:0 var(--content-padding) var(--space-sm)}nav a{color:var(--color-fg);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding-bottom:2px;border-bottom:2px solid transparent}nav a.brand-link{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:0;text-transform:none;border-bottom:none;margin-right:auto;display:flex;align-items:center;gap:8px}nav a:hover,nav a.active{border-bottom-color:var(--color-red)}nav a.brand-link:hover{color:var(--color-red)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:0;background:none;border:none}.nav-toggle span{display:block;width:100%;height:2px;background:var(--color-fg)}@media(max-width:640px){.nav-row{min-height:52px}.nav-toggle{display:flex}.nav-links{display:none;flex-direction:column;align-items:flex-start;gap:var(--space-md)}.nav-links.open{display:flex}}#app{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-lg) var(--content-padding) var(--space-xl)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}h1{font-size:clamp(2.1rem,1.8rem + 1.2vw,2.75rem);font-weight:700;line-height:1.1;margin-bottom:var(--space-sm)}h2{font-size:1.4rem;font-weight:700;line-height:1.25;margin-bottom:var(--space-sm)}h3{font-size:1.05rem;font-weight:700;margin-bottom:var(--space-xs)}p{margin-bottom:var(--space-sm);color:var(--color-fg)}p:last-child{margin-bottom:0}strong{font-weight:600}a{color:var(--color-fg);text-decoration:underline;text-decoration-color:var(--color-muted);text-underline-offset:2px}a:hover{color:var(--color-red);text-decoration-color:var(--color-red)}.section-heading{position:relative;padding-top:14px;margin-bottom:var(--space-sm)}.section-heading:before{content:"";position:absolute;top:0;left:0;width:36px;height:4px;background:var(--color-red)}.muted{color:var(--color-muted)}.entry-list{display:flex;flex-direction:column}.entry{display:flex;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:var(--border-width) solid var(--color-border);text-decoration:none;color:var(--color-fg)}.entry:hover{color:var(--color-red)}.entry:hover img{opacity:.85}.entry img{width:96px;height:96px;object-fit:cover;flex-shrink:0;border:var(--border-width) solid var(--color-border)}.entry-body h3{margin-bottom:4px}.entry-body p{color:var(--color-muted);margin-bottom:0}.btnLink{display:inline-block;padding:6px 14px;border:var(--border-width) solid var(--color-border);text-decoration:none;color:var(--color-fg)}.btnLink:hover{background:var(--color-fg);color:var(--color-bg)}.post{display:flex;flex-direction:column}.post-header{display:flex;align-items:baseline;gap:var(--space-sm);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:var(--border-width) solid var(--color-border)}.post-author{font-weight:700}.post-date{color:var(--color-muted);font-size:.9rem}.post-body{display:flex;flex-direction:column;gap:var(--space-sm)}.post-body p{color:var(--color-fg)}.steps{display:flex;flex-direction:column;gap:var(--space-md);padding-left:var(--space-md)}.steps>li{line-height:1.7}.steps>li strong{display:block;margin-bottom:6px}.steps ul{margin:6px 0 10px 16px;display:flex;flex-direction:column;gap:4px;color:var(--color-muted);font-size:.9rem}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg);border:var(--border-width) solid var(--color-border);padding:2px 6px}pre{border:var(--border-width) solid var(--color-border);padding:var(--space-sm);overflow-x:auto;margin:var(--space-xs) 0}pre code{border:none;padding:0}.post-footer{display:flex;gap:var(--space-sm);padding-top:var(--space-sm);margin-top:var(--space-md);border-top:var(--border-width) solid var(--color-border);font-size:.85rem;color:var(--color-muted)}.tree-controls{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-sm)}.tree-controls button{min-width:44px}.tree-viewport{overflow:auto;border:var(--border-width) solid var(--color-border);padding:var(--space-lg) var(--space-md)}.tree{transform-origin:top center;width:fit-content;margin:0 auto}.tree>ul{padding-top:0}.tree ul{display:flex;justify-content:center;padding-top:var(--space-md);position:relative}.tree li{list-style:none;position:relative;padding:var(--space-md) var(--space-xs) 0;display:flex;flex-direction:column;align-items:center}.tree li:before,.tree li:after{content:"";position:absolute;top:0;right:50%;width:50%;height:var(--space-md);border-top:var(--border-width) solid var(--color-border)}.tree li:after{right:auto;left:50%;border-left:var(--border-width) solid var(--color-border)}.tree li:only-child{padding-top:0}.tree li:only-child:before,.tree li:only-child:after{display:none}.tree li:first-child:before,.tree li:last-child:after{border:0 none}.tree li:last-child:before{border-right:var(--border-width) solid var(--color-border)}.tree li:first-child:after{border-left:var(--border-width) solid var(--color-border)}.tree ul ul:before{content:"";position:absolute;top:0;left:50%;height:var(--space-md);border-left:var(--border-width) solid var(--color-border)}.tree-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--color-border);background:var(--color-bg);cursor:pointer;min-width:140px;position:relative;transition:background .1s,color .1s}.tree-card:hover{background:var(--color-hover-bg)}.tree-card:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.tree-card.selected{background:var(--color-fg);color:var(--color-bg)}.tree-card.selected:hover{background:var(--color-fg)}.tree-card.selected .tree-years{color:var(--color-bg);opacity:.7}.tree-person{display:flex;flex-direction:column;line-height:1.3}.tree-name{font-weight:700;font-size:.9rem}.tree-years{font-size:.75rem;color:var(--color-muted)}.tree-toggle{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);width:24px;height:24px;padding:0;line-height:1}.tree-detail{margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:var(--border-width) solid var(--color-border)}.tree-detail-person+.tree-detail-person{margin-top:var(--space-sm)}.tree-header{margin-bottom:var(--space-md)}.blog-filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:var(--space-md) 0 var(--space-lg)}.blog-filters button{padding:6px 14px;font-size:.85rem}.blog-filters button.active{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.access-gate{max-width:420px}.access-form{display:flex;gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap}.access-form input{flex:1;min-width:200px;padding:8px 12px;font:inherit;color:var(--color-fg);background:var(--color-bg);border:var(--border-width) solid var(--color-border)}.access-form input:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.access-result{margin-top:var(--space-sm)}.tree-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.tree-search{position:relative;width:220px;max-width:100%}.tree-search input{width:100%;padding:7px 12px;font:inherit;color:var(--color-fg);background:var(--color-bg);border:var(--border-width) solid var(--color-border)}.tree-search input:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.tree-search-results{position:absolute;top:calc(100% + 4px);right:0;z-index:50;width:100%;min-width:220px;background:var(--color-bg);border:var(--border-width) solid var(--color-border);max-height:260px;overflow-y:auto}.tree-search-results li{list-style:none}.tree-search-results button{display:flex;justify-content:space-between;gap:var(--space-sm);width:100%;padding:8px 12px;border:none;border-radius:0;background:var(--color-bg);text-align:left;font:inherit}.tree-search-results button:hover{background:var(--color-hover-bg)}.tree-search-empty{padding:8px 12px;font-size:.9rem}.montage.svelte-1x36n5x{display:flex;flex-direction:column;gap:var(--space-md)}.montage-grid.svelte-1x36n5x{display:grid;gap:var(--space-md)}@media(min-width:560px){.montage-grid.svelte-1x36n5x{grid-template-columns:1fr 1fr}}.tile.svelte-1x36n5x{display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);text-decoration:none;color:var(--color-fg);background:var(--color-bg)}.tile.svelte-1x36n5x:hover{color:var(--color-red)}.tile.svelte-1x36n5x:hover h3:where(.svelte-1x36n5x){text-decoration:underline;text-decoration-color:var(--color-red);text-underline-offset:3px}.tile.svelte-1x36n5x:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.tile-shot.svelte-1x36n5x{aspect-ratio:16 / 10;overflow:hidden;border-bottom:var(--border-width) solid var(--color-border);background:var(--color-hover-bg)}.tile-shot.svelte-1x36n5x img:where(.svelte-1x36n5x){width:100%;height:100%;object-fit:cover;object-position:top left;transition:opacity .12s ease}.tile.svelte-1x36n5x:hover .tile-shot:where(.svelte-1x36n5x) img:where(.svelte-1x36n5x){opacity:.85}.tile-mark.svelte-1x36n5x{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.tile-body.svelte-1x36n5x{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm);flex:1}.tile-body.svelte-1x36n5x h3:where(.svelte-1x36n5x){margin-bottom:0}.tile-body.svelte-1x36n5x p:where(.svelte-1x36n5x){color:var(--color-muted);margin-bottom:var(--space-xs)}.tile-label.svelte-1x36n5x{margin-top:auto;font-family:var(--font-mono);font-size:.8rem;color:var(--color-muted)}.tile.svelte-1x36n5x:hover .tile-label:where(.svelte-1x36n5x){color:var(--color-red)}.tile-lead.svelte-1x36n5x .tile-body:where(.svelte-1x36n5x){padding:var(--space-md)}.tile-lead.svelte-1x36n5x h3:where(.svelte-1x36n5x){font-size:1.4rem}@supports (animation-timeline: view()){html.motion-full .tile[data-reveal].svelte-1x36n5x{animation:svelte-1x36n5x-tile-rise linear both;animation-timeline:view();animation-range:entry calc(var(--i, 0) * 8%) entry calc(50% + var(--i, 0) * 8%)}html.motion-reduced .tile[data-reveal].svelte-1x36n5x{animation:svelte-1x36n5x-tile-fade linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}@keyframes svelte-1x36n5x-tile-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes svelte-1x36n5x-tile-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tile[data-reveal].svelte-1x36n5x{animation:none!important}.tile-shot.svelte-1x36n5x img:where(.svelte-1x36n5x){transition:none}}
