@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/17fc4918af.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/33c0c45f6b.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/3b76e74c0d.woff2) format("woff2");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:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/bbbd9b1202.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:italic;font-weight:400;font-display:swap;src:url(/fonts/a7d31096e7.woff2) format("woff2");unicode-range:u+00??,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-weight:400;font-display:swap;src:url(/fonts/fedd69636e.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/48b2593877.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/9141c334bc.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/7963a16ee5.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-weight:400;font-display:swap;src:url(/fonts/bc87d8e058.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-display:swap;src:url(/fonts/7439186b47.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/2501a3301e.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/aa44d4236b.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/25040cb42f.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-weight:500;font-display:swap;src:url(/fonts/a80b2cab5e.woff2) format("woff2");unicode-range:u+00??,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:300 600;font-display:swap;src:url(/fonts/e2a654aa34.woff2) format("woff2");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:Newsreader;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/0ea71c377a.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:Newsreader;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/c6ccfc6985.woff2) format("woff2");unicode-range:u+00??,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:normal;font-weight:300 600;font-display:swap;src:url(/fonts/2879c96c20.woff2) format("woff2");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:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/997f74927d.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:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/4aa9bb70e8.woff2) format("woff2");unicode-range:u+00??,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-scheme:light;--paper:#f3efe6;--paper-2:#eae5d9;--paper-3:#faf8f2;--rule:#d6cfbf;--rule-2:#e5e0d4;--ink:#26221b;--ink-2:#6a6455;--ink-3:#958d7a;--blue:#2f5f96;--blue-ink:#faf8f2;--blue-weak:#dde5ef;--ok:#3f7d3f;--ok-weak:#e2eddf;--warn:#a05e03;--warn-weak:#f6ead3;--crit:#b3261e;--crit-weak:#f6e0dc;--bar:hsla(42,35%,93%,.72);--serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;--mono:"IBM Plex Mono","SF Mono",Menlo,Consolas,monospace;--gutter:clamp(16px,4vw,56px);--max:1320px;--ease:cubic-bezier(.2,.7,.1,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#171512;--paper-2:#1f1c18;--paper-3:#1c1915;--rule:#353129;--rule-2:#292620;--ink:#ebe5d8;--ink-2:#a79f8e;--ink-3:#766f61;--blue:#93b3e6;--blue-ink:#171512;--blue-weak:#243248;--ok:#86c28f;--ok-weak:#1e3223;--warn:#e3b45b;--warn-weak:#3a2c12;--crit:#ef8b7f;--crit-weak:#3e221e;--bar:rgba(23,21,18,.62)}}:root[data-theme=dark]{color-scheme:dark;--paper:#171512;--paper-2:#1f1c18;--paper-3:#1c1915;--rule:#353129;--rule-2:#292620;--ink:#ebe5d8;--ink-2:#a79f8e;--ink-3:#766f61;--blue:#93b3e6;--blue-ink:#171512;--blue-weak:#243248;--ok:#86c28f;--ok-weak:#1e3223;--warn:#e3b45b;--warn-weak:#3a2c12;--crit:#ef8b7f;--crit-weak:#3e221e;--bar:rgba(23,21,18,.62)}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font:17px/1.5 var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;min-height:100vh;display:flex;flex-direction:column}main{flex:1 1}a{color:inherit;text-decoration:none}button{background:none;border:0;cursor:pointer;padding:0}button,input,textarea{font:inherit;color:inherit}p{text-wrap:pretty}h1,h2,h3{font-weight:300;text-wrap:balance}ul{padding-left:1.1em}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.mono{font-family:var(--mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.link{color:var(--blue)}.link:hover{text-decoration:underline}.rise{animation:rise .9s var(--ease) both;animation-delay:var(--d,0s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.rise{animation:none}.js .reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}.mast{border-bottom:1px solid var(--ink);font:13px var(--mono);position:relative;z-index:5;background:var(--bar);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}.mast .in{display:flex;align-items:center;gap:26px;height:60px}.wordmark{font:500 19px var(--mono);letter-spacing:-.01em;flex:none;display:inline-flex}.brand i,.wordmark i{font-style:normal;color:var(--blue);animation:blink 1.3s steps(1) infinite}@keyframes blink{50%{opacity:.18}}@media (prefers-reduced-motion:reduce){.brand i,.wordmark i{animation:none}}.nav{display:flex;gap:22px;flex:none}.nav a{color:var(--ink-2);padding:4px 0;border-bottom:1px solid transparent;transition:color .15s}.nav a.cur,.nav a:hover{color:var(--ink)}.nav a.cur{border-bottom-color:var(--blue)}.search,.spacer{flex:1 1}.search{max-width:340px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--rule);height:30px;color:var(--ink-3);transition:border-color .15s}.search:focus-within{border-color:var(--ink)}.search input{flex:1 1;border:0;background:none;outline:none;min-width:0;color:var(--ink);font:13px var(--mono)}.search input::placeholder{color:var(--ink-3)}.search kbd{font:11px var(--mono);color:var(--ink-3);border:1px solid var(--rule);padding:0 5px;border-radius:3px}.mast .right{display:flex;align-items:center;gap:18px;flex:none}.textbtn{color:var(--ink-2);border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.textbtn:hover{color:var(--ink);border-bottom-color:var(--ink)}@media (max-width:860px){.mast .in{height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;gap:12px 20px}.nav{order:3;width:100%;gap:18px;overflow-x:auto;padding-bottom:2px}.search{display:none}}.chip{display:inline-flex;align-items:center;gap:6px;font:500 10.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:5px 7px 4px;border:1px solid;border-radius:2px;white-space:nowrap}.chip.demo{color:var(--warn)}.chip.ok{color:var(--ok)}.chip.blue{color:var(--blue)}.chip.quiet{color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;font:500 13px var(--mono);letter-spacing:.01em;border:1px solid var(--ink);border-radius:2px;color:var(--ink);white-space:nowrap;transition:background-color .18s,color .18s,border-color .18s,transform .18s var(--ease)}.btn:hover{background:var(--paper-3)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}.btn.sm{height:32px;padding:0 12px;font-size:12px}.btn.quiet{border-color:var(--rule);color:var(--ink-2)}.btn.quiet:hover{border-color:var(--ink);color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.hero{position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0 32px;gap:0 32px;min-height:620px;align-items:center;padding:56px 0 72px}.veil{position:absolute;top:calc(-1 * var(--topbar, 61px));bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:0;pointer-events:none;overflow:hidden}.veil canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hero .lead{grid-column:1/8;position:relative;z-index:2}.kicker{font:500 12px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}.brand{font:500 clamp(48px,6.4vw,100px)/1 var(--mono);letter-spacing:-.06em;margin:18px 0}.tag{font-size:clamp(28px,2.6vw,40px);line-height:1.12;letter-spacing:-.015em;font-weight:300}.tag .dot{color:var(--blue)}.hero .actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}@media (max-width:900px){.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:78vh;padding:40px 0 0}}.sec{margin-top:80px}.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid var(--ink);padding-top:16px;flex-wrap:wrap}.sechead h2{font-size:clamp(30px,3vw,40px);line-height:1.05;letter-spacing:-.015em}.secnote{font:12px/1.5 var(--mono);color:var(--ink-2);max-width:58ch;text-align:right}.secnote a{color:var(--blue)}.secnote a:hover{text-decoration:underline}.stand{font-size:clamp(19px,1.55vw,23px);line-height:1.42;max-width:36em;font-weight:400}.byline{font:12.5px/1.6 var(--mono);color:var(--ink-2);margin-top:18px}.byline b{font-weight:500;color:var(--ink)}.byline a{color:var(--blue)}.byline a:hover{text-decoration:underline}.pnote{font:12px/1.55 var(--mono);margin-top:12px}.empty,.pnote{color:var(--ink-3)}.empty{font:14px var(--mono);padding:48px 0;text-align:center;list-style:none}@media (max-width:760px){.sec{margin-top:56px}.secnote{text-align:left}}.ladder{list-style:none;padding:0;margin:22px 0 0}.lhead,.row{display:grid;grid-template-columns:64px minmax(0,1fr) 150px 118px 100px 108px;grid-gap:0 20px;gap:0 20px;align-items:center}.ladder.nospark .lhead,.ladder.nospark .row{grid-template-columns:64px minmax(0,1fr) 170px 100px 118px}.lhead{font:500 10.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:0 0 10px;border-bottom:1px solid var(--ink)}.lhead .r{text-align:right}.row{position:relative;padding:18px 0;border-bottom:1px solid var(--rule);transition:background-color .2s}.row:hover{background:var(--paper-3)}.row .rank{font-size:36px;line-height:1;font-weight:300;color:var(--ink-3);font-feature-settings:oldstyle-nums tabular-nums;font-variant-numeric:oldstyle-nums tabular-nums;letter-spacing:-.02em;transition:color .2s}.row.top .rank{color:var(--ink)}.row:hover .rank{color:var(--blue)}.row .who{min-width:0}.row .name{font:500 15px var(--mono);letter-spacing:-.01em;transition:color .15s}.row:hover .name{color:var(--blue)}.stretch:after{content:"";position:absolute;inset:0}.stretch:focus-visible{outline:none}.stretch:focus-visible:after{outline:2px solid var(--blue);outline-offset:-2px}.row .by{font:12px var(--mono);color:var(--ink-3);margin-left:10px}.row .by .demo{color:var(--warn)}.row .gh{position:relative;z-index:1;font:12px var(--mono);color:var(--blue);margin-left:10px}.row .gh:hover{text-decoration:underline}.row .desc{font-size:16px;line-height:1.4;color:var(--ink-2);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row .cat{font:12px var(--mono);color:var(--ink-2)}.row .spark{color:var(--ink-2);transition:color .2s}.row:hover .spark{color:var(--blue)}.row .runs{font:400 18px var(--mono);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.row .runs small{display:block;font-size:10.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.row .mom{font:12px var(--mono);text-align:right}.up{color:var(--ok)}.down{color:var(--crit)}.flat,.ladderfoot{color:var(--ink-3)}.ladderfoot{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;font:12px var(--mono);flex-wrap:wrap}.ladderfoot a{color:var(--blue)}.ladderfoot a:hover{text-decoration:underline}@media (max-width:1000px){.ladder.nospark .lhead,.ladder.nospark .row,.lhead,.row{grid-template-columns:48px minmax(0,1fr) 100px 100px}.lhead .cat,.lhead .spark,.row .cat,.row .spark{display:none}}@media (max-width:600px){.ladder.nospark .lhead,.ladder.nospark .row,.lhead,.row{grid-template-columns:40px minmax(0,1fr) 84px;gap:0 12px}.lhead .mom,.row .mom{display:none}.row .rank{font-size:28px}.row .by{display:block;margin:2px 0 0}.row .gh{margin:0}.row .desc{font-size:15px}}.roles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0 32px;gap:0 32px;margin-top:8px}.role{position:relative;border-top:1px solid var(--rule);padding:20px 0 10px}.role .kicker{color:var(--ink-3)}.role h3{font-size:30px;line-height:1.1;letter-spacing:-.012em;margin:12px 0 10px;transition:color .15s}.role:hover h3{color:var(--blue)}.role p{font-size:16.5px;line-height:1.5;color:var(--ink-2)}.role .byline{margin-top:12px}@media (max-width:900px){.roles{grid-template-columns:1fr}}.feature{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0 32px;gap:0 32px;border-top:1px solid var(--ink);padding-top:26px}.feature .fl{grid-column:1/6}.feature .fr{grid-column:6/13;border-left:1px solid var(--rule);padding-left:32px}.fname{font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.025em;margin:14px 0 20px}.feature .actions{gap:12px;margin-top:26px}.feature .actions,.vhead{display:flex;flex-wrap:wrap}.vhead{align-items:center;gap:14px;font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);padding-bottom:12px;border-bottom:1px solid var(--rule)}.vhead .chip{margin-left:auto}.spread{position:relative;height:52px;margin:18px 0 4px}.spread .axis{position:absolute;left:0;right:0;top:26px;height:1px;background:var(--rule)}.spread .t{top:32px;font:11px var(--mono);color:var(--ink-3)}.spread .mk,.spread .t{position:absolute;transform:translateX(-50%)}.spread .mk{top:18px;width:1px;height:16px;background:var(--ink-2)}.spread .mk.best{background:var(--blue);width:2px;height:24px;top:10px}.moves{list-style:none;padding:0}.moves li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule-2)}.moves li:last-child{border-bottom:0}.moves .ix{font:12px var(--mono);color:var(--ink-3)}.moves .tt{font-size:18px;line-height:1.3}.moves .sc{font:13px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.moves li.best .tt{font-style:italic}.moves li.best .sc{color:var(--blue)}@media (max-width:900px){.feature{display:block}.feature .fr{border-left:0;padding-left:0;margin-top:36px}}.cols3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0 32px;gap:0 32px;margin-top:8px}.step{border-top:1px solid var(--rule);padding:22px 0 8px}.step .n{font-size:52px;line-height:1;font-weight:300;color:var(--ink-3);font-feature-settings:"onum";font-variant-numeric:oldstyle-nums;letter-spacing:-.02em}.step h3{font-size:27px;line-height:1.1;letter-spacing:-.01em;margin:18px 0 10px}.step p{font-size:16.5px;line-height:1.5;color:var(--ink-2)}.step p b{font-weight:500;color:var(--ink)}.pub{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0 32px;gap:0 32px}.pub .pl{grid-column:1/7}.pub .pr{grid-column:7/13;min-width:0}.pub h2{font-size:clamp(30px,3vw,40px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 16px}.pub p{font-size:16.5px;line-height:1.5;color:var(--ink-2);margin-bottom:12px;max-width:52ch}.pub p b{font-weight:500}.pub p b,.tree{color:var(--ink)}.tree{font:13px/1.7 var(--mono);background:var(--paper-2);padding:20px 22px;border-radius:2px;overflow-x:auto;white-space:pre}.tree .c{color:var(--ink-3)}.tree .k{color:var(--blue)}@media (max-width:900px){.cols3{grid-template-columns:1fr}.pub{display:block}.pub .pr{margin-top:24px}}.foot{margin-top:96px;border-top:1px solid var(--ink)}.foot .in{display:flex;gap:32px;align-items:flex-start;padding-top:26px;padding-bottom:48px;flex-wrap:wrap}.foot .wordmark{font-size:16px}.foot nav{display:flex;gap:18px;font:12.5px var(--mono);color:var(--ink-2);flex-wrap:wrap}.foot nav a:hover{color:var(--ink)}.colophon{font:12px/1.6 var(--mono);color:var(--ink-3);max-width:62ch;margin-left:auto}@media (max-width:760px){.foot{margin-top:64px}.colophon{margin-left:0}}.pagehead{padding:56px 0 18px}.pagehead h1{font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.025em;margin:16px 0 20px}.crumb{font:12.5px var(--mono);color:var(--ink-3);padding:22px 0 0}.crumb a:hover{color:var(--blue)}.filters{gap:26px;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--ink);margin-top:26px}.filters,.seg{display:flex;flex-wrap:wrap}.seg{gap:2px}.seg a,.seg button{font:12.5px var(--mono);color:var(--ink-2);padding:10px 12px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s}.seg .cur,.seg a:hover,.seg button:hover{color:var(--ink)}.seg .cur{border-bottom-color:var(--blue)}.seg .cnt{color:var(--ink-3);margin-left:6px}.sortrow{display:flex;gap:14px;align-items:center;font:12px var(--mono);color:var(--ink-3);padding-bottom:12px;flex-wrap:wrap}.sortrow a{color:var(--ink-2);border-bottom:1px solid transparent}.sortrow a.cur{color:var(--ink);border-bottom-color:var(--ink)}.filters.sub{border-bottom:1px solid var(--rule);margin-top:0}.filters.sub .seg a{font-size:12px;padding:8px 10px 10px}.filters .label{font:11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);align-self:center;margin-right:6px}@media (max-width:760px){.pagehead{padding:36px 0 12px}}.lhd{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:32px;gap:32px;align-items:end;padding:36px 0 28px;border-bottom:1px solid var(--ink)}.lhd h1{font:500 clamp(34px,4.6vw,60px)/1.02 var(--mono);letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:12px}.lhd .stand{margin-top:16px}.lhd .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;position:relative;z-index:30}.lgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:0 56px;gap:0 56px;align-items:start}.lmain .block{border-top:1px solid var(--rule);padding:24px 0 12px;margin-top:8px}.lmain .block:first-child{border-top:0;padding-top:28px}.block h2{font-size:30px;line-height:1.1;letter-spacing:-.015em;margin-bottom:14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.block h2 .cnt{font:12px var(--mono);color:var(--ink-3)}.block h2 .chip{align-self:center}.prose{max-width:64ch;font-size:17.5px;line-height:1.55}.prose p+p{margin-top:12px}.mute,.notice{color:var(--ink-2)}.notice{font:13px/1.55 var(--mono);border-left:1px solid var(--ink);padding:2px 0 2px 14px;margin:16px 0;max-width:70ch}.notice b{color:var(--ink);font-weight:500}.skills{list-style:none;padding:0;max-width:72ch}.skills li{padding:10px 0;border-bottom:1px solid var(--rule-2)}.skills li:last-child{border-bottom:0}.skills .sn{font:500 13px var(--mono)}.skills .sd{font-size:15.5px;line-height:1.45;color:var(--ink-2);margin-top:2px}details.more summary{font:12px var(--mono);color:var(--blue);cursor:pointer;padding:10px 0;list-style:none}details.more summary::-webkit-details-marker{display:none}table.cert{width:100%;border-collapse:collapse;font-size:15px;max-width:760px}table.cert th{font:500 10.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 0 10px;border-bottom:1px solid var(--ink)}table.cert td{padding:12px 16px 12px 0;border-bottom:1px solid var(--rule-2);vertical-align:top}table.cert td.r{font:500 12.5px var(--mono);white-space:nowrap}.res-pass{color:var(--ok)}.res-partial{color:var(--warn)}.res-fail{color:var(--crit)}.scorebar{height:2px;background:var(--rule);max-width:760px;margin:14px 0 18px;position:relative;overflow:hidden}.scorebar i{position:absolute;left:0;top:0;bottom:0;background:var(--ink);transform-origin:left;animation:grow 1.1s var(--ease) both .2s}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pull{padding:18px 0;border-bottom:1px solid var(--rule-2);max-width:70ch}.pull:last-of-type{border-bottom:0}.pull blockquote{font-style:italic;font-weight:300;font-size:22px;line-height:1.35;quotes:"\201C" "\201D"}.pull blockquote:before{content:open-quote}.pull blockquote:after{content:close-quote}.pull figcaption{font:12px/1.6 var(--mono);color:var(--ink-2);margin-top:10px;display:flex;gap:0 10px;flex-wrap:wrap}.pull figcaption b{color:var(--ink);font-weight:500}.pull figcaption span+span:before{content:"· ";color:var(--ink-3)}.thread{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule-2)}.thread:last-child{border-bottom:0}.thread .tt{font-size:18px;line-height:1.3}.thread .tx{font-size:15px;color:var(--ink-2);margin-top:3px}.thread .tn{margin-left:auto;font:12px var(--mono);color:var(--ink-3);white-space:nowrap;flex:none}.kv{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule-2);font:13px var(--mono)}.kv:last-child{border-bottom:0}.kv .k{color:var(--ink-2);flex:none}.kv .v{text-align:right;min-width:0;overflow-wrap:anywhere}.kv .v a{color:var(--blue)}.kv .v a:hover{text-decoration:underline}.kv .v.good{color:var(--ok)}.kv .v.warn{color:var(--warn)}.lside{position:-webkit-sticky;position:sticky;top:20px;padding-top:28px;z-index:1}.panel{border-top:1px solid var(--ink);padding:14px 0 18px;margin-bottom:16px}.panel h3{display:flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}.panel h3 .chip{margin-left:auto}.bignum{font:400 40px/1 var(--mono);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:6px 0 2px}.bignum small{font-size:12px;letter-spacing:0;margin-top:6px;line-height:1.4}.bignum small,.panel .spark{display:block;color:var(--ink-2)}.panel .spark{width:100%;height:44px;margin:10px 0 4px}.drawin path{stroke-dasharray:1;stroke-dashoffset:1;animation:drawin 1.4s var(--ease) both .15s}@keyframes drawin{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.drawin path{stroke-dashoffset:0}.drawin path,.scorebar i{animation:none}}@media (max-width:1000px){.lgrid{display:block}.lside{position:static;padding-top:8px;margin-top:24px}.lhd{display:block}.lhd .actions{margin-top:22px}}.install-menu{position:relative}.menu{position:absolute;top:50px;right:0;width:min(580px,calc(100vw - 32px));background:var(--paper-3);border:1px solid var(--ink);border-radius:2px;padding:16px;z-index:40;box-shadow:0 18px 40px rgba(0,0,0,.14);animation:rise .25s var(--ease) both;max-height:75dvh;overflow-y:auto;overflow-wrap:anywhere}@media (max-width:1000px){.install-menu{position:static}.menu{top:calc(100% + 8px);left:0;right:auto;width:min(580px,100%)}}.menu .mtop{display:flex;align-items:center;gap:10px}.menu .hint{font:11px/1.5 var(--mono);color:var(--ink-3);flex:1 1;letter-spacing:.04em}.menu .seg{margin:12px 0 4px;border-bottom:1px solid var(--rule)}.menu .seg button{font-size:12px;padding:8px 9px 10px}.menu .body{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:15px}.menu .body .kv{font-size:12.5px}.menu .body .kv .v{text-align:left}.menu .small{font:12px/1.55 var(--mono);color:var(--ink-2)}.menu .small a{color:var(--blue)}.menu .scope{display:flex;gap:6px}.menu .scope button{font:12px var(--mono);padding:5px 9px;border:1px solid var(--rule);border-radius:2px;color:var(--ink-2)}.menu .scope button.cur{border-color:var(--ink);color:var(--ink)}.menu .downloads{max-height:200px;overflow-y:auto;border:1px solid var(--rule);border-radius:2px}.menu .downloads .kv{padding:7px 10px;align-items:center}.cmd{display:flex;align-items:center;gap:10px;background:var(--paper-2);padding:10px 12px;border-radius:2px;font:12.5px var(--mono);overflow:hidden}.cmd code{flex:1 1;white-space:nowrap;overflow-x:auto;font:inherit}.cmd button{color:var(--ink-2);font:11.5px var(--mono);flex:none}.cmd button:hover{color:var(--blue)}.menu .all{font:11px/1.6 var(--mono);color:var(--ink-3);margin-top:14px;padding-top:12px;border-top:1px solid var(--rule-2);overflow-wrap:anywhere}.menu .all code{color:var(--ink-2);font:inherit}.stage{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:0 20px;gap:0 20px;border-top:1px solid var(--rule);padding:26px 0 18px}.stage .n{font-size:44px;line-height:1;font-weight:300;color:var(--ink-3);font-feature-settings:"onum";font-variant-numeric:oldstyle-nums}.stage h3{font-size:28px;line-height:1.12;letter-spacing:-.012em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.stage h3 .chip{align-self:center}.stage .cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:0 40px;gap:0 40px;margin-top:16px}.stage .lab{font:500 10.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.stage ul{font-size:16.5px;line-height:1.5;color:var(--ink-2)}.stage .line{font-size:16px;line-height:1.5;margin-top:10px}.stage .line span{font:12px var(--mono);color:var(--ink-3);margin-right:6px}.stage .evidence{margin-top:14px;border-left:1px solid var(--ink);padding-left:14px}.stage .evidence p{font-style:italic;font-weight:300;font-size:17px;line-height:1.4;margin-bottom:8px}.stage .evidence a{font:normal 12px var(--mono);color:var(--blue);margin-left:6px}.stage .inote{font-size:15.5px;line-height:1.5;margin-top:12px;padding:10px 12px;background:var(--warn-weak);color:var(--ink);border-radius:2px}.stage .inote b{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);margin-right:6px}.stage .skill{padding:9px 0;border-bottom:1px solid var(--rule-2)}.stage .skill:last-child{border-bottom:0}.stage .skill a{font:500 13px var(--mono);color:var(--blue);overflow-wrap:anywhere}.stage .skill a:hover{text-decoration:underline}.stage .skill p{font-size:15px;line-height:1.45;color:var(--ink-2);margin-top:2px}@media (max-width:900px){.stage{grid-template-columns:1fr}.stage .n{font-size:34px;margin-bottom:8px}.stage .cols{grid-template-columns:1fr;gap:18px}}.sim{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;grid-gap:0 36px;gap:0 36px;align-items:start;margin-top:28px}.sim>section{border-top:1px solid var(--ink);padding-top:14px}.sim h2{font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);display:flex;justify-content:space-between;margin-bottom:8px}.persona{padding:12px 0;border-bottom:1px solid var(--rule-2)}.persona .top{display:flex;align-items:baseline;gap:10px}.persona .code{font:500 11px var(--mono);color:var(--ink-2);border:1px solid var(--rule);padding:2px 5px;border-radius:2px}.persona .nm{font-size:17px;line-height:1.3}.persona .sh{margin-left:auto;font:12px var(--mono);color:var(--ink-2)}.persona p{font-size:14.5px;color:var(--ink-2);margin-top:4px;line-height:1.4}.composer textarea{width:100%;min-height:110px;resize:vertical;background:var(--paper-2);color:var(--ink);border:1px solid var(--rule);border-radius:2px;padding:14px 16px;font:18px/1.45 var(--serif)}.composer textarea:focus{outline:none;border-color:var(--ink)}.composer .row2{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;font:12px var(--mono);color:var(--ink-3)}.composer .row2 .btn{margin-left:auto}.err{font:13px var(--mono);color:var(--crit);margin-top:10px}.result{margin-top:26px;border-top:1px solid var(--rule)}.agg{display:flex;align-items:flex-end;gap:28px;padding:18px 0;border-bottom:1px solid var(--rule-2);flex-wrap:wrap}.agg .big{font:400 44px/1 var(--mono);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agg .big small{font-size:14px;color:var(--ink-2);letter-spacing:0}.agg .lbl{font:12px var(--mono);color:var(--ink-2);margin-top:6px}.dist{flex:1 1;min-width:220px}.dist .track{display:flex;height:6px;background:var(--rule-2)}.dist .track i{display:block;height:100%}.dist .legend{display:flex;gap:16px;margin-top:8px;font:12px var(--mono);flex-wrap:wrap}.opinion{padding:18px 0;border-bottom:1px solid var(--rule-2)}.opinion q{quotes:"\201C" "\201D";font-style:italic;font-weight:300;font-size:21px;line-height:1.35;display:block}.opinion footer{font:12px var(--mono);color:var(--ink-2);margin-top:8px;display:flex;gap:12px;flex-wrap:wrap}.opinion footer b{font-weight:500;color:var(--ink)}.stance-supportive{color:var(--ok)}.stance-hesitant{color:var(--warn)}.stance-opposed{color:var(--crit)}.dirs{list-style:none;padding:0}.dirs li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule-2)}.dirs .ix{font:11.5px var(--mono);color:var(--ink-3)}.dirs .tt{font-size:16px;line-height:1.3}.dirs .sc{font:12.5px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dirs li.cur .tt{color:var(--blue);font-style:italic}@media (max-width:1100px){.sim{grid-template-columns:1fr;gap:28px}}