:root{--paper:#fafafa;--ink:#0a0a0a;--g100:#f5f5f5;--g200:#ebebeb;--g300:#d4d4d4;--g500:#737373;--g800:#262626;--red:#e63946;--red-soft:#fbe3e5;--head:"Space Grotesk", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--col:48rem;--wide:72rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);margin:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--red)}h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.01em;margin:0 0 .5em;font-weight:700;line-height:1.1}h1{font-size:clamp(2.2rem,6vw,4rem)}h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}h3{font-size:1.25rem;font-weight:500}p{margin:0 0 1em}code,pre,.kicker,svg text{font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0}code{font-family:var(--mono);background:var(--g100);border:1px solid var(--g200);padding:0 .3em;font-size:.88em}em.r,.r{color:var(--red);font-style:normal}button{font:inherit}::selection{background:var(--ink);color:var(--paper)}.kicker{font:500 .75rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--g500);margin-bottom:.6rem;display:block}.kicker.red{color:var(--red)}.topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--g300);position:sticky;top:0}.topbar-in{max-width:var(--wide);align-items:center;gap:1.25rem;margin:0 auto;padding:.7rem 1.25rem;display:flex}.brand{font:700 1.05rem var(--head);align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand .mark{background:var(--red);width:.55rem;height:1.1rem;display:inline-block}.topnav{font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;gap:1rem;margin-left:auto;display:flex;overflow-x:auto}.topnav a{color:var(--g500);white-space:nowrap;text-decoration:none}.topnav a.active,.topnav a:hover{color:var(--ink)}.topnav a.active{box-shadow:inset 0 -2px 0 var(--red)}.wrap{max-width:var(--wide);margin:0 auto;padding:0 1.25rem}.prose{max-width:var(--col)}.prose p,.prose li{color:var(--g800)}.prose ul,.prose ol{padding-left:1.2rem}.prose li{margin-bottom:.35em}.hero{background:var(--ink);color:var(--paper)}.hero .wrap{padding-top:4.5rem;padding-bottom:4rem}.hero .kicker{color:var(--red)}.hero p{color:#cfcfcf;max-width:42rem;font-size:1.1rem}.hero h1 .r{color:var(--red)}.section{border-top:1px solid var(--g300);padding:3.5rem 0}.section:first-of-type{border-top:0}.section>.wrap>h2{max-width:var(--col)}.foot{background:var(--ink);color:#a3a3a3;font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 1.25rem;display:flex}.tgrid{border-top:2px solid var(--ink);border-left:1px solid var(--g300);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));display:grid}.tcard{border-right:1px solid var(--g300);border-bottom:1px solid var(--g300);flex-direction:column;gap:.4rem;min-height:13rem;padding:1.4rem 1.25rem 1.5rem;text-decoration:none;transition:background .15s;display:flex;position:relative}.tcard:hover{background:var(--g100);color:inherit}.tcard h3{margin:0;font-size:1.5rem;font-weight:700}.tcard p{color:var(--g500);margin:0;font-size:.92rem}.tcard .go{font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:auto}.tcard:hover .go{color:var(--red)}.tcard.soon{color:var(--g500);pointer-events:none;background:repeating-linear-gradient(135deg, transparent 0 10px, var(--g100) 10px 11px)}.tcard.soon h3{color:var(--g500)}.progress-bar{background:var(--g200);height:3px;margin-top:.6rem}.progress-bar>i{background:var(--red);height:100%;display:block}.toc{font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:2rem;display:flex}.toc a{color:#a3a3a3;text-decoration:none}.toc a:hover{color:var(--paper)}pre.code{font:13px/1.55 var(--mono);background:var(--ink);color:#e5e5e5;border-radius:4px;max-width:100%;margin:0 0 1.2rem;padding:1rem 1.1rem;overflow-x:auto}pre.code .k{color:#fafafa;font-weight:700}pre.code .s{color:#a3a3a3}pre.code .c{color:#737373;font-style:italic}pre.code .n{color:#f4a3aa}pre.code .hl{background:#e6394640;width:100%;display:inline-block}pre.code.light{background:var(--g100);color:var(--ink);border:1px solid var(--g300)}pre.code.light .k{color:var(--ink)}pre.code.light .s{color:var(--g500)}pre.code.light .n{color:var(--red)}.lab{border:2px solid var(--ink);background:#fff;margin:1.5rem 0 2rem}.lab-head{border-bottom:1px solid var(--g300);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .9rem;display:flex}.lab-head .kicker{color:var(--ink);margin:0}.lab-body{padding:1rem}.lab-foot{border-top:1px solid var(--g300);color:var(--g500);background:var(--paper);padding:.6rem .9rem;font-size:.85rem}.controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.btn{border:2px solid var(--ink);background:var(--ink);color:var(--paper);font:500 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:.55rem .7rem;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--red);border-color:var(--red)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){color:var(--paper)}.btn.on{background:var(--red);border-color:var(--red);color:#fff}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.sm{padding:.35rem .5rem;font-size:.66rem}.seg{border:2px solid var(--ink);flex-wrap:wrap;max-width:100%;display:inline-flex}.seg button{font:500 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;padding:.45rem .6rem}.seg button+button{border-left:1px solid var(--ink)}.seg button.on{background:var(--ink);color:var(--paper)}.field{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--g800);align-items:center;gap:.45rem;display:inline-flex}.field input[type=range]{accent-color:var(--red);width:7rem}.field input[type=text],.field input[type=number]{font:13px var(--mono);border:1px solid var(--ink);text-transform:none;background:#fff;width:7rem;padding:.35rem .45rem}.field output{color:var(--red);min-width:2.5rem}.log{font:12px/1.5 var(--mono);border-top:1px solid var(--g300);background:var(--paper);max-height:11rem;padding:.5rem .9rem;overflow-y:auto}.log div{color:var(--g800);padding:1px 0}.log div:first-child{color:var(--ink);font-weight:700}.log div b{color:var(--red);font-weight:700}.stats{border:1px solid var(--g300);flex-wrap:wrap;margin-bottom:1rem;display:flex}.stat{border-right:1px solid var(--g300);min-width:7rem;padding:.5rem .8rem}.stat:last-child{border-right:0}.stat .kicker{margin:0;font-size:.64rem}.stat b{font:700 1.3rem var(--mono)}.stat.hot b{color:var(--red)}svg text{font-family:var(--mono)}.viz-scroll{overflow-x:auto}.filters{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.legend{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--g800);flex-wrap:wrap;gap:.9rem;margin-bottom:.6rem;display:flex}.legend i{vertical-align:-2px;border:1px solid var(--ink);width:.8rem;height:.8rem;margin-right:.3rem;display:inline-block}.two{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=760px){.two{grid-template-columns:1fr}.hero .wrap{padding-top:3rem;padding-bottom:2.5rem}.section{padding:2.5rem 0}.topnav{gap:.7rem}}.story{border:2px solid var(--ink);background:#fff;outline:none;max-width:60rem;margin:1.5rem 0 2rem}.story:focus-visible{outline:2px solid var(--red);outline-offset:3px}.story-head{border-bottom:1px solid var(--g300);background:var(--paper);justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.story-head .kicker{color:var(--ink);margin:0}.story-head .btn{white-space:nowrap;flex-shrink:0}.stage{aspect-ratio:800/360;background:#fff;margin:30px 0 22px;position:relative;container-type:inline-size}.story{overflow:hidden}.st-prop{border:2px solid var(--ink);background:#fff;transition:all .6s;position:absolute}.st-line{border-color:var(--ink)}.st-soft{background:var(--g100);border:0}.st-dashed{border:2px dashed var(--g500);background:0 0}.st-ink{background:var(--ink);color:var(--paper)}.st-red{border-color:var(--red);background:var(--red-soft)}.st-none{background:0 0;border:0}.st-plabel{font:500 clamp(9px, 1.5cqw, 12px) var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--g500);white-space:nowrap;position:absolute;top:.3em;left:.5em}.st-ink .st-plabel{color:#a3a3a3}.st-ptext{text-align:center;font:600 clamp(10px, 1.9cqw, 15px) var(--body);justify-content:center;align-items:center;padding:0 .4em;display:flex;position:absolute;inset:0}.st-actor{transition:left .7s cubic-bezier(.4,0,.2,1),top .7s cubic-bezier(.4,0,.2,1),height .5s,opacity .4s;position:absolute}.st-actor img{pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:100%;transition:transform .3s;display:block;position:relative;left:0}.st-tag{font:700 clamp(9px, 1.5cqw, 12px) var(--mono);background:var(--ink);color:var(--paper);white-space:nowrap;padding:0 .35em;position:absolute;top:100%;left:0;transform:translate(-50%,2px)}.st-tag.hot{background:var(--red)}.st-bubble{font:600 clamp(10px, 1.7cqw, 14px) var(--body);border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:10px;padding:.15em .55em;animation:.25s pop;position:absolute;bottom:100%;left:0;transform:translate(-50%,-6px)}.st-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.6)}}.story-cap{border-top:1px solid var(--g300);min-height:3.6em;padding:.9rem 1rem .5rem;font-size:1.05rem;line-height:1.5}.story-count{font:700 .72rem var(--mono);color:var(--g500);margin-right:.6rem}.story-stop{border-left:4px solid var(--red);background:var(--red-soft);margin:0 1rem .6rem;padding:.7rem .9rem;animation:.25s pop2}.story-stop.edge{border-left-color:var(--ink);background:var(--g100)}.story-stop .kicker{margin-bottom:.3rem}.story-stop-body{color:var(--g800);font-size:.95rem}.story-stop-body p{margin:0 0 .5em}.story-stop .btn{margin-top:.5rem}@keyframes pop2{0%{opacity:0;transform:translateY(4px)}}.story-nav{justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem 1rem .9rem;display:flex}.story-dots{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.story-dots button{border:1.5px solid var(--ink);cursor:pointer;background:#fff;width:9px;height:9px;padding:0}.story-dots button.seen{background:var(--g300)}.story-dots button.on{background:var(--ink)}.story-dots button.stop{border-color:var(--red)}.story-dots button.stop.on{background:var(--red)}.story-tabs{border-bottom:1px solid var(--g300);flex-wrap:wrap;display:flex}.story-tabs button{border:0;border-right:1px solid var(--g300);font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--g500);background:#fff;padding:.55rem .7rem}.story-tabs button.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--red)}.story-blurb{color:var(--g800);border-bottom:1px solid var(--g300);margin:0;padding:.6rem 1rem;font-size:.95rem}.story-chips{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.story-chips span{font:500 .6rem var(--mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--g300);color:var(--g500);padding:.1rem .35rem}.story-chips span.on{border-color:var(--red);color:var(--red)}@media (width<=760px){.story-chips{display:none}}details.sandbox{border:1px solid var(--g300);background:#fff;margin:1.5rem 0}details.sandbox>summary{cursor:pointer;font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:.8rem 1rem;list-style:none}details.sandbox>summary:before{content:"+ ";color:var(--red);font-weight:700}details.sandbox[open]>summary:before{content:"− "}details.sandbox>.sandbox-body{padding:0 1rem 1rem}.hero-home{position:relative}.hero-gopher{pointer-events:none;width:min(26vw,260px);position:absolute;bottom:1.5rem;right:1.25rem}@media (width<=1000px){.hero-gopher{width:150px;margin:0 0 1rem auto;display:block;position:static}}.tcard-gopher{align-self:flex-end;width:auto;height:64px;margin:-.4rem 0 -.2rem}.bank-cta+.bank-cta{margin-top:.8rem}.bank-cta{border:1px solid var(--ink);background:#fff;gap:.3rem;max-width:40rem;padding:1.1rem 1.25rem;text-decoration:none;display:grid}.bank-cta b{font:700 1.4rem var(--head)}.bank-cta span:last-child{color:var(--g500);font-size:.92rem}.bank-cta:hover{border-color:var(--red);color:inherit}.bank-cta:hover b{color:var(--red)}.bank-link{font:500 .8rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:1.2rem}.tgroup{margin-top:1.6rem}.tgroup>.kicker{margin-bottom:.5rem;display:block}.st-prop:has(.st-plabel)>.st-ptext{top:calc(.3em + 13px)}.st-bubble.l{transform:translate(-18%,-6px)}.st-bubble.l:after{left:18%}.st-bubble.r{transform:translate(-82%,-6px)}.st-bubble.r:after{left:82%}.story-stop pre{max-width:100%;overflow-x:auto}@media (width<=620px){.story{border-left:0;border-right:0;margin-left:-1.25rem;margin-right:-1.25rem}}.rate{border:2px solid var(--ink);background:#fff;gap:.8rem;max-width:40rem;margin:0 0 2.5rem;padding:1rem 1.1rem;display:grid}.rate-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.rate-q{font:700 1.15rem var(--head)}.rate-votes,.rate-actions{gap:.5rem;display:flex}.rate-form{border-top:1px solid var(--g300);gap:.9rem;padding-top:.9rem;display:grid}.rate-chips{flex-wrap:wrap;gap:.4rem;display:flex}.rate-chips button{border:1px solid var(--g300);background:var(--paper);font:500 .85rem var(--body);cursor:pointer;padding:.4rem .65rem}.rate-chips button.on{border-color:var(--red);background:var(--red-soft);color:var(--ink)}.rate-field{gap:.3rem;display:grid}.rate-field select,.rate-field textarea{font:400 1rem var(--body);border:1px solid var(--g300);box-sizing:border-box;background:#fff;border-radius:0;width:100%;padding:.5rem .6rem}.rate-field textarea{resize:vertical}.rate-err{color:var(--red);margin:0;font-size:.92rem}.qactions{flex-wrap:wrap;gap:.5rem;margin:.6rem 0;display:flex}
