:root{--shf-bg:#eef3f8;--shf-surface:#fff;--shf-ink:#14202e;--shf-muted:#4a5a6b;--shf-accent:#0b5cad;--shf-on-accent:#fff;--shf-line:#cdd9e5;--shf-font-display:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--shf-font-body:"Open Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color-scheme:light}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_0f9zlpp/source-serif-4-latin-wght-normal.DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_0f9zlpp/open-sans-latin-wght-normal.CWNzRldh.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans Variable;font-style:italic;font-display:swap;font-weight:300 800;src:url(/_0f9zlpp/open-sans-latin-wght-italic.Bf1Hxpwk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}.shf{--shf-ratio:1.15;--shf-step-n2:clamp(.875rem, .8665rem + .0605vw, .9063rem);--shf-step-n1:clamp(.9444rem, .9232rem + .1061vw, 1.0054rem);--shf-step-0:clamp(1.0625rem, 1.0299rem + .163vw, 1.1562rem);--shf-step-1:clamp(1.1953rem, 1.1486rem + .2337vw, 1.3297rem);--shf-step-2:clamp(1.3447rem, 1.2806rem + .3207vw, 1.5291rem);--shf-step-3:clamp(1.5128rem, 1.4274rem + .4273vw, 1.7585rem);--shf-step-4:clamp(1.7019rem, 1.5905rem + .5572vw, 2.0223rem);--shf-step-5:clamp(1.9rem, 1.75rem + .7vw, 2.4rem);--shf-step-6:clamp(2.1rem, 1.8rem + 1.3vw, 3rem);--shf-lh-body:1.65;--shf-lh-head:1.2;--shf-measure:60ch;--shf-rule:2px solid var(--shf-ink);--shf-gutter:3.25rem;--shf-tap:2.75rem;--shf-select:20%;--shf-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--shf-leading:calc(var(--shf-step-0) * var(--shf-lh-body));--shf-rail:17rem;background:var(--shf-bg);color:var(--shf-ink);font-family:var(--shf-font-body);font-size:var(--shf-step-0);line-height:var(--shf-lh-body);margin:0}.shf :is(h1,h2,h3,h4){text-wrap:balance}.shf :is(p,li,blockquote,figcaption){text-wrap:pretty}.shf img{max-width:100%;height:auto;display:block}.shf a{color:var(--shf-accent);text-underline-offset:.2em;text-decoration-thickness:1px}.shf a:hover{text-decoration-thickness:2px}.shf-text a:visited{color:color-mix(in srgb, var(--shf-accent) 70%, var(--shf-ink))}.shf a:focus-visible,.shf button:focus-visible,.shf main:focus-visible{outline:2px solid var(--shf-accent);outline-offset:2px}.shf-skip{background:var(--shf-ink);font-size:var(--shf-step-n1);padding:.7rem .75rem;position:absolute;top:-4rem;left:.5rem;color:var(--shf-bg)!important}.shf-skip:focus{top:.5rem}.shf-skip:focus-visible{outline-color:var(--shf-bg)}.shf-shell{grid-template-columns:minmax(0,1fr);max-width:82rem;margin:0 auto;display:grid}.shf-rail{border-bottom:1px solid var(--shf-line);background:var(--shf-surface);padding:1.25rem 1.25rem .5rem}.shf a.shf-name{min-height:var(--shf-tap);color:var(--shf-ink);font-family:var(--shf-font-display);font-size:var(--shf-step-2);font-weight:700;line-height:var(--shf-lh-head);align-items:center;text-decoration:none;display:flex}.shf-tagline{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:.15rem 0 0;line-height:1.4;display:none}.shf-menu{margin-top:.5rem}.shf-menu-label,.shf-toc-label{color:var(--shf-muted);font-size:var(--shf-step-n2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .5rem;font-weight:600}.shf-menu-label{display:none}.shf-menu-list{flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;list-style:none;display:flex}.shf-menu-item{font-size:var(--shf-step-n1)}.shf a.shf-menu-link{min-height:var(--shf-tap);color:var(--shf-ink);align-content:center;text-decoration:none;display:inline-grid}.shf a.shf-menu-link:hover{color:var(--shf-accent);text-decoration:underline}.shf a.shf-menu-link[aria-current=page]{color:var(--shf-accent);font-weight:700}.shf a.shf-menu-lead{background:var(--shf-accent);color:var(--shf-on-accent);padding-inline:.85rem;font-weight:700}.shf a.shf-menu-lead:hover,.shf a.shf-menu-lead[aria-current=page]{background:var(--shf-ink);color:var(--shf-bg);text-decoration:none}.shf-toc-rail{display:none}.shf-toc{margin:0;padding:0;list-style:none}.shf-toc-item{font-size:var(--shf-step-n1);padding-left:1.9rem;position:relative}.shf-toc-item:before{content:counter(list-item) ".";color:var(--shf-accent);font-variant-numeric:tabular-nums;line-height:var(--shf-lh-body);position:absolute;top:.35rem;left:0}.shf a.shf-toc-link{color:var(--shf-muted);padding-block:.35rem;text-decoration:none;display:block}.shf a.shf-toc-link:hover{color:var(--shf-accent);text-decoration:underline}.shf-toc-fold{border-top:1px solid var(--shf-line);border-bottom:1px solid var(--shf-line);margin:0 0 2rem}.shf-toc-fold summary{min-height:var(--shf-tap);font-family:var(--shf-font-display);cursor:pointer;align-items:center;padding-right:2rem;font-weight:600;list-style:none;display:flex;position:relative}.shf-toc-fold summary::-webkit-details-marker{display:none}.shf-toc-fold summary:after{content:"+";color:var(--shf-accent);font-family:var(--shf-font-body);font-weight:700;position:absolute;right:.25rem}.shf-toc-fold details[open] summary:after{content:"-"}.shf-toc-fold summary:focus-visible{outline:2px solid var(--shf-accent);outline-offset:2px}.shf-toc-fold .shf-toc{padding-bottom:.5rem}.shf-toc-fold a.shf-toc-link{min-height:var(--shf-tap);align-items:center;padding-block:.35rem;display:flex}.shf-toc-fold .shf-toc-item:before{top:.7rem}.shf-body{min-width:0;padding:2rem 1.25rem 3rem}.shf-page{max-width:var(--shf-measure);overflow-wrap:anywhere}.shf-page:focus-visible{outline:2px solid var(--shf-accent);outline-offset:4px}@media (width>=56.25rem){.shf-shell{grid-template-columns:var(--shf-rail) minmax(0, 1fr);background:linear-gradient(90deg, var(--shf-surface) calc(var(--shf-rail) - 1px), var(--shf-line) 0 var(--shf-rail), transparent 0)}.shf-rail{overscroll-behavior:contain;background:0 0;border-bottom:0;align-self:start;height:100dvh;padding-block:2rem;padding-inline:1.5rem;position:sticky;top:0;overflow-y:auto}.shf-menu{margin-top:2rem}.shf-menu-label,.shf-menu-list{display:block}.shf a.shf-menu-link{border-left:2px solid #0000;min-height:0;padding:.3rem 0 .3rem .75rem}.shf a.shf-menu-link[aria-current=page]{border-left-color:var(--shf-accent)}.shf a.shf-menu-lead{margin-block:.4rem;padding:.55rem .75rem;display:block}.shf a.shf-menu-lead[aria-current=page]{border-left-color:#0000}.shf-tagline{display:block}.shf-body{padding:3rem 3rem 4rem}}@media (width>=61.25rem){.shf-toc-rail{border-top:1px solid var(--shf-line);margin-top:1.75rem;padding-top:1.25rem;display:block}.shf-toc-fold{display:none}}.shf-title{font-family:var(--shf-font-display);font-size:var(--shf-step-5);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 .75rem}.shf-lede{max-width:52ch;color:var(--shf-muted);font-size:var(--shf-step-1);margin:0 0 1rem;line-height:1.45}.shf-label{border-top:var(--shf-rule);color:var(--shf-muted);font-family:var(--shf-font-body);font-size:var(--shf-step-n2);letter-spacing:.1em;font-weight:600;line-height:var(--shf-lh-head);text-transform:uppercase;margin:0 0 1rem;padding-top:.6rem}.shf-subhead{border-top:var(--shf-rule);font-family:var(--shf-font-display);font-size:var(--shf-step-3);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 1rem;padding-top:.6rem}.shf-section{margin-top:2.5rem}.shf-empty{border-top:var(--shf-rule);border-bottom:1px solid var(--shf-line);padding:.75rem 0}.shf-empty p{margin:0}.shf-empty a{padding-block:.6rem;display:inline-block}.shf-shelves,.shf-rows{margin:0;padding:0;list-style:none}.shf-row{padding-left:var(--shf-gutter);border-top:1px solid var(--shf-line);position:relative}.shf-row:last-child{border-bottom:1px solid var(--shf-line)}.shf-row:before{content:counter(list-item, decimal-leading-zero);color:var(--shf-accent);font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;position:absolute;top:.7rem;left:0}.shf-row-main{padding-bottom:.85rem}.shf-row-title{font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-weight:600;line-height:var(--shf-lh-head);margin:0}.shf-row-title a{color:var(--shf-ink);padding-block:.7rem;text-decoration:none;display:block}.shf-row-title a:after{content:"";position:absolute;inset:0}.shf-row-title a:hover{color:var(--shf-accent);text-decoration:underline}.shf-row-text{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:-.2rem 0 0}.shf-row-meta{color:var(--shf-muted);font-size:var(--shf-step-n2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 .5rem;margin:.2rem 0 0;display:flex}.shf-shelves{border-top:1px solid var(--shf-line);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));column-gap:2rem;display:grid}.shf-shelf{border-bottom:1px solid var(--shf-line)}.shf a.shf-shelf-link{min-height:var(--shf-tap);color:var(--shf-ink);justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;display:flex}.shf-shelf-name{font-family:var(--shf-font-display);font-size:var(--shf-step-0);font-weight:600}.shf-shelf-count{color:var(--shf-muted);font-size:var(--shf-step-n1);font-variant-numeric:tabular-nums}.shf a.shf-shelf-link:hover .shf-shelf-name{color:var(--shf-accent);text-underline-offset:.2em;text-decoration:underline 1px}.shf-pager{border-top:var(--shf-rule);font-size:var(--shf-step-n1);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.shf a.shf-pager-link{padding-block:.7rem;display:inline-block}.shf-pager-count{color:var(--shf-muted);font-variant-numeric:tabular-nums}.shf-crumbs{color:var(--shf-muted);font-size:var(--shf-step-n2);align-items:center;gap:0 .5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.shf-crumbs li{flex:none}.shf-crumbs li:last-child{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.shf-crumbs li+li:before{content:"→";margin-right:.5rem}.shf-facts{border-top:var(--shf-rule);border-bottom:1px solid var(--shf-line);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:0 1rem;margin:0 0 1.5rem;padding:.35rem 0;display:grid}.shf-fact{padding:.3rem 0}.shf-fact dt{color:var(--shf-muted);font-size:var(--shf-step-n2);letter-spacing:.08em;text-transform:uppercase}.shf-fact dd{font-size:var(--shf-step-n1);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.shf-figure{margin:0 0 1.75rem}.shf-figure-img{aspect-ratio:2;object-fit:cover;border:1px solid var(--shf-line);width:100%;max-height:16rem}.shf-figcaption{color:var(--shf-muted);font-size:var(--shf-step-n2);margin-top:.4rem}.shf-text{counter-reset:shf-section}.shf-text>*{margin-block:0;margin-inline:0}.shf-text>*+*{margin-top:var(--shf-leading)}.shf-text h2,.shf-text h3{font-family:var(--shf-font-display);font-weight:700;line-height:var(--shf-lh-head);scroll-margin-top:1rem}.shf-text h2{counter-increment:shf-section;margin-top:calc(var(--shf-leading) * 1.75);border-top:1px solid var(--shf-line);font-size:var(--shf-step-3);padding-top:.6rem}.shf-text h2:before{content:counter(shf-section) ".";color:var(--shf-accent);font-variant-numeric:tabular-nums;margin-right:.45em}.shf-text h3{margin-top:calc(var(--shf-leading) * 1.4);font-size:var(--shf-step-1)}.shf-text :is(h2,h3)+*{margin-top:calc(var(--shf-leading) * .4)}.shf-text ul,.shf-text ol{padding-left:1.5rem}.shf-text li+li{margin-top:.25rem}.shf-text li::marker{color:var(--shf-accent)}.shf-text blockquote{border-left:4px solid var(--shf-accent);font-family:var(--shf-font-display);font-size:var(--shf-step-1);padding:.25rem 0 .25rem 1.1rem;line-height:1.4}.shf-text blockquote>*{margin:0}.shf-text blockquote>*+*{margin-top:.5rem}.shf-text pre{border:1px solid var(--shf-line);background:light-dark(var(--shiki-light-bg),var(--shiki-dark-bg));color:light-dark(var(--shiki-light),var(--shiki-dark));font-family:var(--shf-mono);font-size:var(--shf-step-n1);scrollbar-color:var(--shf-accent) transparent;scrollbar-width:thin;padding:.9rem 1rem;line-height:1.55;overflow-x:auto}.shf-text pre span{color:light-dark(var(--shiki-light),var(--shiki-dark))}.shf-text pre:focus-visible{outline:2px solid var(--shf-accent);outline-offset:2px}.shf-text code{font-family:var(--shf-mono);font-size:.9em}.shf-text pre code{font-size:inherit}.shf-text :not(pre)>code{border:1px solid var(--shf-line);background:var(--shf-surface);padding:.05em .3em}.shf-text img{border:1px solid var(--shf-line)}.shf-table-wrap{border:1px solid var(--shf-line);background:var(--shf-surface);scrollbar-color:var(--shf-accent) transparent;scrollbar-width:thin;overflow-x:auto}.shf-table-wrap:focus-visible{outline:2px solid var(--shf-accent);outline-offset:2px}.shf-text table{border-collapse:collapse;width:100%;min-width:22rem;font-size:var(--shf-step-n1)}.shf-text th{border-bottom:var(--shf-rule);font-size:var(--shf-step-n2);letter-spacing:.06em;text-align:left;text-transform:uppercase}.shf-text :is(th,td){font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;padding:.55rem .85rem}.shf-text td{border-bottom:1px solid var(--shf-line)}.shf-text tbody tr:last-child td{border-bottom:0}.shf-text :is(th,td):not(:first-child){text-align:right}.shf-faq{margin-top:calc(var(--shf-leading) * 2)}.shf-faq-item{border-bottom:1px solid var(--shf-line)}.shf-faq-item summary{font-family:var(--shf-font-display);cursor:pointer;padding:.75rem 2rem .75rem 0;font-weight:600;list-style:none;position:relative}.shf-faq-item summary::-webkit-details-marker{display:none}.shf-faq-item summary:after{content:"+";color:var(--shf-accent);font-family:var(--shf-font-body);font-weight:700;position:absolute;top:.75rem;right:.25rem}.shf-faq-item[open] summary:after{content:"-"}.shf-faq-item summary:focus-visible{outline:2px solid var(--shf-accent);outline-offset:2px}.shf-faq-item p{margin:0 0 .9rem}.shf-sign{margin:calc(var(--shf-leading) * 1.5) 0 0;border-top:1px solid var(--shf-line);color:var(--shf-muted);font-size:var(--shf-step-n1);padding-top:.6rem}.shf-sign:has(a){padding-top:0}.shf-sign a{padding-block:.7rem;display:block}.shf-next{margin-top:2.5rem}.shf-next-list{margin:0;padding:0;list-style:none}.shf-next-list li{border-top:1px solid var(--shf-line);padding-left:1.6rem;position:relative}.shf-next-list li:last-child{border-bottom:1px solid var(--shf-line)}.shf-next-list li:before{content:"→";color:var(--shf-accent);position:absolute;top:.65rem;left:0}.shf-next-list a{padding-block:.65rem;display:block}.shf-hub-link{font-size:var(--shf-step-n1);margin:.5rem 0 0;font-weight:600}.shf-hub-link a{padding-block:.7rem;display:inline-block}.shf-foot{border-top:var(--shf-rule);color:var(--shf-muted);font-size:var(--shf-step-n1);margin-top:4.5rem;padding-top:1.5rem}.shf-foot-grid{gap:1.5rem 2rem;display:grid}.shf-foot p{margin:0 0 .5rem}.shf-foot-name{color:var(--shf-ink);font-family:var(--shf-font-display);font-size:var(--shf-step-2);font-weight:700;line-height:var(--shf-lh-head)}.shf-foot-head{color:var(--shf-ink);font-family:var(--shf-font-body);font-size:var(--shf-step-n2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .25rem;font-weight:600}.shf-foot ul{margin:0;padding:0;list-style:none}.shf-foot a{color:var(--shf-ink);padding-block:.7rem;display:block}.shf-foot .shf-foot-fine{border-top:1px solid var(--shf-line);margin:1.5rem 0 0;padding-top:.75rem}@media (width>=40rem){.shf-foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shf-foot-brand{grid-column:1/-1;max-width:44rem}}@media (width<=56.24rem){.shf-crumbs a{padding-block:.7rem;display:inline-block}}.shf-page-wide{max-width:none}.shf-page-wide>article{max-width:var(--shf-measure)}.shf-kicker{color:var(--shf-accent);font-size:var(--shf-step-n2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .5rem;font-weight:700}.shf a.shf-btn{min-height:var(--shf-tap);border:2px solid var(--shf-accent);background:var(--shf-accent);color:var(--shf-on-accent);align-content:center;justify-items:center;padding:.45rem 1.1rem;font-weight:600;text-decoration:none;transition:background-color 90ms,color 90ms,font-weight 90ms;display:inline-grid}.shf a.shf-btn:after{content:attr(data-label);pointer-events:none;user-select:none;visibility:hidden;height:0;font-weight:700;display:block;overflow:hidden}.shf a.shf-btn:hover{border-color:var(--shf-ink);background:var(--shf-ink);color:var(--shf-bg);font-weight:700}.shf a.shf-btn-alt{border-color:var(--shf-ink);color:var(--shf-ink);background:0 0}.shf a.shf-btn-inv{border-color:var(--shf-on-accent);background:var(--shf-on-accent);color:var(--shf-accent)}.shf a.shf-btn-inv:hover{border-color:var(--shf-on-accent);color:var(--shf-on-accent);background:0 0}.shf-hero{margin:0}.shf-hero-img,.shf-topic-img{border:1px solid var(--shf-line);border-bottom:6px solid var(--shf-ink);background:var(--shf-line);object-fit:cover;width:100%}.shf-hero-img{aspect-ratio:3/2}.shf-hero-card{border:1px solid var(--shf-line);background:var(--shf-surface);border-top:0;padding:1.25rem 1.25rem 1rem;position:relative}.shf-hero-title{font-family:var(--shf-font-display);font-size:var(--shf-step-6);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 .6rem}.shf-hero-lede{max-width:46ch;color:var(--shf-muted);font-size:var(--shf-step-1);margin:0 0 1.1rem;line-height:1.5}.shf-hero-actions{flex-wrap:wrap;gap:.6rem;margin:0;display:flex}.shf-credit{color:var(--shf-muted);font-size:var(--shf-step-n2);margin:1rem 0 0}@media (width>=48rem){.shf-hero-img{aspect-ratio:21/9}.shf-hero-card{border-top:var(--shf-rule);width:min(37rem,100% - 3rem);margin:-5.5rem 0 0 1.5rem;padding:1.75rem 1.75rem 1.25rem}}.shf-block{margin-top:3.5rem}.shf-block-title{font-family:var(--shf-font-display);font-size:var(--shf-step-4);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 .5rem}.shf-block-note{max-width:52ch;color:var(--shf-muted);margin:0 0 1.5rem}.shf-block-title+:is(ol,ul,div,nav){margin-top:1.25rem}.shf-more{margin:.75rem 0 0;font-weight:600}.shf-more a{padding-block:.7rem;display:inline-block}.shf-slips{counter-reset:shf-slip;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.shf-slip{border:1px solid var(--shf-line);border-top:var(--shf-rule);background:var(--shf-surface);counter-increment:shf-slip;padding:1rem 1rem 1rem 3.4rem;transition:border-color 90ms;position:relative}.shf-slip:before{content:counter(shf-slip, decimal-leading-zero);color:var(--shf-accent);font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;position:absolute;top:.95rem;left:1rem}.shf-slip:hover{border-color:var(--shf-ink)}.shf-slip-title{font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-weight:600;line-height:var(--shf-lh-head);margin:0 0 .3rem}.shf-slip-title a,.shf-stack-title a,.shf-cat-title a{color:var(--shf-ink);text-decoration:none}.shf-slip-title a:after,.shf-stack-title a:after,.shf-cat-title a:after{content:"";position:absolute;inset:0}.shf-slip-title a:hover,.shf-stack-title a:hover,.shf-cat-title a:hover{color:var(--shf-accent);text-decoration:underline}.shf-slip-body{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:0}.shf-stacks{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.shf-stack{border:1px solid var(--shf-line);background:var(--shf-surface);position:relative}.shf-stack-img,.shf-stack-blank{aspect-ratio:3/2;border-bottom:6px solid var(--shf-ink);background:var(--shf-line);object-fit:cover;width:100%}.shf-stack-body{padding:0 1rem 1rem}.shf-stack-tag{border:1px solid var(--shf-ink);background:var(--shf-bg);font-family:var(--shf-mono);font-size:var(--shf-step-n2);letter-spacing:.08em;text-transform:uppercase;margin:0 0 -.3rem;padding:.2rem .6rem;font-weight:600;display:inline-block;position:relative;top:-.9rem}.shf-stack-title{font-family:var(--shf-font-display);font-size:var(--shf-step-2);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 .3rem}.shf-stack-text{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:0}.shf-stack-count{font-family:var(--shf-mono);font-size:var(--shf-step-n2);font-variant-numeric:tabular-nums;margin:.6rem 0 0}.shf-rules{counter-reset:shf-rule;gap:0 2.5rem;margin:0;padding:0;list-style:none;display:grid}.shf-rule{border-top:1px solid var(--shf-line);counter-increment:shf-rule;padding:.85rem 0 1rem}.shf-rule-title{font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-weight:600;line-height:var(--shf-lh-head);gap:.6rem;margin:0 0 .3rem;display:flex}.shf-rule-title:before{content:counter(shf-rule, upper-roman) ".";color:var(--shf-accent);font-variant-numeric:tabular-nums}.shf-rule-body{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:0}.shf-bench{border:1px solid var(--shf-accent);background-color:var(--shf-accent);background-image:linear-gradient(color-mix(in srgb, var(--shf-on-accent) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--shf-on-accent) 14%, transparent) 1px, transparent 1px);color:var(--shf-on-accent);background-size:1.75rem 1.75rem;padding:1.25rem}.shf-bench-plate{border:2px solid var(--shf-on-accent);background:var(--shf-accent);max-width:36rem;padding:1.25rem}.shf-bench-tag{font-family:var(--shf-mono);font-size:var(--shf-step-n2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .4rem;font-weight:600}.shf-bench-title{font-family:var(--shf-font-display);font-size:var(--shf-step-4);font-weight:700;line-height:var(--shf-lh-head);margin:0 0 .5rem}.shf-bench-text{margin:0 0 1.1rem}.shf-bench-actions{margin:0}.shf-bench a:focus-visible{outline-color:var(--shf-on-accent)}.shf-cat{border-top:var(--shf-rule);margin:0;padding:0;list-style:none}.shf-cat-row{border-bottom:1px solid var(--shf-line);gap:.4rem;padding:.9rem 0;display:grid;position:relative}.shf-callno,.shf-cat-meta{margin:0}.shf-callno-code{border:1px solid var(--shf-ink);background:var(--shf-surface);font-family:var(--shf-mono);font-size:var(--shf-step-n2);font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;padding:.1rem .45rem;font-weight:600;display:inline-block}.shf-cat-title{font-family:var(--shf-font-display);font-size:var(--shf-step-1);font-weight:600;line-height:var(--shf-lh-head);margin:0}.shf-cat-sum{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:.2rem 0 0}.shf-cat-meta{color:var(--shf-muted);font-size:var(--shf-step-n2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 .9rem;display:flex}.shf-cat-tool{border-left:4px solid var(--shf-accent);background:var(--shf-surface);padding-left:.9rem}.shf-cat-tool .shf-callno-code{border-color:var(--shf-accent);background:var(--shf-accent);color:var(--shf-on-accent)}@media (width>=40rem){.shf-cat-row{grid-template-columns:6rem minmax(0,1fr) 9.5rem;align-items:start;gap:0 1.25rem}.shf-cat-meta{flex-direction:column;gap:.1rem;padding-top:.3rem}}.shf-key{border:1px solid var(--shf-line);background:var(--shf-surface);margin:1.5rem 0 1.75rem;padding:.75rem 1rem}.shf-key-head{color:var(--shf-muted);font-size:var(--shf-step-n2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .5rem;font-weight:600}.shf-key-list{font-size:var(--shf-step-n1);flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.shf-rulenote{color:var(--shf-muted);margin:1.25rem 0 0}.shf-rulenote a{padding-block:.7rem;display:inline-block}.shf-kindline{color:var(--shf-muted);font-size:var(--shf-step-n1);flex-wrap:wrap;align-items:center;gap:.2rem .7rem;margin:0 0 .75rem;font-weight:600;display:flex}.shf-letters{margin:0 0 2rem}.shf-letters-list{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.shf-letter{width:var(--shf-tap);height:var(--shf-tap);border:1px solid var(--shf-ink);background:var(--shf-surface);font-family:var(--shf-font-display);place-items:center;font-weight:700;display:grid}.shf a.shf-letter{color:var(--shf-ink);text-decoration:none}.shf a.shf-letter:hover{border-color:var(--shf-accent);background:var(--shf-accent);color:var(--shf-on-accent)}.shf-letter-off{border:1px dashed var(--shf-line);color:var(--shf-muted);background:0 0}.shf-text-terms h2{margin-top:calc(var(--shf-leading) * 1.1);font-size:var(--shf-step-2);padding-top:.5rem}.shf-text-terms h2:before{content:none}.shf-text-check ul{padding-left:0;list-style:none}.shf-text-check ul>li{padding-left:2rem;position:relative}.shf-text-check ul>li:before{content:"";border:2px solid var(--shf-ink);background:var(--shf-surface);width:1.05rem;height:1.05rem;position:absolute;top:.32em;left:0}.shf-scope{margin:calc(var(--shf-leading) * 1.75) 0 0;border:1px solid var(--shf-line);border-left:4px solid var(--shf-ink);background:var(--shf-surface);font-size:var(--shf-step-n1);padding:.85rem 1rem}.shf-page-wide>.shf-scope{max-width:var(--shf-measure)}.shf-scope strong{font-family:var(--shf-font-display)}.shf-topic-fig{margin:0 0 1.5rem}.shf-topic-img{aspect-ratio:16/9}.shf-topic-text{max-width:var(--shf-measure);margin-top:1.25rem}@media (width>=48rem){.shf-topic-img{aspect-ratio:3}}.shf-faq-home{border-top:var(--shf-rule);margin-top:1.25rem}.shf-desk-lede{max-width:var(--shf-measure)}.shf-desk-lede>:first-child{margin-top:0}.shf-desk>:is(p,ul,ol,section){max-width:var(--shf-measure)}.shf-desk h2:before{content:none}.shf-desk>[data-tool]{max-width:52rem}.shf [data-tool]{border:1px solid var(--shf-line);border-top:4px solid var(--shf-ink);background:var(--shf-surface);gap:1.25rem;padding:1.25rem;display:grid}.shf [data-tool]>:not(fieldset){grid-column:1/-1}.shf [data-tool] fieldset{border:1px solid var(--shf-line);align-content:start;gap:.9rem;min-width:0;margin:0;padding:.9rem 1rem 1.1rem;display:grid}.shf [data-tool] legend{font-family:var(--shf-font-display);font-size:var(--shf-step-1);padding:0 .4rem;font-weight:700}.shf [data-tool] label{font-size:var(--shf-step-n1);margin:0 0 .3rem;font-weight:600;display:block}.shf [data-tool] label:has(>:is(input,select)){gap:.3rem;margin:0;display:grid}.shf [data-tool] :is(input,select,textarea){width:100%;min-height:var(--shf-tap);border:1px solid var(--shf-muted);background:var(--shf-bg);color:var(--shf-ink);font-family:inherit;font-size:var(--shf-step-0);font-variant-numeric:tabular-nums;border-radius:0;margin:0;padding:.45rem .7rem;display:block}.shf [data-tool] :is(input,select,textarea):focus-visible{border-color:var(--shf-accent);outline:2px solid var(--shf-accent);outline-offset:2px}.shf [data-tool] :is(input[type=checkbox],input[type=radio]){width:1.35rem;min-height:1.35rem;accent-color:var(--shf-accent);display:inline-block}.shf [data-tool] label:has(>:is(input[type=checkbox],input[type=radio])){min-height:var(--shf-tap);align-items:center;gap:.6rem;display:flex}.shf [data-tool] :is(button,input[type=submit],input[type=reset]){width:auto;min-height:var(--shf-tap);border:2px solid var(--shf-accent);background:var(--shf-accent);color:var(--shf-on-accent);font-family:inherit;font-size:var(--shf-step-0);cursor:pointer;padding:.45rem 1.1rem;font-weight:600}.shf [data-tool]>:is(button,input[type=submit],input[type=reset]){justify-self:start}.shf [data-tool] dl{order:4;margin:0}.shf [data-tool] dl:has(>div){grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem;display:grid}.shf [data-tool] dl>div{border:1px solid var(--shf-line);border-top:3px solid var(--shf-accent);background:var(--shf-bg);min-width:0;padding:.85rem 1rem}.shf [data-tool] dt{color:var(--shf-muted);font-size:var(--shf-step-n1);margin:0 0 .3rem}.shf [data-tool] dd{margin:0}.shf [data-tool] dl:not(:has(>div)) dt{margin-top:.75rem}.shf [data-tool] :is(output,[data-tool-result]){color:var(--shf-ink);font-family:var(--shf-font-display);font-size:var(--shf-step-3);font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere;font-weight:700;line-height:1.25;display:block}.shf [data-tool]>:is(output,[data-tool-result]){border:1px solid var(--shf-line);border-top:3px solid var(--shf-accent);background:var(--shf-bg);font-size:var(--shf-step-5);order:4;padding:.85rem 1rem}.shf [data-tool] [data-tool-note]{border-left:3px solid var(--shf-line);max-width:64ch;color:var(--shf-muted);font-size:var(--shf-step-n1);order:5;margin:0;padding-left:1rem}@media (width>=40rem){.shf-slips,.shf-stacks,.shf-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.shf [data-tool]{padding:1.75rem}.shf [data-tool]:has(>fieldset){grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.shf-bench{padding:2rem}.shf-bench-plate{padding:1.75rem}}.shf a{transition:color 90ms,text-decoration-color 90ms}.shf a.shf-menu-link{transition:color 90ms,font-weight 90ms}.shf a.shf-menu-link:after{content:attr(data-label);pointer-events:none;user-select:none;visibility:hidden;height:0;font-weight:700;display:block;overflow:hidden}.shf ::selection{background:color-mix(in srgb, var(--shf-accent) var(--shf-select), var(--shf-bg));color:var(--shf-ink)}@media (prefers-reduced-motion:reduce){.shf *,.shf :before,.shf :after{transition:none!important}}
