:root{--bg:#fbfbf9;--panel:#fff;--panel-2:#f1f1ec;--line:#d9d9d2;--frame:#17171d;--ink:#17171d;--ink-2:#4b4b57;--accent:#2b3bd6;--on-accent:#fff;--link:#2433b8;--vermilion:#c9341d;--ultramarine:#2b3bd6;--ochre:#e3a72f;--viridian:#17806a;--plum:#7a3b78;--head:"Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--w:1120px}@media (prefers-color-scheme:dark){:root{--bg:#14141a;--panel:#1c1c24;--panel-2:#23232d;--line:#34343f;--frame:#f1f1ea;--ink:#f1f1ea;--ink-2:#b7b7c4;--accent:#8b97ff;--on-accent:#14141a;--link:#a9b3ff;--vermilion:#e5543c;--ultramarine:#5b6af0;--ochre:#e8b445;--viridian:#2fa68c;--plum:#a65ba3}}.hue-vermilion{--hue:var(--vermilion);--on:#fff}.hue-ultramarine{--hue:var(--ultramarine);--on:#fff}.hue-ochre{--hue:var(--ochre);--on:#17171d}.hue-viridian{--hue:var(--viridian);--on:#fff}.hue-plum{--hue:var(--plum);--on:#fff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:17px/1.65 var(--body);margin:0}a{color:var(--link);text-underline-offset:3px}img,svg{max-width:100%;height:auto}.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--accent);color:var(--on-accent);z-index:9;padding:6px 10px;top:8px;left:8px}h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.025em;margin:1.5em 0 .45em;font-weight:800;line-height:1.08}h1{margin-top:.2em;font-size:clamp(32px,5.4vw,54px)}h2{font-size:27px}h3{font-size:20px}h2.small{font:700 13px var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2)}code{background:var(--panel-2);overflow-wrap:anywhere;padding:1px 5px;font-size:.9em}.mast{border-bottom:3px solid var(--frame);background:var(--bg);z-index:5;position:sticky;top:0}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 22px;padding-top:12px;padding-bottom:12px;display:flex}.brand{font:800 21px var(--head);color:var(--ink);letter-spacing:-.03em;align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.band-head a{padding:10px 0;display:inline-block}.skip:focus{min-height:44px}.brand svg{flex:none;width:26px;height:26px}.nav{font:600 15px var(--body);flex-wrap:wrap;gap:0 22px;display:flex}.nav a{min-height:44px;color:var(--ink);border-bottom:4px solid #0000;align-items:center;padding:0 2px;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--hue)}.kick{font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;background:var(--hue,var(--accent));color:var(--on,#fff);margin:0;padding:3px 9px;display:inline-block}.lede{color:var(--ink-2);max-width:62ch;margin:.6em 0 0;font-size:20px}.crumbs{font:600 13px var(--body);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0 0;display:flex}.crumbs a{color:var(--ink-2);align-items:center;min-height:44px;padding:0 6px;display:inline-flex}.prose{max-width:760px;margin-left:auto;margin-right:auto}.prose.static{padding-bottom:40px}.hub-head{padding:26px 0 10px}.btn{background:var(--frame);color:var(--bg);font:700 14px var(--body);padding:11px 18px;text-decoration:none;display:inline-block}.cols{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0 30px;display:grid}.story{background:var(--panel);border:2px solid var(--frame);border-top:12px solid var(--hue,var(--frame));color:var(--ink);padding:16px 16px 18px;text-decoration:none;display:block;position:relative}.story:hover{box-shadow:6px 6px 0 var(--hue,var(--frame));transform:translate(-2px,-2px)}.story h2,.story h3{margin:.3em 0;font-size:20px}.story p{color:var(--ink-2);margin:0;font-size:15.5px}.story .code{font:800 13px var(--head);letter-spacing:.06em;color:var(--ink)}.story .n{font:700 12px var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin-top:10px}.hero{padding:32px 0 6px}.hero-frame{border:3px solid var(--frame);background:var(--panel);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);display:grid}.hero-text{padding:34px 32px 30px}.hero h1{margin:.3em 0 .35em;font-size:clamp(34px,5.4vw,58px);line-height:1.02}.hero-art{border-left:3px solid var(--frame);background:#17171d;flex-direction:column;margin:0;display:flex}.hero-art svg{flex:auto;width:100%;height:100%;min-height:240px;display:block}.hero-art img{object-fit:cover;flex:auto;width:100%;height:100%;min-height:240px;display:block}.tally{font:600 14.5px var(--body);color:var(--ink-2);margin:22px 0 0}.hero-art figcaption{font:600 12px var(--body);color:var(--bg);background:var(--frame);padding:8px 12px}.chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:460px;margin:22px 0 0;display:grid}.chips a{min-height:48px;font:700 15.5px/1.2 var(--body);border:2px solid var(--frame);color:var(--ink);background:var(--bg);align-items:center;padding:6px 14px;text-decoration:none;display:flex}.chips a:hover{background:var(--frame);color:var(--bg)}.swatches{border:3px solid var(--frame);grid-template-columns:repeat(5,1fr);margin:22px 0 0;display:grid}.swatches a{background:var(--hue);color:var(--on);font:800 16px/1.1 var(--head);letter-spacing:-.02em;border-right:3px solid var(--frame);padding:38px 12px 12px;text-decoration:none}.swatches a:last-child{border-right:0}.swatches a span{font:700 11px var(--body);letter-spacing:.1em;opacity:.9;margin-bottom:6px;display:block}.stats{border:3px solid var(--frame);background:var(--panel);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:26px 0;display:grid}.stats div{border-right:3px solid var(--frame);padding:14px 16px}.stats div:last-child{border-right:0}.stats dt{font:700 11px var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2)}.stats dd{font:800 30px var(--head);margin:2px 0 0}.stats dd.date{padding-top:9px;font-size:17px}.band-head{border-bottom:3px solid var(--frame);justify-content:space-between;align-items:baseline;gap:12px;margin-top:34px;display:flex}.band-head h2{margin:0 0 8px;font-size:24px}.trust{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:36px 0 48px;display:grid}.trust div{border-left:6px solid var(--frame);color:var(--ink-2);padding:2px 0 2px 14px;font-size:15.5px}.trust b{color:var(--ink);font:800 16px var(--head);margin-bottom:3px;display:block}.art-head{padding-top:12px}.dek{color:var(--ink-2);margin:.3em 0 .8em;font-size:20px}.by strong{color:var(--ink)}.by{color:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0 20px;padding:9px 0;font-size:14px}.by a{color:var(--ink)}.answer{background:var(--panel);border:2px solid var(--frame);border-left:14px solid var(--hue,var(--accent));margin:0 0 20px;padding:14px 18px 16px}.answer .label{font:800 12px var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}.answer p{margin:.35em 0 0;font-size:19px;line-height:1.5}.glance{background:var(--frame);border:2px solid var(--frame);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;margin:0 0 24px;display:grid}.glance div{background:var(--panel);padding:10px 14px}.glance dt{font:700 12px var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2)}.glance{grid-auto-rows:1fr}.glance dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:16px}.standfirst{font:500 21px/1.5 var(--head);letter-spacing:-.01em;border-left:6px solid var(--hue,var(--accent));margin:0 0 22px;padding-left:16px}.answer.guide{background:var(--frame);color:var(--bg);border-color:var(--frame);border-left-color:var(--hue,var(--accent))}.answer.guide .label{color:var(--bg)}.answer.reference{border-left:2px solid var(--frame);border-top:14px solid var(--hue,var(--accent))}.lay-guide .body ul{counter-reset:step;padding-left:0;list-style:none}.lay-guide .body ul>li{counter-increment:step;background:var(--panel);border:2px solid var(--frame);margin:0 0 12px;padding:10px 14px 10px 62px;position:relative}.lay-guide .body ul>li:before{content:counter(step);background:var(--hue,var(--frame));width:46px;color:var(--on,var(--bg));font:800 22px var(--head);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.lay-story .body h2{border-top-width:1px;font-size:25px}.body p>img{background:var(--panel);border:2px solid var(--frame);width:100%;height:auto;margin:1em 0;padding:10px;display:block}.lead img{object-fit:contain;width:100%;max-height:520px;display:block}.hub-feature{border:3px solid var(--frame);background:var(--panel);border-top:14px solid var(--hue);color:var(--ink);grid-template-columns:minmax(0,1fr);margin:18px 0 8px;padding:18px 20px 20px;text-decoration:none;display:grid}.hub-feature:hover{box-shadow:6px 6px 0 var(--hue);transform:translate(-2px,-2px)}.hub-feature h3{margin:.2em 0 .3em;font-size:26px}.hub-feature p{color:var(--ink-2);max-width:62ch;margin:0}.hub-feature .kick{place-self:start}.rows{border-top:3px solid var(--frame);margin:8px 0 30px;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--line);margin:0}.rows a{color:var(--ink);grid-template-columns:38px minmax(0,1fr);gap:2px 8px;padding:14px 0;text-decoration:none;display:grid}.rows a:hover h3{text-decoration:underline;text-decoration-color:var(--hue);text-decoration-thickness:4px}.rows .code{font:800 13px var(--head);grid-row:span 2;padding-top:4px}.rows h3{margin:0;font-size:19px}.rows p{color:var(--ink-2);margin:0;font-size:15.5px}.note{border-left:6px solid var(--hue,var(--accent));max-width:62ch;margin:30px 0;padding:2px 0 2px 16px;font-size:18px}.note b{font-family:var(--head)}.toc{border:2px solid var(--frame);background:var(--panel);margin:0 0 24px;padding:10px 16px}.toc summary{font:800 13px var(--body);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;align-items:center;min-height:32px;display:flex}.toc ol{margin:8px 0 4px;padding-left:20px;font-size:15.5px}.toc a{color:var(--ink)}.body>:first-child{margin-top:0}.body h2{border-top:3px solid var(--hue,var(--frame));margin-top:1.9em;padding-top:.55em;scroll-margin-top:80px;font-size:28px}.body ul,.body ol{padding-left:22px}.body li{margin:.3em 0}.tbl{border:2px solid var(--frame);background:linear-gradient(to right, var(--panel) 30%, transparent), linear-gradient(to left, var(--panel) 30%, transparent) 100% 0, linear-gradient(to right, #00000038, transparent), linear-gradient(to left, #00000038, transparent) 100% 0;background-repeat:no-repeat;background-size:36px 100%,36px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;margin:1em 0;overflow-x:auto}.tbl table{min-width:520px}.tbl-hint.on{display:block}.tbl-hint{font:600 12.5px var(--body);color:var(--ink-2);margin:1em 0 -.6em;display:none}.tbl table{border-collapse:collapse;width:100%;font-size:15.5px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.tbl th{background:var(--hue,var(--frame));color:var(--on,var(--bg));font:700 12px var(--body);text-transform:uppercase;letter-spacing:.08em}.tbl tr:last-child td{border-bottom:0}@media (width<=600px){.tbl.t2 table{min-width:0;display:block}.tbl.t2 thead{display:none}.tbl.t2 tbody,.tbl.t2 tr,.tbl.t2 td{display:block}.tbl.t2 tr{border-bottom:1px solid var(--line);padding:8px 0}.tbl.t2 td{border:0;padding:2px 12px}.tbl.t2 td:first-child{font-weight:700}}blockquote{border-left:6px solid var(--hue,var(--frame));color:var(--ink-2);background:var(--panel);margin:1em 0;padding:4px 16px}figure{margin:1.2em 0}figure.lead,figure.diagram{background:var(--panel);border:2px solid var(--frame);padding:12px}figcaption{color:var(--ink-2);margin-top:6px;font-size:13.5px}figcaption .credit{font-size:12.5px;display:block}.faq details{border-bottom:1px solid var(--line);padding:11px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--ink-2);margin:.5em 0 0}.faq-plain dl{margin:0}.faq-plain dl>div{border-left:4px solid var(--hue,var(--accent));margin:0 0 14px;padding:11px 0 11px 16px}.faq-plain dt{font-weight:700}.faq-plain dd{color:var(--ink-2);margin:.35em 0 0}.sources ol{padding-left:22px;font-size:15.5px}.sources li{overflow-wrap:anywhere;margin:.4em 0}.src-domain{color:var(--ink-2);font-size:13.5px}.endnote{color:var(--ink-2);border-top:1px solid var(--line);margin-top:28px;padding-top:14px;font-size:14.5px}.next{margin-top:34px}.changes{padding:0;list-style:none}.changes li{border-bottom:1px solid var(--line);padding:10px 0}.changes time{font:700 13px var(--body);color:var(--ink-2);display:block}.foot{border-top:3px solid var(--frame);color:var(--ink-2);margin-top:44px;padding:26px 0 38px;font-size:14.5px}.foot-name{font:800 18px var(--head);color:var(--ink);margin:0 0 8px}.foot-links{font:600 15px var(--body);flex-wrap:wrap;gap:0 22px;display:flex}.foot-links a{color:var(--ink);align-items:center;min-height:44px;display:inline-flex}.copy{margin:12px 0 0}.hub-band{background:var(--hue);border:3px solid var(--frame);height:14px;margin:0 0 4px}.card-n{font:800 13px var(--head);margin-right:6px;display:inline-block}.about-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0 8px;display:grid}.about-grid .story{cursor:default}.about-grid .story:hover{box-shadow:none;transform:none}.about-grid .story h3{margin-top:.2em}.about-grid .story p{font-size:15.5px}.pro{gap:8px;margin:1em 0;padding:0;list-style:none;display:grid}.pro li{border-left:6px solid var(--hue,var(--frame));background:var(--panel);margin:0;padding:8px 14px}@media (width<=820px){body{font-size:16.5px}.nav{gap:0 18px;width:100%}.answer{border-left-width:10px;padding:12px 14px 14px}.answer p{font-size:18px}.glance{grid-template-columns:repeat(2,1fr)}.glance div{padding:8px 10px}.glance dd{font-size:15px}.chips{max-width:none}.hero-frame{grid-template-columns:1fr}.hero-art{border-left:0;border-top:3px solid var(--frame)}.hero-text{padding:24px 20px}.swatches{grid-template-columns:repeat(2,1fr)}.swatches a{border-bottom:3px solid var(--frame)}.stats div{border-right:0;border-bottom:3px solid var(--frame)}.mast{position:static}}@media (width<=600px){.art-head .kick{display:none}}.static table{border-collapse:collapse;border:2px solid var(--frame);width:100%;margin:1em 0;font-size:15.5px;display:block;overflow-x:auto}.static th,.static td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;min-width:150px;padding:9px 12px}.static th{background:var(--frame);color:var(--bg);font:700 12px var(--body);text-transform:uppercase;letter-spacing:.08em}.body .ed-note{background:var(--hue,var(--accent));color:var(--on,var(--on-accent));border:3px solid var(--frame);box-shadow:7px 7px 0 var(--frame);font:600 19px/1.45 var(--head);letter-spacing:-.01em;margin:1.8em 0;padding:16px 20px;position:relative}.body .ed-note:before{content:"Editor's note";font:800 11px var(--body);letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin:0 0 6px;display:block}.body .ed-note p{margin:0}.body .ed-note a{color:inherit}.lay-story .body>p:first-child:first-letter{float:left;font:800 4.3em/.82 var(--head);color:var(--ink);text-shadow:3px 3px 0 var(--hue,var(--accent));padding:.04em .1em 0 0}.next-line{border-left:6px solid var(--hue,var(--accent));margin:34px 0 0;padding-left:16px;font-size:18px}.next .rows{margin-bottom:8px}.band-rows{margin-top:10px}@media (width<=600px){.body .ed-note{box-shadow:4px 4px 0 var(--frame);font-size:17.5px}}.n-inline{font:700 12px var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);white-space:nowrap}
