html.tools{--ts-ink:#1f1f1d;--ts-paper:#f7f5ef;--ts-grey:#e7e4db;--ts-grey-2:#d5d1c5;--ts-panel:#cfe0c9;--ts-panel-fg:var(--ts-ink);--ts-line:#1f1f1d1a;--ts-line-strong:#1f1f1d26;--ts-tomato:#e4573d;--ts-orange:#ef8a2c;--ts-saffron:#f1c24f;--ts-sky:#8eb5d9;--ts-tint-1:#f6b9a9;--ts-tint-2:#f8cfa4;--ts-tint-3:#f6e2a4;--ts-tint-4:#c4dbef;--ts-tint-5:#d6e2cf;--ts-tint-6:#ddd3ec;--ts-bg:var(--ts-paper);--ts-fg:var(--ts-ink);--ts-muted:#6b685f;--measure:80rem;font-size:100%}html.tools[data-theme=dark]{--ts-bg:#1a1a18;--ts-fg:#ecebe6;--ts-muted:#a19e94;--ts-panel:#263228;--ts-panel-fg:#ecebe6;--ts-line:#ffffff0f;--ts-line-strong:#ffffff1f}@media (prefers-color-scheme:dark){html.tools:not([data-theme=light]){--ts-bg:#1a1a18;--ts-fg:#ecebe6;--ts-muted:#a19e94;--ts-panel:#263228;--ts-panel-fg:#ecebe6;--ts-line:#ffffff0f;--ts-line-strong:#ffffff1f}}html.tools body{background:var(--ts-bg);color:var(--ts-fg);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.5}html.tools .colophon{font-family:var(--font-sans);font-size:.9375rem}html.tools .masthead{--masthead-size:.9375rem;font-family:var(--font-sans)}html.tools .masthead__nav a[aria-current=page],html.tools a:hover{color:inherit}html.tools .colophon{border-top:0}.ts-bleed{width:100vw;margin-inline:calc(50% - 50vw)}.ts-panel{background:var(--ts-panel);color:var(--ts-panel-fg);padding:clamp(3rem,6vw,5rem) clamp(1.25rem,6vw,6.25rem)}.ts-kicker{font-family:var(--font-mono);letter-spacing:.01em;align-items:center;gap:.75rem;margin:2.5rem 0 1.25rem;font-size:.8125rem;display:flex}.ts-kicker:before{content:"";background:var(--ts-orange);width:.7rem;height:.7rem}.ts-kicker>:first-child:after{content:"";vertical-align:middle;border-top:1px dotted;width:3rem;margin-left:.75rem;display:inline-block}.ts-display{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,9vw,8.5rem);font-weight:500;line-height:.9}.ts-intro{max-width:38rem;color:var(--ts-muted);margin:1.75rem 0 0;font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.45}.ts-subhead{max-width:18ch;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,3.75rem);font-weight:500;line-height:.95}.ts-series{padding-top:clamp(2rem,4vw,3.5rem)}.ts-hero{padding-bottom:clamp(2.5rem,5vw,4.5rem)}.ts-footnote{font-family:var(--font-mono);margin-top:1.25rem;font-size:.8125rem;line-height:1.5}.ts-cols{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem 1.75rem;margin-top:2.5rem;display:grid}.ts-col{border-left:1px solid;padding-left:.75rem}.ts-label{font-family:var(--font-mono);margin-bottom:1.5rem;font-size:.8125rem;font-weight:500;display:block}.ts-col p{margin:0;font-size:1.0625rem;line-height:1.45}.ts-desktop{background-image:linear-gradient(var(--ts-line-strong) 1px, transparent 1px), linear-gradient(90deg, var(--ts-line-strong) 1px, transparent 1px), linear-gradient(var(--ts-line) 1px, transparent 1px), linear-gradient(90deg, var(--ts-line) 1px, transparent 1px);background-position:-1px -1px;background-size:100px 100px,100px 100px,20px 20px,20px 20px;border:1px solid;grid-template-columns:repeat(12,1fr);align-items:start;gap:1.25rem;padding:3.5rem clamp(1rem,3vw,2.5rem) 2.75rem;display:grid;position:relative}.ts-desktop__tag{background:var(--ts-ink);color:var(--ts-saffron);font-family:var(--font-pixel);z-index:3;padding:.1rem .5rem;font-size:1.0625rem;line-height:1.4;position:absolute;top:-1px;left:-1px}.ts-win{--accent:var(--ts-orange);z-index:1;border:1px solid var(--ts-ink);background:var(--ts-grey);color:var(--ts-ink);font-family:var(--font-pixel);font-size:1.125rem;line-height:1.35;position:relative;box-shadow:4px 4px #1f1f1dd9}.ts-win--paper{background:var(--ts-paper)}.ts-win__bar{background:var(--ts-ink);color:var(--ts-paper);justify-content:space-between;align-items:center;gap:1rem;padding:.15rem .5rem;font-size:1.0625rem;display:flex}.ts-win__bar>:first-child:before{content:"";background:var(--accent);width:.6rem;height:.6rem;margin-right:.5rem;display:inline-block}.ts-win__body{padding:.6rem .7rem .75rem}.ts-win__badge{background:var(--accent);color:var(--ts-ink);padding:.05em .2em 0;font-size:2.5rem;line-height:1.05;display:inline-block}.ts-chips{flex-wrap:wrap;gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.ts-chips li{background:var(--ts-grey-2);padding:0 .35rem}a.ts-win{z-index:2;text-decoration:none;transition:transform .12s,box-shadow .12s}a.ts-win:hover{color:var(--ts-ink);transform:translate(-2px,-2px);box-shadow:6px 6px #1f1f1dd9}a.ts-win:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ts-open{background:var(--ts-ink);width:fit-content;color:var(--ts-paper);margin-top:.75rem;margin-left:auto;padding:.05rem .5rem;display:block}a.ts-win:hover .ts-open{background:var(--accent);color:var(--ts-ink)}.ts-win--small{font-size:1rem}.ts-win--small .ts-win__bar{font-size:.95rem}.ts-win--small .ts-win__body{padding:.5rem .6rem .6rem}.ts-win--small .ts-win__badge{font-size:2.1rem}.ts-win--small .ts-chips{margin-top:.5rem;font-size:.9rem}.ts-win--small .ts-open{margin-top:.55rem}.ts-list{margin:0;padding:0;list-style:none}.ts-list li:before{content:"[ ] "}.ts-list li.done:before{content:"[x] "}.ts-list li.done{color:var(--ts-muted);text-decoration:line-through}.ts-life{aspect-ratio:1;width:100%;image-rendering:pixelated;background:var(--ts-paper);cursor:pointer;display:block}.ts-note{margin-top:clamp(3rem,6vw,5rem)}.ts-note__lead{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;line-height:1.15}.ts-spec{max-width:30rem;font-family:var(--font-mono);margin:1.75rem 0 0;font-size:.9375rem}.ts-spec>div{align-items:baseline;gap:.6rem;padding:.3rem 0;display:flex}.ts-spec>div:after{content:"";border-bottom:1px dotted var(--ts-muted);flex:1;order:2}.ts-spec dt{color:var(--ts-muted);order:1}.ts-spec dd{order:3;margin:0}html.tools .colophon__credit{font-family:var(--font-mono);color:var(--ts-muted);font-size:.75rem}html.tools .colophon__credit a{color:inherit}.ts-tool{grid-template-columns:1fr;gap:1.75rem}.ts-tool>.ts-win{justify-self:center;width:100%;max-width:56rem}.ts-row{font-family:var(--font-sans);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;font-size:1rem;display:flex}.ts-row+.ts-row{margin-top:.85rem}.ts-field{box-sizing:border-box;width:100%;font-family:var(--font-sans);color:var(--ts-ink);border:1px solid var(--ts-ink);resize:vertical;background:#fff;border-radius:0;padding:.7rem .85rem;font-size:1.125rem;line-height:1.55;display:block}.ts-field::placeholder{color:#8a877e}.ts-field:focus{outline:3px solid var(--ts-saffron);outline-offset:1px}.ts-btn{font:inherit;font-family:var(--font-sans);color:var(--ts-paper);background:var(--ts-ink);border:1px solid var(--ts-ink);cursor:pointer;border-radius:0;padding:.45rem 1rem;font-size:1rem}.ts-btn:hover,.ts-btn:focus-visible{color:var(--ts-ink);background:var(--accent,var(--ts-orange))}.ts-btn--ghost{color:var(--ts-ink);background:0 0}.ts-btn[aria-pressed=true]{color:var(--ts-ink);background:var(--accent,var(--ts-orange))}.ts-btn:disabled{opacity:.45;cursor:default}.ts-check{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.ts-check input{width:1.15rem;height:1.15rem;accent-color:var(--ts-ink)}.ts-slider{font-family:var(--font-sans);grid-template-columns:1fr auto;gap:.35rem 1rem;font-size:1rem;display:grid}.ts-slider output{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ts-slider input[type=range]{width:100%;height:1.75rem;accent-color:var(--accent,var(--ts-orange));cursor:pointer;grid-column:1/-1}.ts-slider small{color:var(--ts-muted);grid-column:1/-1;font-size:.9375rem}.ts-t0{background:var(--ts-tint-1)}.ts-t1{background:var(--ts-tint-4)}.ts-t2{background:var(--ts-tint-3)}.ts-t3{background:var(--ts-tint-5)}.ts-t4{background:var(--ts-tint-2)}.ts-t5{background:var(--ts-tint-6)}.ts-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:3rem 0 0}.ts-stats .ts-label{margin-bottom:1rem}.ts-stats dd{font-family:var(--font-display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2.5rem,6.5vw,5.5rem);font-weight:500;line-height:.95}.ts-panel .ts-footnote{max-width:56rem;margin-top:2.5rem}.ts-footnote code{font-family:var(--font-mono)}@media (width<=48rem){.ts-desktop{grid-template-columns:1fr}.ts-desktop>*{grid-area:auto/1/auto/-1!important;margin-top:0!important}.ts-desktop>.ts-desktop__tag{grid-column:auto!important}.ts-glider{max-width:12rem}}
