*,:before,:after{box-sizing:border-box}html{background:var(--pd-bg);-webkit-text-size-adjust:100%}body{color:var(--pd-text);font:400 .9375rem / 1.65 var(--pd-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--pd-fg);text-decoration:underline;text-decoration-color:var(--pd-hairline-strong);text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .12s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--pd-ring);outline-offset:3px;border-radius:4px}code{font-family:var(--pd-mono);background:var(--pd-paper);color:var(--pd-fg);border-radius:.3rem;padding:.1em .35em;font-size:.85em}::selection{background:color-mix(in srgb, var(--pd-fg) 16%, transparent)}.column{width:min(100% - 2.5rem,38rem);margin-inline:auto}.top{justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2.5rem,60rem);margin:0 auto;padding-block:1.5rem;display:flex}.wordmark{font:500 1.375rem / 1 var(--pd-serif);letter-spacing:-.01em;text-decoration:none;position:relative}.stroke{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;opacity:.55;vector-effect:non-scaling-stroke;width:104%;height:.5em;position:absolute;bottom:-.45em;left:-2%;overflow:visible}.stroke path{stroke-dasharray:1;stroke-dashoffset:0;animation:.9s cubic-bezier(.65,0,.35,1) .3s backwards draw}@keyframes draw{0%{stroke-dashoffset:1px}}.top nav{align-items:center;gap:1.25rem;font-size:.875rem;display:flex}.top nav a{color:var(--pd-muted);text-decoration:none}.top nav a:hover{color:var(--pd-fg)}.theme{width:2rem;height:2rem;color:var(--pd-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;margin:-.25rem -.5rem -.25rem -.25rem;padding:0;display:grid}.theme:hover{color:var(--pd-fg)}.theme svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:1.125rem;height:1.125rem}.intro{padding-block:clamp(3.5rem,12vh,7rem) 2.5rem}.intro h1{color:var(--pd-fg);font:400 clamp(2.25rem, 6vw, 3.25rem) / 1.08 var(--pd-serif);font-optical-sizing:auto;letter-spacing:-.025em;margin:0}.facts{max-width:30rem;color:var(--pd-muted);margin:1rem 0 2rem;font-size:1.0625rem}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.install{border:1px solid var(--pd-hairline);background:var(--pd-paper);border-radius:.625rem;align-items:center;gap:1rem;padding:.5rem .5rem .5rem 1rem;display:flex}.install code{background:0 0;padding:0;font-size:.875rem}.install code span{color:var(--pd-faint);margin-right:.5rem}.install button{width:2rem;height:2rem;color:var(--pd-muted);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:0;transition:color .12s,background-color .12s;display:grid}.install button:hover{color:var(--pd-fg);background:color-mix(in srgb, var(--pd-fg) 7%, transparent)}.install svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.install button[data-copied] svg{display:none}.install button[data-copied]:after{content:"✓";color:var(--pd-fg)}.primary{text-decoration-color:var(--pd-fg);font-weight:500}.links{gap:1.25rem;margin:1.25rem 0 0;font-size:.875rem;display:flex}.links a{color:var(--pd-muted)}.links a:hover{color:var(--pd-fg)}.demo{color:var(--pd-fg);font:400 1.1875rem / 1.75 var(--pd-serif);font-optical-sizing:auto;margin-top:1rem}.demo p{margin:0}.demo p+p{margin-top:1.1em}.demo ::selection,.specimen ::selection{background:color-mix(in srgb, var(--pd-ring) 22%, transparent)}.hint{color:var(--pd-muted);margin:1.5rem 0 0;font-size:.875rem}.link{font:inherit;color:var(--pd-muted);text-decoration:underline;text-decoration-color:var(--pd-hairline-strong);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin-left:.5rem;padding:0}.link:hover{color:var(--pd-fg)}.block{margin-top:5.5rem}.block h2{color:var(--pd-fg);font:500 1.375rem / 1.3 var(--pd-serif);letter-spacing:-.01em;margin:0}.block>p{margin:.35rem 0 1.25rem}.block>*+.expressive-code,.specimen+.expressive-code{margin-top:.75rem}.specimen{color:var(--pd-fg);font:400 1.0625rem / 1.7 var(--pd-serif);border:1px solid var(--pd-hairline);border-radius:.75rem;padding:1.25rem 1.5rem}.notes{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;display:grid}.notes figure{flex-direction:column;margin:0;display:flex}.notes .specimen{flex:1;padding:1rem 1.125rem;font-size:1rem}.notes figcaption{color:var(--pd-muted);margin-top:.5rem;font-size:.8125rem}.notes figcaption code{color:var(--pd-muted);background:0 0;padding:0}.skins{border:1px solid var(--pd-hairline);border-radius:999px;flex-wrap:wrap;gap:2px;margin-top:.75rem;padding:3px;display:inline-flex}.skins button{color:var(--pd-muted);font:500 .8125rem / 1.4 var(--pd-sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .85rem;transition:color .12s,background-color .12s}.skins button:hover{color:var(--pd-fg)}.skins button[aria-pressed=true]{color:var(--pd-bg);background:var(--pd-fg)}.skins button:focus-visible{outline:2px solid var(--pd-ring);outline-offset:1px}.skin-code{margin-top:.75rem}.aside{color:var(--pd-muted);margin:1rem 0 0;font-size:.875rem}.dom{background:var(--pd-paper);border-radius:.625rem;margin-top:.75rem;padding:1rem 1.125rem}.dom pre{color:var(--pd-text);font:.8125rem / 1.7 var(--pd-mono);white-space:pre-wrap;word-break:break-all;margin:0;overflow-x:auto}.dom-status{border-top:1px solid var(--pd-hairline-strong);color:var(--pd-muted);align-items:center;gap:.5rem;margin:.75rem 0 0;padding-top:.75rem;font-size:.8125rem;display:flex}.dom-status:before{content:"✓";color:var(--pd-fg)}.next{border-top:1px solid var(--pd-hairline);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:5.5rem;padding-top:2rem;display:flex}.next a:first-child{font-weight:500}.foot{color:var(--pd-faint);flex-wrap:wrap;gap:.5rem 1.25rem;padding-block:2rem 3rem;font-size:.8125rem;display:flex}.foot a{color:var(--pd-muted);text-decoration:none}.foot a:hover{color:var(--pd-fg)}.expressive-code .copy button{background:0 0;width:1.875rem;height:1.875rem}.expressive-code .copy button:after{opacity:.6;margin:.45rem;-webkit-mask-size:contain;mask-size:contain}@media (width<=34rem){.top nav a:nth-child(2){display:none}.demo{font-size:1.125rem}}@media (prefers-reduced-motion:reduce){.stroke path{animation:none}}
