@layer tokens{:root{color-scheme:light dark;--wb-paper:#f2efe7;--wb-paper-sunk:#e8e4d9;--wb-ink:#17160f;--wb-ink-muted:#56543f;--wb-rule:#c4bfae;--wb-rule-strong:#878272;--wb-rule-faint:#ded9cb;--wb-accent:#cf4116;--wb-accent-text:#a8330f;--wb-accent-deep:#a8330f;--wb-accent-wash:#cf411614;--wb-ok:#217436;--wb-graph:#17160f0b;--wb-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", "Liberation Mono", monospace;--wb-sans:"Avenir Next", "Segoe UI", Candara, "Trebuchet MS", sans-serif;--wb-text-xs:.8125rem;--wb-text-sm:.9375rem;--wb-text-md:1rem;--wb-text-base:1.0625rem;--wb-text-lg:1.25rem;--wb-text-h3:1.2rem;--wb-text-h2:clamp(1.4rem, 1.27rem + .45vw, 1.6rem);--wb-text-title:clamp(1.75rem, 1.31rem + 1.83vw, 2.6rem);--wb-leading:1.65;--wb-leading-tight:1.2;--wb-tracking:.1em;--wb-1:.25rem;--wb-2:.5rem;--wb-3:.75rem;--wb-4:1rem;--wb-5:1.5rem;--wb-6:2rem;--wb-7:3rem;--wb-8:4rem;--wb-measure-wide:68rem;--wb-measure-read:38rem;--wb-stroke:2px;--wb-radius:.375rem;--wb-radius-card:.75rem;--wb-graph-size:1.25rem;--wb-quick:.16s;--wb-calm:.5s;--wb-ease:cubic-bezier(.2, .7, .3, 1)}@media (prefers-color-scheme:dark){:root{--wb-paper:#131410;--wb-paper-sunk:#0d0e0b;--wb-ink:#e9e5d8;--wb-ink-muted:#948f80;--wb-rule:#33352c;--wb-rule-strong:#676960;--wb-rule-faint:#24261f;--wb-accent:#ff6234;--wb-accent-text:#ff6234;--wb-accent-deep:#ff7c55;--wb-accent-wash:#ff62341f;--wb-ok:#63c47c;--wb-graph:#e9e5d80d}}}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font:var(--wb-text-base) / var(--wb-leading) var(--wb-sans);color:var(--wb-ink);overflow-wrap:break-word;background:var(--wb-paper-sunk);margin:0;padding:0}h1,h2,h3{font-family:var(--wb-sans);font-weight:700;line-height:var(--wb-leading-tight);hyphens:manual;text-wrap:balance;letter-spacing:-.015em}h1{margin:0 0 var(--wb-3);font-size:var(--wb-text-title);letter-spacing:-.02em;line-height:1.15}h2{margin:var(--wb-7) 0 var(--wb-3);font-size:var(--wb-text-h2)}h3{margin:var(--wb-5) 0 var(--wb-2);font-size:var(--wb-text-h3)}a{color:var(--wb-ink);text-underline-offset:.2em}:focus-visible{outline:var(--wb-stroke) solid var(--wb-accent);outline-offset:2px}code,kbd,samp{padding:.1rem var(--wb-1);font-family:var(--wb-mono);background:var(--wb-paper-sunk);border:1px solid var(--wb-rule-faint);font-size:.88em}pre{margin:var(--wb-3) 0;padding:var(--wb-3) var(--wb-4);font-family:var(--wb-mono);background:var(--wb-paper-sunk);border:1px solid var(--wb-rule);font-size:.78rem;line-height:1.6;overflow-x:auto}pre code{background:0 0;border:0;padding:0}table{border-collapse:collapse;width:100%;font-size:var(--wb-text-md)}img,canvas,svg{max-width:100%}::selection{color:var(--wb-paper);background:var(--wb-accent)}input,select,textarea,button{font:inherit;color:inherit}input[type=text],input[type=number],input[type=email],select,textarea{width:100%;padding:var(--wb-3);font-family:var(--wb-sans);font-size:var(--wb-text-md);background:var(--wb-paper);border:1px solid var(--wb-rule-strong);border-radius:var(--wb-radius)}input[type=color]{background:var(--wb-paper);border:1px solid var(--wb-rule-strong);cursor:pointer;width:2.8rem;height:2.1rem;padding:2px}input[type=range]{width:100%;accent-color:var(--wb-accent)}input[type=checkbox]{accent-color:var(--wb-accent)}textarea{resize:vertical}fieldset{margin:var(--wb-5) 0 0;padding:var(--wb-4);border:1px solid var(--wb-rule)}legend{padding:0 var(--wb-1);font-size:var(--wb-text-sm);color:var(--wb-ink-muted);font-weight:700}summary{cursor:pointer}}@layer components{.wb-skip{z-index:999;padding:var(--wb-2) var(--wb-4);font-family:var(--wb-mono);color:var(--wb-paper);background:var(--wb-ink);position:absolute;left:-9999px}.wb-skip:focus{top:var(--wb-2);left:var(--wb-4)}.wb-header,main,.wb-footer-inner,.wb-footer-bar{max-width:calc(var(--wb-measure-wide) + var(--wb-5) * 2);padding-inline:var(--wb-5);margin-inline:auto}@media (width<=30rem){.wb-header,main,.wb-footer-inner,.wb-footer-bar{padding-inline:var(--wb-3)}}.wb-header{padding-top:var(--wb-5)}.wb-hero{margin:var(--wb-8) auto var(--wb-7);text-align:center;max-width:44rem}.wb-hero h1{margin:0 0 var(--wb-4);font-size:var(--wb-text-title)}.wb-hero p,.wb-hero .wb-lede{max-width:38rem;font-size:var(--wb-text-lg);color:var(--wb-ink-muted);hyphens:manual;margin:0 auto;line-height:1.55}.wb-hero .wb-mark{height:4.5rem;margin-bottom:var(--wb-5)}.wb-step:has(>.wb-dropzone),.wb-step:has(>wb-drop-zone){text-align:center}.wb-bar{align-items:center;gap:var(--wb-4);padding-bottom:var(--wb-3);border-bottom:var(--wb-stroke) solid var(--wb-ink);display:flex}.wb-logo{align-items:center;gap:var(--wb-2);font-family:var(--wb-mono);font-size:var(--wb-text-sm);letter-spacing:var(--wb-tracking);font-weight:700;text-decoration:none;display:inline-flex}.wb-logo-tld{color:var(--wb-accent-text)}.wb-mark{flex:none;width:auto;height:1.5em}.wb-mark-body{fill:var(--wb-ink)}.wb-mark-tick{fill:var(--wb-accent)}.wb-langs{gap:var(--wb-1);flex-wrap:wrap;margin-left:auto;display:flex}@media (width<=34rem){.wb-bar{flex-wrap:wrap}.wb-langs{padding-top:var(--wb-2);scrollbar-width:none;flex-wrap:nowrap;flex:1 0 100%;order:3;justify-content:flex-start;margin-left:0;position:relative;overflow-x:auto}.wb-langs::-webkit-scrollbar{display:none}.wb-langs a[aria-current=page]{order:-1}}.wb-langs a{padding:var(--wb-1) calc(var(--wb-2) * .8);font-family:var(--wb-mono);font-size:var(--wb-text-xs);letter-spacing:var(--wb-tracking);text-transform:uppercase;color:var(--wb-ink-muted);transition:color var(--wb-quick), border-color var(--wb-quick);border:1px solid #0000;font-weight:700;text-decoration:none}.wb-langs a:hover,.wb-langs a:focus-visible{color:var(--wb-ink);border-color:var(--wb-rule)}.wb-langs a[aria-current=page]{color:var(--wb-ink);border-color:var(--wb-rule-strong)}.wb-pagemark{max-width:calc(var(--wb-measure-wide) + var(--wb-5) * 2);margin:var(--wb-7) auto 0;padding-inline:var(--wb-5);text-align:center}.wb-pagemark .wb-toolicon{width:2.5rem;height:2.5rem;color:var(--wb-ink);stroke-linecap:square;stroke-linejoin:miter}.wb-pagemark .wb-toolicon .ti-a{color:var(--wb-accent)}@media print{.wb-pagemark{display:none!important}}.wb-intro{margin-top:var(--wb-4)}.wb-lede{max-width:var(--wb-measure-read);font-size:var(--wb-text-lg);color:var(--wb-ink-muted);margin:0;line-height:1.55}.wb-panel{margin-top:var(--wb-6);padding:var(--wb-6);background:var(--wb-paper);border:1px solid var(--wb-rule);border-radius:var(--wb-radius-card);position:relative}@media (width<=30rem){.wb-panel{padding:var(--wb-4)}}.wb-cols-2{gap:var(--wb-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wb-cols-auto{gap:var(--wb-6);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}@media (width<=54rem){.wb-cols-2{grid-template-columns:1fr}}.wb-label{font-size:var(--wb-text-sm);color:var(--wb-ink-muted);font-weight:600;display:block}.wb-step{margin-bottom:var(--wb-8)}.wb-step>h2{align-items:baseline;gap:var(--wb-3);margin:0 0 var(--wb-5);padding-bottom:var(--wb-3);font-family:var(--wb-sans);font-size:var(--wb-text-h3);letter-spacing:-.01em;color:var(--wb-ink);border-bottom:1px solid var(--wb-rule);font-weight:700;line-height:1.2;display:flex}.wb-step>h2[data-step]:before{content:attr(data-step);font-family:var(--wb-mono);font-size:var(--wb-text-sm);letter-spacing:var(--wb-tracking);color:var(--wb-accent-text);flex:none;font-weight:700}.wb-sublabel{font-size:var(--wb-text-md);color:var(--wb-ink);font-weight:700;display:block}.wb-sublabel small{text-transform:none;letter-spacing:0;color:var(--wb-ink-muted);font-weight:400}.wb-dropzone{justify-content:center;align-items:center;gap:var(--wb-2);width:100%;min-height:11rem;padding:var(--wb-7) var(--wb-5);text-align:center;background:var(--wb-paper-sunk);border:var(--wb-stroke) dashed var(--wb-rule-strong);border-radius:var(--wb-radius-card);cursor:pointer;transition:border-color var(--wb-quick), background var(--wb-quick);flex-direction:column;display:flex}.wb-dropzone:hover,.wb-dropzone:focus-visible,.wb-dropzone[data-dragging]{border-color:var(--wb-accent);background:var(--wb-accent-wash)}.wb-dropzone[data-loaded]{border-style:solid;border-color:var(--wb-accent)}.wb-dropzone strong{padding:var(--wb-3) var(--wb-6);font-size:var(--wb-text-lg);color:var(--wb-paper);background:var(--wb-accent);border-radius:var(--wb-radius);align-items:center;font-weight:700;display:inline-flex}.wb-dropzone span{font-size:var(--wb-text-sm);color:var(--wb-ink-muted)}.wb-dropzone:hover strong,.wb-dropzone:focus-visible strong{background:var(--wb-accent-deep)}[data-wb-dragging] body:after{content:"";inset:var(--wb-2);border:2px dashed var(--wb-accent);border-radius:var(--wb-radius);pointer-events:none;z-index:50;position:fixed}[data-wb-dragging] .wb-dropzone{border-style:solid;border-color:var(--wb-accent);background:var(--wb-accent-wash)}.wb-paste{font-size:var(--wb-text-xs)}.wb-paste kbd{font-size:inherit;color:var(--wb-ink);background:var(--wb-paper);border:1px solid var(--wb-rule);border-radius:var(--wb-radius);padding:0 .3em}.wb-filename:not(:empty){margin-top:var(--wb-1);font-family:var(--wb-mono);font-size:var(--wb-text-sm);color:var(--wb-accent-text);word-break:break-all}.wb-field{margin-bottom:var(--wb-4);display:block}.wb-field>.wb-label{margin-bottom:var(--wb-1)}.wb-row{align-items:center;gap:var(--wb-3);flex-wrap:wrap;display:flex}.wb-check{align-items:center;gap:var(--wb-1);font-family:var(--wb-mono);font-size:var(--wb-text-sm);cursor:pointer;display:inline-flex}.wb-btn{justify-content:center;align-items:center;gap:var(--wb-2);width:100%;padding:var(--wb-3) var(--wb-5);font-family:var(--wb-mono);font-size:var(--wb-text-sm);letter-spacing:var(--wb-tracking);text-transform:uppercase;color:var(--wb-paper);background:var(--wb-ink);border-radius:var(--wb-radius);cursor:pointer;transition:background var(--wb-quick), transform 80ms;border:0;font-weight:700;display:inline-flex}.wb-btn:not(:disabled):hover{background:var(--wb-accent-text)}.wb-btn:not(:disabled):active{transform:translateY(1px)}.wb-btn:disabled{opacity:.35;cursor:not-allowed}.wb-btn-ghost{width:auto;padding:var(--wb-2) var(--wb-3);color:var(--wb-ink);border:1px solid var(--wb-rule);background:0 0}.wb-btn-ghost:not(:disabled):hover{color:var(--wb-paper)}.wb-btn-pair{gap:var(--wb-2);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=30rem){.wb-btn-pair{grid-template-columns:1fr}}.wb-stage{justify-content:center;align-items:center;gap:var(--wb-5);min-height:14rem;padding:var(--wb-7);background:var(--wb-paper-sunk);border:var(--wb-stroke) solid var(--wb-ink);border-radius:var(--wb-radius-card);flex-wrap:wrap;display:flex}@media (width<=30rem){.wb-stage{padding:var(--wb-4)}}.wb-stage-alpha{background-image:linear-gradient(45deg, var(--wb-rule-faint) 25%, transparent 25%), linear-gradient(-45deg, var(--wb-rule-faint) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--wb-rule-faint) 75%), linear-gradient(-45deg, transparent 75%, var(--wb-rule-faint) 75%);background-position:0 0,0 7px,7px -7px,-7px 0;background-size:14px 14px}.wb-stage figure{text-align:center;margin:0}.wb-stage canvas,.wb-stage img{display:block}.wb-stage figcaption{margin-top:var(--wb-2);font-family:var(--wb-mono);font-size:var(--wb-text-xs);letter-spacing:.06em;color:var(--wb-ink-muted)}.wb-empty{font-family:var(--wb-mono);font-size:var(--wb-text-sm);color:var(--wb-ink-muted);margin:auto}.wb-metrics{gap:var(--wb-5);margin:var(--wb-5) 0;padding:var(--wb-4) var(--wb-5);background:var(--wb-paper-sunk);border-left:var(--wb-stroke) solid var(--wb-accent);flex-wrap:wrap;display:flex}.wb-metrics>div{flex-direction:column;gap:2px;display:flex}.wb-metrics b{font-family:var(--wb-mono);font-variant-numeric:tabular-nums;font-size:1.15rem}.wb-note,.wb-warn,.wb-error{margin:0 0 var(--wb-4);padding:var(--wb-3) var(--wb-4);font-size:var(--wb-text-md);background:var(--wb-accent-wash);border-left:var(--wb-stroke) solid var(--wb-accent)}.wb-error{border-left-width:4px;font-weight:600}.wb-note:empty,.wb-warn:empty,.wb-error:empty{display:none}.wb-tablist{margin-bottom:var(--wb-5);background:var(--wb-paper);border:1px solid var(--wb-rule);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:1px;display:grid}.wb-tab{padding:var(--wb-2) var(--wb-3);font-family:var(--wb-mono);font-size:var(--wb-text-xs);letter-spacing:.06em;text-transform:uppercase;background:var(--wb-paper);box-shadow:0 0 0 1px var(--wb-rule);cursor:pointer;border:0}.wb-tab[aria-selected=true]{color:var(--wb-paper);background:var(--wb-ink)}.wb-tab:hover:not([aria-selected=true]){background:var(--wb-accent-wash)}.wb-prose{margin-top:var(--wb-8)}.wb-prose h2{padding-top:var(--wb-4);position:relative}.wb-prose h2:before{content:"";border-top:var(--wb-stroke) solid var(--wb-accent);width:2.5rem;position:absolute;top:0;left:0}.wb-prose p,.wb-prose li,.wb-lede{hyphens:auto;hyphenate-limit-chars:8 4 3}.wb-prose p,.wb-prose li{max-width:var(--wb-measure-read);color:var(--wb-ink-muted)}.wb-prose ul,.wb-prose ol{margin:var(--wb-3) 0;padding-left:0;list-style-position:inside}.wb-prose li+li{margin-top:var(--wb-2)}.wb-prose li{margin-bottom:var(--wb-2)}.wb-prose td{padding:var(--wb-2);border-bottom:1px solid var(--wb-rule-faint);vertical-align:top}.wb-prose td:first-child{width:40%;color:var(--wb-ink)}.wb-footer{margin-top:var(--wb-8);padding:var(--wb-7) 0 var(--wb-5);background:var(--wb-paper);border-top:1px solid var(--wb-rule)}.wb-footer-inner{gap:var(--wb-6) var(--wb-8);grid-template-columns:minmax(12rem,1fr) auto auto;display:grid}.wb-footer .wb-logo{color:var(--wb-ink)}.wb-footer-line{margin:var(--wb-3) 0 0;max-width:24ch;font-size:var(--wb-text-sm);color:var(--wb-ink-muted);line-height:1.5}.wb-footer-head{margin:0 0 var(--wb-3);font-family:var(--wb-sans);font-size:var(--wb-text-sm);letter-spacing:0;color:var(--wb-ink);font-weight:700}.wb-footer-col ul{margin:0;padding:0;list-style:none}.wb-footer-col li+li{margin-top:var(--wb-1)}.wb-footer-col a,.wb-footer-langs a{padding:var(--wb-1) var(--wb-2);margin-inline:calc(var(--wb-2) * -1);font-size:var(--wb-text-sm);color:var(--wb-ink-muted);text-decoration:none;display:inline-block}.wb-footer-col a:hover,.wb-footer-col a:focus-visible,.wb-footer-langs a:hover,.wb-footer-langs a:focus-visible{color:var(--wb-accent-text);text-decoration:underline}.wb-footer-bar{margin-top:var(--wb-6);padding-top:var(--wb-4);justify-content:space-between;align-items:center;gap:var(--wb-3) var(--wb-5);border-top:1px solid var(--wb-rule);flex-wrap:wrap;display:flex}.wb-footer-bar p{font-family:var(--wb-mono);font-size:var(--wb-text-sm);color:var(--wb-ink-muted);margin:0}.wb-footer-langs{gap:var(--wb-2) var(--wb-4);flex-wrap:wrap;display:flex}.wb-footer-langs a[aria-current=page]{color:var(--wb-ink)}@media (width<=46rem){.wb-footer-inner{grid-template-columns:1fr 1fr}.wb-footer-brand{grid-column:1/-1}}@media (width<=30rem){.wb-footer-inner{grid-template-columns:1fr}}.wb-siblings a{padding:var(--wb-1) var(--wb-2);font-family:var(--wb-mono);font-size:var(--wb-text-xs);letter-spacing:.04em;border:1px solid var(--wb-rule);text-decoration:none;display:inline-block}.wb-siblings a:hover{color:var(--wb-paper);background:var(--wb-accent-text);border-color:var(--wb-accent-text)}.wb-siblings a[aria-current]{color:var(--wb-paper);background:var(--wb-ink);border-color:var(--wb-ink)}}@layer utilities{[hidden]{display:none}.wb-mt-0{margin-top:0}.wb-mt-2{margin-top:var(--wb-2)}.wb-mt-4{margin-top:var(--wb-4)}.wb-mt-5{margin-top:var(--wb-5)}.wb-mb-0{margin-bottom:0}.wb-mb-4{margin-bottom:var(--wb-4)}.wb-pad-tight{padding:var(--wb-4)}.wb-hint{margin:var(--wb-2) 0 0;font-size:var(--wb-text-sm);color:var(--wb-ink-muted)}.wb-sm{font-size:var(--wb-text-sm)}.wb-muted{color:var(--wb-ink-muted)}.wb-ok{color:var(--wb-ok)}.wb-alert{color:var(--wb-accent-text)}.wb-mono{font-family:var(--wb-mono)}.wb-crisp{image-rendering:pixelated}.wb-sr-only{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@layer tool{[data-surface]{border:1px solid var(--wb-rule);cursor:grab;touch-action:none;max-width:100%;display:block}[data-surface]:active{cursor:grabbing}.pp-legend{gap:var(--wb-5);margin-top:var(--wb-2);font-family:var(--wb-mono);font-size:var(--wb-text-xs);flex-wrap:wrap;display:flex}.pp-legend span:before{content:"▬ "}.pp-crown:before,.pp-chin:before{color:var(--wb-accent-text)}.pp-eyes:before{color:#1b6fb8}}
