.fh{--art:color-mix(in srgb, var(--band-ink-2) 72%, var(--band));--art-fine:color-mix(in srgb, var(--band-ink-2) 40%, var(--band));--art-dim:color-mix(in srgb, var(--band-ink-2) 58%, var(--band));--fh-ground:18px;color:var(--band-ink);background:radial-gradient(55% 90% at 100% 100%, var(--glow), transparent 72%), var(--band);border-bottom:1px solid var(--band-rule);display:flow-root;position:relative}.fh:before{content:"";left:0;right:0;bottom:var(--fh-ground);background:var(--band-rule);height:1px;position:absolute}.fh .wrap{position:relative}.fh-in{padding:var(--s6) 0 6px}.fh h1{max-width:14ch;font-size:var(--t-display);letter-spacing:-.02em;margin:0;font-weight:800;font-stretch:125%;line-height:.98;animation:.9s cubic-bezier(.3,.7,.2,1) .1s both fh-sweep}@keyframes fh-sweep{0%{clip-path:inset(-.3em 100% -.3em -.3em)}to{clip-path:inset(-.3em)}}.fh-lede{margin:var(--s4) 0 0;max-width:40ch;color:var(--band-ink-2);font-size:var(--t-body);line-height:1.45}.fh .search.big{margin-top:var(--s5)}.fh .search-box,.fh .search-box:hover{border-color:var(--band-edge)}.fh .search-box:focus-within{box-shadow:0 0 0 2px var(--band-cobalt);border-color:#0000}.fh .results{color:var(--ink)}.fh-try{align-items:center;gap:var(--s2);max-width:620px;margin:var(--s4) 0 0;flex-wrap:wrap;font-size:.875rem;display:flex}.fh-try .eyebrow{color:var(--band-quiet);margin-right:2px}.fh .chip{color:var(--band-ink);border-color:var(--band-edge);background:0 0}.fh .chip:hover{border-color:var(--band-ink)}.fh .chip:focus-visible{outline-color:var(--band-cobalt)}@media (width<=639.98px){.fh-try .chip:nth-of-type(n+4){display:none}}.fh-draw{pointer-events:none;fill:none;stroke:var(--art);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.fh-draw *{vector-effect:non-scaling-stroke}.fh-draw .f{stroke:var(--art-fine)}.fh-draw .g{fill:color-mix(in srgb, var(--band-ink) 5%, transparent);stroke:none}.fh-draw .g.f{stroke:var(--art-fine)}.fh-draw .s{stroke:var(--band-cobalt);stroke-width:2.75px}.fh-draw .c{stroke-width:2px}.fh-draw .d{stroke:var(--art-dim);stroke-width:1px}.fh-draw .d.a{stroke:var(--band-ink-2)}.fh-draw text{stroke:none;fill:var(--art-dim);font-family:var(--mono);letter-spacing:.04em;text-anchor:middle;dominant-baseline:central;font-size:12px;font-weight:500}.fh-draw .a text{fill:var(--band-ink-2)}.fh-draw .dl{transform-box:fill-box;animation:.9s cubic-bezier(.3,.7,.2,1) .3s both fh-draw}.fh-draw .dt{animation:.3s ease-out 1s both fh-fade}.fh-art{display:none}.fh-mini{width:160px;height:44px;margin:0 0 var(--fh-ground) auto;display:block}.fh-mini .s{stroke-width:2.25px}.fsec{padding-top:var(--s8)}.fsec .sec-head{margin-bottom:var(--s5)}.ft{margin:0;padding:0;list-style:none}.ft-cat{gap:var(--s4);padding:var(--s3) 0 var(--s6);border-top:1px solid var(--ink);display:grid}.ft-head{align-items:baseline;gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.ft-head h3{font-size:var(--t-h3);letter-spacing:-.01em;margin:0;font-weight:800;font-stretch:112%;line-height:1.2}.ft-head p{font-family:var(--mono);color:var(--quiet);margin:0;font-size:.75rem}.ft-extra{gap:0 var(--s5);flex-wrap:wrap;flex-basis:100%;margin:0;padding:0;list-style:none;display:flex}.ft-extra a{align-items:center;gap:var(--s2);color:var(--ink-2);padding:5px 0;font-size:.875rem;text-decoration:none;display:flex}.ft-extra a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ft-extra .ti{color:var(--quiet);--ico-a:currentColor}.ft-types{gap:var(--s2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.ft-tile{align-items:center;column-gap:var(--s3);grid-template-columns:64px minmax(0,1fr);text-decoration:none;display:grid}.ft-tile .plate{border-radius:var(--r-m);grid-row:1/3;padding:10%}.ft-tile .plate img{transition:transform .25s}.ft-tile:hover .plate img{transform:scale(1.04)}.ft-name{align-items:flex-start;gap:var(--s2);align-self:end;display:flex}.ft-name b{min-width:0;font-size:var(--t-row);font-weight:600;line-height:1.33}.ft-name .ti{margin-top:-1px}.ft-tile small{font-family:var(--mono);color:var(--quiet);align-self:start;padding-left:28px;font-size:.75rem;line-height:1.4}.ft-tile:hover b{text-underline-offset:3px;text-decoration:underline}@media (width<=767.98px){.grid.fn{gap:var(--s4);margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) var(--s2);scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);overscroll-behavior-x:contain;grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;overflow-x:auto}.fn>li{scroll-snap-align:start}.fn .card{border-bottom:0;grid-template-rows:auto 18px 40px 112px 22px;grid-template-columns:minmax(0,1fr);row-gap:8px;padding-bottom:0}.fn .card .plate{border-radius:var(--r-l);grid-area:1/1;padding:6%}.fn .card-brand{grid-area:2/1}.fn .card-name{grid-area:3/1}.fn .card-tiles{grid-area:4/1}.fn .card-foot{grid-area:5/1}}.fa{gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.fa-copy p{color:var(--ink-2);margin:0}.fa-copy .fa-lead{margin-bottom:var(--s3);font-size:var(--t-lede);color:var(--ink);line-height:1.4}.fa-copy code{border-radius:var(--r-s);background:var(--plate);box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink);padding:1px 5px;font-size:.85em}.fa .btn-row{margin-top:var(--s5)}.fa-code{min-width:0;margin:0}.fa-block{background:var(--band);color:var(--band-quiet);border:1px solid var(--band-rule);border-radius:var(--r-l)}.fa-bar{align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s2) 0 var(--s4);border-bottom:1px solid var(--band-rule);display:flex}.fa-bar .eyebrow{color:var(--band-quiet)}.fa-bar code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--band-ink);font-size:.75rem;overflow:hidden}.fa-ok{font-family:var(--mono);color:var(--band-ink);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:.75rem;display:inline-flex}.fa-ok:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px}.fa-btn{border:1px solid var(--band-edge);border-radius:var(--r-m);height:30px;color:var(--band-ink);font-size:var(--t-meta);cursor:pointer;background:0 0;flex:none;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.fa-btn:hover{border-color:var(--band-ink)}.fa-btn:focus-visible{outline-color:var(--band-cobalt)}.fa-btn svg{width:14px;height:14px}.fa-code pre{padding:var(--s4) var(--s4) 18px;tab-size:2;margin:0;font-size:.8125rem;line-height:1.7;overflow-x:auto}.fa-code pre:focus-visible{outline-color:var(--band-cobalt);outline-offset:-6px;border-radius:var(--r-l)}.fa-p{user-select:none}.fa-cmd,.fa-code .j-k,.fa-code .j-d,.fa-code .j-b{color:var(--band-ink)}.fa-code .j-s{color:var(--band-ink-2)}.fa-code .j-n{font-style:italic}.fa-code figcaption{font-size:var(--t-meta);color:var(--quiet);margin-top:10px}@media (width>=768px){.fh{--fh-ground:32px}.fh-in{padding:60px 0 6px}.fh-mini{width:auto;height:54px}.fh-lede{font-size:var(--t-lede)}.ft{gap:var(--s7) var(--s5);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;display:grid}.ft-cat{grid-column:span var(--n4);grid-template-columns:subgrid;align-content:start;gap:var(--s5) normal;padding:var(--s3) 0 0}.ft-head,.ft-types{grid-column:1/-1}.ft-head{gap:2px var(--s4);grid-template-columns:minmax(0,1fr) auto;display:grid}.ft-head h3{grid-area:1/1}.ft-head p{grid-area:2/1}.ft-extra{grid-area:1/2/3;align-self:center}.ft-types{grid-template-columns:subgrid;gap:var(--s5) normal}.ft-tile{flex-direction:column;align-items:stretch;gap:2px;display:flex}.ft-tile .plate{border-radius:var(--r-l);margin-bottom:10px;padding:14%}.ft-name,.ft-tile small{align-self:auto}.ft-types>li{container-type:inline-size}@container (width<=149.98px){.ft-name{flex-direction:column;gap:6px}.ft-tile small{padding-left:0}}.fa-code pre{padding:18px var(--s5) 22px}}@media (width>=1024px){.fh{--fh-ground:48px}.fh-in{max-width:66.6667%;padding:var(--s9) 0 80px}.fh-lede{margin-top:20px}.fh .search.big{margin-top:36px}.fh-mini{display:none}.fh-art{right:var(--gutter);bottom:var(--fh-ground);width:min(380px, 100% - 2 * var(--gutter) - 660px);height:auto;display:block;position:absolute}.fh-art .tw{display:none}.fh-art text{font-size:max(12px,56px - 4vw)}.fsec{padding-top:var(--s9)}.ft{grid-template-columns:repeat(7,minmax(0,1fr))}.ft-cat{grid-column:span var(--n7)}.grid.fn{grid-template-columns:repeat(4,minmax(0,1fr))}.fa{gap:var(--s7);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}@media (width>=1280px){.fh-art{right:calc(var(--gutter) + 120px);width:380px}.fh-art .tw{display:inline}}@keyframes fh-draw{0%{transform:scale(0)}}@keyframes fh-fade{0%{opacity:0}}
