:root{--bg:#f7f5ef;--surface:#fff;--line:#e3dfd3;--line-soft:#efece4;--line-dashed:#d8d3c5;--ink:#1e1d1a;--ink-2:#33312c;--soft:#4a473f;--muted:#6b675d;--accent:#2e6b4e;--accent-strong:#1f4d37;--accent-bg:#e7efe9;--accent-line:#c9dccf;--accent-ink:#22382c;--chip:#eeebe3;--chip-2:#f2efe7;--quote-bg:#fbf3e4;--quote-line:#efd9ae;--quote-ink:#4e3a12;--quote-meta:#7a5a1c;--dep-bg:#e9edf1;--dep-ink:#2f3b47;--ev-maker:#e9c47a;--ev-code:#9fb0c1;--ev-site:#b9a9d8;--ev-legal:#93c4a9;--ev-case:#e7a6a0;--ev-jobs:#8fc1d4;--shadow:0 1px 2px #0000000f;--serif:"Fraunces", Georgia, serif;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:48px;--max:1140px}@media (prefers-color-scheme:dark){:root{--bg:#171715;--surface:#201f1c;--line:#34322d;--line-soft:#2a2925;--line-dashed:#45423b;--ink:#ece9e1;--ink-2:#d9d5cb;--soft:#c4bfb3;--muted:#a29d90;--accent:#7db894;--accent-strong:#a5d3b6;--accent-bg:#1f2e25;--accent-line:#2f4a39;--accent-ink:#cfe3d6;--chip:#2a2925;--chip-2:#26251f;--quote-bg:#2b2415;--quote-line:#54442a;--quote-ink:#f0ddb3;--quote-meta:#cdb27a;--dep-bg:#252b32;--dep-ink:#c9d3dd;--ev-maker:#c9a257;--ev-code:#7d8fa1;--ev-site:#9887bd;--ev-legal:#6b9f84;--ev-case:#b97a74;--ev-jobs:#5f97ab;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline}img{max-width:100%}h1,h2,h3{margin:0;line-height:1.15}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.grid-12{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;display:grid}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-9{grid-column:span 9}.span-3{grid-column:span 3}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-18{gap:18px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-28{gap:28px}.gap-32{gap:32px}.gap-40{gap:40px}.wrap-row{flex-wrap:wrap}.between{justify-content:space-between}.baseline{align-items:baseline}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){:root{--gutter:16px}.grid-12{flex-direction:column;gap:24px;display:flex}.cols-3,.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.cols-2,.cols-3,.cols-4{grid-template-columns:minmax(0,1fr)}}.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:8px;font-size:12px;font-weight:600}.muted{color:var(--muted)}.soft{color:var(--soft)}.small{font-size:14px}.xsmall{font-size:13px}.h1{font-family:var(--serif);letter-spacing:-.01em;font-size:48px;font-weight:600;line-height:1.06}.h2{font-family:var(--serif);font-size:26px;font-weight:600}.h2-sm{font-family:var(--serif);font-size:22px;font-weight:600}.lede{color:var(--soft);max-width:760px;font-size:18px;line-height:1.55}@media (width<=600px){.h1{font-size:34px}.h2{font-size:22px}.lede{font-size:16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px}.card-link{color:var(--ink);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.card-link:hover{border-color:var(--accent);color:var(--ink);text-decoration:none}.pad{padding:20px 22px}.pad-sm{padding:16px 18px}.dashed{background:var(--surface);border:1px dashed var(--line-dashed);color:var(--soft);border-radius:10px;padding:12px 16px;font-size:14px}.dashed summary{cursor:pointer}.decision{background:var(--accent-bg);border:1px solid var(--accent-line);border-radius:12px;padding:22px 24px}.decision h2{font-family:var(--serif);color:var(--accent-strong);margin-bottom:8px;font-size:20px;font-weight:600}.decision p{color:var(--accent-ink);line-height:1.6}.divider{border-top:1px solid var(--line-soft);padding-top:12px}.tag{background:var(--chip);min-height:22px;color:var(--soft);white-space:nowrap;border-radius:4px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}a.tag:hover{background:var(--accent-bg);color:var(--accent-strong);text-decoration:none}.tag-accent{background:var(--accent-bg);color:var(--accent-strong)}.chip{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:14px;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.chip-on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tool-chip{background:var(--chip-2);min-height:24px;color:var(--ink-2);border-radius:4px;align-items:center;gap:6px;padding:0 8px;font-size:13px;display:inline-flex}.pill{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}a.pill:hover{border-color:var(--accent);text-decoration:none}.dep{font-family:var(--mono);background:var(--dep-bg);color:var(--dep-ink);border-radius:4px;padding:2px 6px;font-size:12.5px}.logo{object-fit:cover;background:var(--surface);border:1px solid var(--line);flex-shrink:0}.logo-fallback{background:var(--chip);color:var(--soft);font-family:var(--serif);border:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.logo-stack{padding-left:6px;display:inline-flex}.logo-stack>*{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.ev-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.ev-maker{background:var(--ev-maker)}.ev-code{background:var(--ev-code)}.ev-site{background:var(--ev-site)}.ev-legal{background:var(--ev-legal)}.ev-case{background:var(--ev-case)}.ev-jobs{background:var(--ev-jobs)}.quote{background:var(--quote-bg);border:1px solid var(--quote-line);border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.quote p{color:var(--quote-ink);overflow-wrap:anywhere;font-size:14px;line-height:1.55}.quote .meta{color:var(--quote-meta);font-size:12px}.quote .meta a{color:var(--quote-meta);text-decoration:underline}.quote details summary{cursor:pointer;list-style:none}.quote details summary::-webkit-details-marker{display:none}.quote details[open] summary{display:none}.quote .more{color:var(--quote-meta);font-size:12px;text-decoration:underline}html{scroll-padding-top:80px}.site-header{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);position:sticky;top:0}.head{align-items:stretch;gap:24px;height:64px;display:flex}.brand{font-family:var(--serif);color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:19px;font-weight:600;display:inline-flex}.brand:hover{color:var(--ink);text-decoration:none}.mark{background:var(--accent);width:28px;height:28px;color:var(--bg);font:700 17px/1 var(--serif);border-radius:7px;place-items:center;display:inline-grid}.nav{align-items:stretch;gap:20px;font-size:14.5px;display:flex}.nav-link{color:var(--soft);white-space:nowrap;align-items:center;display:inline-flex;position:relative}.nav-link:hover{color:var(--ink);text-decoration:none}.nav-link[aria-current=page]{color:var(--ink);font-weight:600}.nav-link[aria-current=page]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.head-end{align-items:center;gap:8px;margin-left:auto;display:flex}.head-btn{white-space:nowrap;border-radius:8px;align-items:center;height:36px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.head-btn:hover{text-decoration:none}.head-btn.ghost{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.head-btn.ghost:hover,.head-btn.ghost[aria-current=page]{border-color:var(--accent);color:var(--accent-strong)}.head-btn.solid{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.head-btn.solid:hover,.head-btn.solid[aria-current=page]{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--bg)}.menu{display:none;position:relative}.menu summary{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:14px;list-style:none;display:inline-flex}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{border-color:var(--accent)}.menu-panel{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:12px;flex-direction:column;width:260px;padding:6px;display:flex;position:absolute;top:44px;right:0;box-shadow:0 12px 32px #00000024}.menu-panel a{color:var(--ink);border-radius:6px;padding:8px 10px;font-size:14px}.menu-panel a:hover{background:var(--accent-bg);text-decoration:none}.menu-panel a[aria-current=page]{color:var(--accent-strong);font-weight:600}.menu-tool{flex-direction:column;gap:1px;display:flex}.menu-tool span{color:var(--muted);font-size:12px}.menu-panel hr{border:0;border-top:1px solid var(--line-soft);margin:6px 4px}.crumbs{color:var(--muted);padding-top:32px;font-size:14px}.section{padding:32px 0}.site-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);margin-top:80px;font-size:14px}.foot{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px;padding-top:44px;padding-bottom:8px;display:grid}.foot-about{flex-direction:column;gap:12px;max-width:360px;display:flex}.foot-about p{margin:0;line-height:1.55}.foot-rules{font-size:13px}.foot-counts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.foot-counts a{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;font-size:13px;display:inline-flex}.foot-counts a:hover{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.foot-counts strong{color:var(--ink);font-variant-numeric:tabular-nums}.foot-col{flex-direction:column;gap:9px;display:flex}.foot-col h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 4px;font-size:12px;font-weight:600}.foot-col a{color:var(--soft);width:fit-content}.foot-col a:hover{color:var(--accent-strong)}.foot-dir{flex-direction:column;gap:28px;padding-top:28px;padding-bottom:36px;display:flex}.foot-dir>nav{border-top:1px solid var(--line-soft);padding-top:24px}.foot-dir h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.dir-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 28px;display:grid}.dir-grid a{min-width:0;color:var(--soft);align-items:center;gap:10px;padding:3px 0;display:flex}.dir-grid a:hover{color:var(--accent-strong);text-decoration:none}.dir-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.dir-rule{border-top:1px solid var(--line);flex:1;min-width:12px}.dir-n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.dir-grid a:hover .dir-rule{border-color:var(--accent-line)}@media (width<=900px){.dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.dir-grid{grid-template-columns:minmax(0,1fr)}}.foot-bar{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:28px;font-size:13px;display:flex}.foot-bar-links{gap:16px;display:flex}.foot-bar a{color:var(--muted)}@media (width<=1240px){.nav{display:none}.menu{display:block}}@media (width<=900px){.foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.foot-about{grid-column:1/-1;max-width:none}}@media (width<=960px){.head-btn.ghost{display:none}}@media (width<=820px){.head{gap:12px}.brand>span:last-child{display:none}}@media (width<=520px){.head-btn.solid,.menu summary span{display:none}}@media (width<=420px){.foot{grid-template-columns:minmax(0,1fr)}}.search{position:relative}.search label{border:1px solid var(--line);background:var(--surface);width:200px;height:36px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 8px 0 12px;transition:border-color .15s,width .2s;display:flex}.search label:focus-within{border-color:var(--accent)}.search input{font:inherit;width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:14px}.search input::-webkit-search-cancel-button{display:none}.key{border:1px solid var(--line);min-width:20px;height:20px;font:500 11px/1 var(--mono);color:var(--muted);background:var(--bg);border-radius:5px;flex:none;place-items:center;padding:0 5px;display:inline-grid}.search label:focus-within .key{display:none}.search-results{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:10px;width:360px;max-height:420px;padding:6px;position:absolute;top:44px;right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.search-results a{color:var(--ink);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.search-results a:hover,.search-results a[aria-selected=true]{background:var(--accent-bg);text-decoration:none}.search-results .kind{color:var(--muted);margin-left:auto;font-size:12px}@media (width<=820px){.head-end,.search{flex:1;min-width:0}.search label{width:100%}.key{display:none}.search-results{width:min(360px,100vw - 32px)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.stack>:is(h2,h3,.h2,.h2-sm):not(:last-child),.stack>.row:has(>:is(h2,h3,.h2,.h2-sm)):not(:last-child){margin-bottom:4px}
