:root{--color-bg: #f3f2f2;--color-surface: #eae9e9;--color-text: #201e1d;--color-accent: #0088b0;--color-accent-2: #d6006c;--color-divider: color-mix(in srgb, #201e1d 16%, transparent);--color-neutral-100: #f8f4f4;--color-neutral-200: #eae7e7;--color-neutral-300: #d7d3d3;--color-neutral-400: #bab6b6;--color-neutral-500: #9b9797;--color-neutral-600: #7d7979;--color-neutral-700: #605d5d;--color-neutral-800: #444141;--color-neutral-900: #2d2b2b;--color-accent-100: #e9f8ff;--color-accent-200: #cbeeff;--color-accent-300: #99e0ff;--color-accent-400: #62c5ee;--color-accent-500: #38a6cf;--color-accent-600: #1186ac;--color-accent-700: #006786;--color-accent-800: #004961;--color-accent-900: #0a303e;--color-accent-2-100: #fff1f4;--color-accent-2-200: #ffdee6;--color-accent-2-300: #ffc0d0;--color-accent-2-400: #ff90b1;--color-accent-2-500: #ff458e;--color-accent-2-600: #d82071;--color-accent-2-700: #aa0b56;--color-accent-2-800: #790e3d;--color-accent-2-900: #4b1528;--color-process-yellow: #edbb00;--font-heading: "Source Serif 4", system-ui, sans-serif;--font-heading-weight: 600;--font-body: "Source Serif 4", system-ui, sans-serif;--space-1: 5px;--space-2: 10px;--space-3: 15px;--space-4: 20px;--space-6: 30px;--space-8: 40px;--radius-sm: 1px;--radius-md: 2px;--radius-lg: 4px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.halftone{position:relative;filter:grayscale(.35) contrast(1.15);overflow:hidden}.halftone:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(0,0,0,.22) 30%,transparent 32%);background-size:3px 3px;mix-blend-mode:multiply}.cmyk{position:relative;overflow:hidden;background:var(--color-bg)}.cmyk img:first-child{opacity:0}.cmyk img+img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.cmyk .sep-c{filter:url(#sep-c)}.cmyk .sep-m{filter:url(#sep-m)}.cmyk .sep-y{filter:url(#sep-y)}.cmyk .sep-k{filter:url(#sep-k)}.cmyk:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(0,0,0,.22) 30%,transparent 32%);background-size:3px 3px;mix-blend-mode:multiply}.cmyk .print{position:relative;width:100%;filter:url(#sep-all)}@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.cmyk .print:hover{filter:none}}.cmyk .print image-slot{width:100%;height:100%;display:block}.cmyk-num{--cmyk-num-ground:var(--color-bg);position:relative;width:fit-content;line-height:.9;font-feature-settings:"pnum" 1;background:var(--cmyk-num-ground);padding:.12em;margin:-.12em}.cmyk-num .paper{color:var(--color-bg);text-shadow:.036em .025em 0 var(--color-bg),-.031em -.023em 0 var(--color-bg)}.cmyk-num .plate{position:absolute;inset:.12em;mix-blend-mode:multiply;text-box:trim-both cap alphabetic}.cmyk-num .plate-c{color:var(--color-accent)}.cmyk-head{position:relative}.cmyk-head .paper{color:var(--color-bg);text-shadow:.027em .0185em 0 var(--color-bg),-.0245em -.0175em 0 var(--color-bg)}.cmyk-head .plate{position:absolute;inset:0;mix-blend-mode:multiply;pointer-events:none;user-select:none;text-box:trim-both cap alphabetic}.cmyk-head .plate-c{color:var(--color-accent)}.cmyk-head .plate-m{color:var(--color-accent-2);translate:calc(.018em + .009em*var(--press-nx, 0)) calc(.0125em + .006em*var(--press-ny, 0))}.cmyk-head .plate-y{color:var(--color-process-yellow);translate:calc(-.0155em + .009em*var(--press-nx, 0)) calc(-.0115em + .006em*var(--press-ny, 0))}.cmyk-num .plate-m{color:var(--color-accent-2);translate:calc(.036em + .018em*var(--press-nx, 0)) calc(.025em + .0125em*var(--press-ny, 0))}.cmyk-num .plate-y{color:var(--color-process-yellow);translate:calc(-.031em + .018em*var(--press-nx, 0)) calc(-.023em + .0125em*var(--press-ny, 0))}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px}h6{letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1);color:color-mix(in srgb,var(--color-text) 55%,transparent)}.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:var(--color-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input::placeholder{color:color-mix(in srgb,var(--color-text) 65%,transparent);opacity:1}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{display:inline-flex;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg-opt{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider)}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/newsreader-latin.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:Newsreader;font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/newsreader-latin-italic.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{--font-heading:"Newsreader","Source Serif 4",Georgia,serif;--font-body:"Newsreader","Source Serif 4",Georgia,serif}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin.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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-italic.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{--leading:28px;--half:14px;--edge:clamp(20px,5vw,72px);--measure:58ch}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;text-wrap:pretty}.wrap{max-width:1200px;margin:0 auto;padding:0 var(--edge)}.nav{padding-inline:max(var(--edge),calc((100% - 1200px) / 2 + var(--edge)));gap:var(--space-4);flex-wrap:wrap}.nav-brand{margin-right:auto}.nav a{white-space:nowrap;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.nav a:hover{color:var(--color-accent-700);text-decoration:underline}.nav a[aria-current=page]{color:var(--color-accent-700)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a{color:var(--color-accent-700)}a:hover{color:var(--color-accent-800)}.kicker{display:block;font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent);font-feature-settings:"tnum" 1;margin:0 0 calc(var(--leading) - var(--half))}.hero{padding:calc(4 * var(--leading)) 0 calc(2.5 * var(--leading))}.display{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(42px,6vw,80px);line-height:clamp(45.5px,6.5vw,86.5px);letter-spacing:-.02em;margin:0 0 0 -.035em;text-box:trim-both cap alphabetic}.display .line{display:block}.display-sm{font-size:clamp(34px,4.4vw,56px);line-height:clamp(37px,4.8vw,60.5px)}.sub{font-size:17px;line-height:var(--leading);max-width:var(--measure);margin:calc(1.5 * var(--leading) - 1cap) 0 0;text-box:trim-both cap alphabetic}.row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--leading);align-items:center}.frontpage{padding:calc(1.5 * var(--leading)) 0 calc(2 * var(--leading))}.rule-head{height:5px;border:0;margin:0;border-top:2px solid var(--color-text);border-bottom:1px solid var(--color-text)}.rule-cut{height:0;border:0;border-top:1px solid var(--color-text);margin:0}.dateline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--half) var(--leading);margin:0;padding:var(--half) 0;font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;font-feature-settings:"pnum" 1;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.index{display:grid;grid-template-columns:1fr 1fr;gap:var(--half) calc(2.5 * var(--leading));padding:calc(var(--leading) - var(--half)) 0 var(--leading)}.ix{display:flex;align-items:baseline;gap:8px;margin:0;font-size:15.5px;line-height:var(--leading)}.ix-leader{flex:1;min-width:28px;align-self:flex-end;margin-bottom:.34em;border-bottom:1px dotted color-mix(in srgb,var(--color-text) 45%,transparent)}.ix-num{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;font-feature-settings:"pnum" 1}.ix-num.spot{color:var(--color-accent-700)}.section{padding:calc(2.5 * var(--leading)) 0 0}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(1.5 * var(--leading)) clamp(28px,4vw,64px);margin-top:calc(var(--leading) - var(--half))}.col h2,.col h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:24px;line-height:var(--leading);letter-spacing:-.01em;margin:0;text-box:trim-both cap alphabetic}.col p{font-size:15.5px;line-height:var(--leading);margin:calc(var(--leading) - 1cap) 0 0;color:color-mix(in srgb,var(--color-text) 78%,transparent);text-align:justify;hyphens:auto;hyphenate-limit-chars:6 3 3;text-box:trim-both cap alphabetic}.listing{display:grid;gap:calc(1.25 * var(--leading));margin-top:calc(var(--leading) - var(--half))}.entry{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--half) clamp(24px,4vw,64px);align-items:baseline}.entry-wide{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}.entry-name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:24px;line-height:var(--leading);letter-spacing:-.01em;margin:0;text-box:trim-both cap alphabetic}.entry-meta{display:block;font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent);margin-top:var(--half)}.entry p{font-size:15.5px;line-height:var(--leading);margin:0;color:color-mix(in srgb,var(--color-text) 78%,transparent);max-width:52ch;text-box:trim-both cap alphabetic}.doc{padding:calc(1.5 * var(--leading)) 0 0}.doc h2,.doc h3,.doc p,.doc ul{max-width:64ch}.doc h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:28px;line-height:var(--leading);letter-spacing:-.015em;margin:calc(2 * var(--leading)) 0 0;text-box:trim-both cap alphabetic}.doc h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:19px;line-height:var(--leading);margin:calc(1.5 * var(--leading)) 0 0;text-box:trim-both cap alphabetic}.doc p,.doc li{font-size:16px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 84%,transparent)}.doc p{margin:calc(var(--leading) - 1cap) 0 0;text-box:trim-both cap alphabetic}.doc ul{margin:calc(var(--leading) - 1cap) 0 0;padding-left:1.4em;display:grid;gap:calc(var(--half) / 2)}.doc ul li::marker{color:color-mix(in srgb,var(--color-text) 45%,transparent)}.doc .lede{font-size:19px;color:var(--color-text)}.doc-figure{margin:calc(1.5 * var(--leading)) 0 0;width:min(100%,780px)}.table{font-size:15.5px}.table td{line-height:var(--leading)}.quote{padding:calc(2.5 * var(--leading)) 0 0}.quote blockquote{font-family:var(--font-heading);font-style:italic;font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:calc(1.5 * var(--leading));letter-spacing:-.01em;max-width:34ch;margin:0;text-indent:-.475em;text-box:trim-both cap alphabetic}.quote figcaption{font-size:15.5px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 70%,transparent);margin:calc(2 * var(--leading) - 1cap) 0 0;text-indent:-1.045em;text-box:trim-both cap alphabetic}@media(max-width:720px){.quote blockquote,.quote figcaption{text-indent:0}}.close{padding:calc(2.5 * var(--leading)) 0 calc(2 * var(--leading))}.close h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:32px;line-height:calc(1.25 * var(--leading));letter-spacing:-.015em;margin:0;text-box:trim-both cap alphabetic}footer{padding:calc(2 * var(--leading)) 0;font-size:13px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 70%,transparent);display:flex;flex-wrap:wrap;gap:var(--half) var(--leading);justify-content:space-between}footer a{color:inherit}footer a:hover{color:var(--color-accent-700)}.repos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--leading);margin-top:calc(var(--leading) - var(--half))}.repos.one{grid-template-columns:minmax(0,440px)}.repos .card{gap:var(--space-2);padding:var(--space-4)}.repos .card-title{font-size:22px;line-height:var(--leading)}.repos .card-body{font-size:15.5px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 78%,transparent)}.repos .card-meta{margin-top:auto;padding-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:13px;letter-spacing:.04em}.repos .card-meta a{text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent)}.repos .card-meta a:hover{border-bottom-color:var(--color-accent-800)}@media(max-width:1080px){.cols{grid-template-columns:repeat(2,1fr)}.col:last-child{grid-column:1 / -1}.col:last-child p{max-width:var(--measure)}}@media(max-width:720px){.hero{padding-top:calc(2 * var(--leading))}.index,.cols,.entry{grid-template-columns:1fr}}@media(max-width:480px){.nav a{font-size:12px}}
