.bs [id]{scroll-margin-top:calc(var(--header-h) + var(--sp-16))}.bs-head h1{margin:0}.bs-head .t-lead{margin:var(--head-gap) 0 0}.bs-bar{justify-content:space-between;align-items:center;gap:var(--sp-16) var(--sp-48);margin-top:var(--sp-48);flex-wrap:wrap;display:flex}.bs-toc ol{gap:0 var(--sp-24);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bs-toc a{padding:var(--sp-12) 0;color:var(--muted);transition:color var(--dur-hover) ease;text-decoration:none;display:inline-block}@media (hover:hover){.bs-toc a:hover{color:var(--text)}}.bs-toc a:focus-visible{border-radius:var(--radius-xs)}.bs-theme{align-items:center;gap:var(--sp-12);display:flex}html:not(.bs-js) .bs-theme{display:none}.bs-part{margin:var(--section-gap) 0 0;padding:var(--section-pad) 0 0;border-top:1px solid var(--line)}.bs-part-head,.bs-sub{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.bs-part-head{align-items:baseline;row-gap:var(--sp-12);margin-bottom:var(--head-gap)}.bs-part-head h2{grid-column:1/span 3;margin:0}.bs-part-head p{max-width:var(--measure);color:var(--muted);grid-column:4/-1;margin:0}.bs-from{color:var(--faint)}.bs-sub{row-gap:var(--sp-16);padding:var(--sp-32) 0;border-top:1px solid var(--line)}.bs-sub-head{grid-column:1/span 3;min-width:0}.bs-sub-head h3{margin:0}.bs-sub-head p{max-width:var(--measure);margin:var(--sp-8) 0 0}.bs-sub-body{grid-column:4/-1;min-width:0}.bs-sub-wide .bs-sub-head,.bs-sub-wide .bs-sub-body{grid-column:1/-1}.bs-sub-body>*+*{margin-top:var(--sp-24)}.bs-sub-body>p,.bs-cluster>p,.bs-play>p{max-width:var(--measure)}@media (width<=1099.98px){.bs-part-head h2,.bs-part-head p,.bs-sub-head,.bs-sub-body{grid-column:1/-1}}.bs-pair{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bs-trio{gap:var(--card-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=719.98px){.bs-pair,.bs-trio{grid-template-columns:minmax(0,1fr)}}.bs-panel{min-width:0;padding:var(--card-pad);border-radius:var(--radius-xl);background:var(--bg);color:var(--text);box-shadow:var(--edge)}.bs-panel-name{margin:0 0 var(--sp-16)}.bs-panel-next{margin-top:var(--sp-32)}.bs-panel .bs-cluster{margin-top:var(--sp-24)}.bs-night{background-color:var(--night-1);background-image:var(--night);box-shadow:var(--night-edge);color:var(--on-night)}.bs-night .t-label{color:var(--frost-muted)}.bs-night .t-note{color:var(--on-night-muted)}.bs-swatches{gap:var(--sp-8);margin:0;padding:0;list-style:none;display:grid}.bs-sw{grid-template-columns:var(--sp-48) minmax(0, 1fr) auto;align-items:center;column-gap:var(--sp-12);display:grid}.bs-chip{height:var(--sp-32);border-radius:var(--radius-xs);background:var(--sw);min-width:0;box-shadow:var(--edge);color:var(--on,var(--text));font:var(--weight-strong) var(--text-note) / 1 var(--font-text);place-items:center;display:grid}.bs-night .bs-chip{box-shadow:var(--night-panel-edge)}.bs-chip-image{background-color:var(--night-1);background-image:var(--sw)}.bs-sw-text{min-width:0;display:grid}.bs-tok{font:var(--weight-medium) var(--text-code) / var(--leading-note) var(--font-mono);overflow-wrap:break-word}.bs-val{font:var(--weight-text) var(--text-code) / var(--leading-note) var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.bs-written{color:var(--faint)}td .bs-tok{white-space:nowrap}@media (width>=480px){.bs-sw-text .bs-tok,.bs-use .bs-tok,.bs-spec .bs-tok{white-space:nowrap}}@media (width<=479.98px){.bs-sw{grid-template-columns:var(--sp-48) minmax(0, 1fr);row-gap:var(--sp-4)}.bs-sw>.bs-ratio{grid-column:2;justify-content:flex-start}}.bs-use{font-size:var(--text-note);line-height:var(--leading-note);color:var(--faint)}.bs-night .bs-val{color:var(--on-night-muted)}.bs-night .bs-use,.bs-night .bs-written{color:var(--on-night-faint)}.bs-pal{grid-template-columns:repeat(auto-fill, minmax(calc(var(--sp-128) + var(--sp-24)), 1fr));gap:var(--sp-24) var(--card-gap);margin:0;padding:0;list-style:none;display:grid}.bs-pal li{align-content:start;min-width:0;display:grid}.bs-pal .bs-chip{width:100%;height:var(--sp-48);margin-bottom:var(--sp-8);border-radius:var(--radius-md)}.bs-brand-colours{gap:var(--card-gap);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width<=719.98px){.bs-brand-colours{grid-template-columns:repeat(2,minmax(0,1fr))}}.bs-brand-colours li{align-content:start;gap:var(--sp-4);display:grid}.bs-brand-colours .bs-chip{height:var(--sp-96);margin-bottom:var(--sp-8);border-radius:var(--radius-md)}.bs-ratio{justify-content:flex-end;align-items:baseline;gap:var(--sp-8);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.bs-ratio-n{font:var(--weight-medium) var(--text-body) / var(--leading-note) var(--font-text)}.bs-ratio-g{font:var(--weight-medium) var(--text-label) / var(--leading-note) var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--faint)}.bs-ratio-low .bs-ratio-g{color:var(--bad)}.bs-night .bs-ratio-g{color:var(--frost-muted)}td .bs-ratio{justify-content:flex-start}.bs .table-wrap{margin-bottom:0}@media (width<=719.98px){.bs-wide table{min-width:calc(var(--sp-128) * 5)}}.bs-floor{margin:0;display:grid}.bs-floor>div{column-gap:var(--gutter);row-gap:var(--sp-8);padding:var(--sp-16) 0;border-top:1px solid var(--line);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.bs-floor dt{grid-column:span 2}.bs-floor dd{grid-column:span 4;margin:0}.bs-floor dd.t-note{grid-column:span 3}.bs-floor .t-label{margin-bottom:var(--sp-4);display:block}@media (width<=899.98px){.bs-floor dt,.bs-floor dd,.bs-floor dd.t-note{grid-column:1/-1}}.bs td.bs-num,.bs th.bs-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bs-logos{justify-items:start;gap:var(--sp-24);display:grid}.bs-logo{max-width:100%;display:block}.bs-logo svg{width:auto;max-width:100%;height:100%;display:block}.bs-h16{height:var(--sp-16)}.bs-h24{height:var(--sp-24)}.bs-h48{height:var(--sp-48)}.bs-h96{height:var(--sp-96)}.bs-h128{height:var(--sp-128)}.bs-row{align-items:flex-end;gap:var(--sp-24);flex-wrap:wrap;display:flex}.bs-sized{justify-items:start;gap:var(--sp-8);margin:0;display:grid}.bs-clear{padding:var(--sp-24);outline:1px dashed var(--accent);outline-offset:0;display:inline-block}.bs-smallest{width:calc(var(--sp-64) + var(--sp-16))}.bs-smallest svg{width:100%;height:auto}.bs-one-colour{color:var(--text)}.bs-app{width:var(--sp-96);height:var(--sp-96);border-radius:var(--radius-xl);box-shadow:var(--edge);display:block;overflow:hidden}.bs-app svg{width:100%;height:100%;display:block}.bs-pixels{width:var(--sp-96);height:var(--sp-96);image-rendering:pixelated;box-shadow:var(--edge)}.bs-construction-room{container-type:inline-size}.bs-construction{width:100%;max-width:calc(var(--sp-128) * 4);height:auto;display:block}.bs-construction .c-lattice line{stroke:var(--line)}.bs-construction .c-hex{fill:none;stroke:var(--accent)}.bs-construction .c-seams line{stroke:var(--text)}.bs-construction .c-ctrl{fill:none;stroke:var(--text)}.bs-construction .c-dot{fill:var(--bg);stroke:var(--text)}.bs-construction .c-vertex{fill:var(--accent)}.bs-construction .c-dim{fill:none;stroke:var(--muted)}.bs-construction text{font-family:var(--font-mono);font-weight:var(--weight-medium);fill:var(--muted)}@container (width<=428.5px){.bs-construction text{display:none}}.bs-facts{gap:0;margin:0;display:grid}.bs-facts>div{gap:var(--sp-16);padding:var(--sp-12) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.bs-facts dt{padding-top:var(--sp-4)}.bs-facts dd{margin:0}.bs-families{gap:var(--card-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=719.98px){.bs-families{grid-template-columns:minmax(0,1fr)}}.bs-family{align-content:start;gap:var(--sp-8);padding-top:var(--sp-16);border-top:1px solid var(--line);display:grid}.bs-family-name{font-size:var(--text-subtitle);line-height:var(--leading-subtitle);margin:0}.bs-family p{margin:0}.bs-font-display{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-subtitle)}.bs-font-text{font-family:var(--font-text);font-weight:var(--weight-medium)}.bs-font-mono{font-family:var(--font-mono);font-weight:var(--weight-medium)}.bs-steps{align-items:flex-end;gap:var(--sp-24) var(--sp-24);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bs-steps li{justify-items:start;display:grid}.bs-step-aa{font-family:var(--font-display);font-weight:var(--weight-medium);line-height:var(--leading-display);font-size:var(--size);white-space:nowrap}.bs-roles{margin:0;padding:0;list-style:none;display:grid}.bs-role{column-gap:var(--gutter);row-gap:var(--sp-16);padding:var(--sp-24) 0;border-top:1px solid var(--line);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.bs-role-sample{grid-column:span 6;min-width:0}.bs-role-sample>*{margin:0}.bs-role-spec{grid-column:span 3;min-width:0}@media (width<=899.98px){.bs-role-sample,.bs-role-spec{grid-column:1/-1}}.bs-role-name{margin:0 0 var(--sp-8)}.bs-spec{gap:var(--sp-4) var(--sp-16);font-size:var(--text-note);line-height:var(--leading-note);flex-wrap:wrap;margin:0;display:flex}.bs-spec div{gap:var(--sp-4);display:flex}.bs-spec dt{color:var(--faint)}.bs-spec dd{font-variant-numeric:tabular-nums;margin:0}.bs-role-spec .t-note{margin:var(--sp-8) 0 0}.bs-len{width:var(--w);max-width:100%;height:var(--sp-12);background:var(--accent);display:block}.bs-len-live{background:var(--accent-line);box-shadow:var(--edge-accent)}.bs-columns{gap:var(--gutter);height:var(--sp-128);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.bs-columns span{padding-bottom:var(--sp-8);background:var(--ours);box-shadow:var(--edge-accent);justify-content:center;align-items:flex-end;display:flex}@media (width<=719.98px){.bs-columns b{display:none}}.bs-radii{grid-template-columns:repeat(auto-fill, minmax(var(--sp-128), 1fr));gap:var(--card-gap);margin:0;padding:0;list-style:none;display:grid}.bs-radii li{align-content:start;gap:var(--sp-4);display:grid}.bs-radius{width:var(--sp-96);height:var(--sp-96);margin-bottom:var(--sp-8);border-radius:var(--r);background:var(--surface);box-shadow:var(--edge-strong)}.bs-nest{padding:var(--sp-12);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--edge);justify-self:stretch}.bs-nest>span{height:var(--sp-96);border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--edge);display:block}.bs-nest-wrong>span{border-radius:var(--radius-xl)}.bs-tiles{grid-template-columns:repeat(auto-fill, minmax(calc(var(--sp-128) + var(--sp-24)), 1fr));gap:var(--sp-24) var(--card-gap);margin:0;padding:0;list-style:none;display:grid}.bs-tiles li{align-content:start;gap:var(--sp-4);min-width:0;display:grid}.bs-tile{height:var(--sp-64);margin-bottom:var(--sp-12);border-radius:var(--radius-md);background:var(--surface);place-items:center;display:grid}.bs-tile-bg{background:var(--bg)}.bs-states{grid-template-columns:repeat(auto-fill, minmax(calc(var(--sp-128) + var(--sp-24)), 1fr));gap:var(--sp-24) var(--card-gap);display:grid}.bs-state{align-content:start;justify-items:start;gap:var(--sp-12);display:grid}.bs-state .t-label{margin-bottom:var(--sp-4)}.bs-night .bs-state .t-label{color:var(--frost-muted)}.bs-buttons{justify-content:start;align-items:center;gap:var(--sp-16) var(--sp-24);grid-template-columns:repeat(4,max-content);display:grid}@media (width<=719.98px){.bs-buttons{grid-template-columns:minmax(0,1fr);justify-items:start}.bs-buttons .bs-col-head{display:none}}.bs-cluster{align-items:center;gap:var(--sp-12) var(--sp-24);flex-wrap:wrap;display:flex}.bs-prose{max-width:var(--measure)}.bs-prose p{margin:0}.bs-prose p+p{margin-top:var(--sp-16)}.bs-figure-line{align-items:baseline;gap:var(--sp-8);display:flex}.bs-prose strong{font-weight:var(--weight-strong)}.bs-fields{align-items:start;gap:var(--sp-24) var(--card-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=899.98px){.bs-fields{grid-template-columns:minmax(0,1fr)}}.bs-field{gap:var(--sp-8);display:grid}.bs-cards{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=719.98px){.bs-cards{grid-template-columns:minmax(0,1fr)}}.bs-cards .card>:is(h4,p){margin:0}.bs-cards .card{gap:var(--sp-12);flex-direction:column;display:flex}.bs-cards .card p{color:var(--muted)}.bs-card-links{gap:var(--card-gap);display:grid}.bs-card-links p{color:var(--muted);margin:0}.bs-notes{justify-items:start;gap:var(--sp-12);display:grid}.bs-notes .banner{margin:0}@media (width<=899.98px){.bs-term{white-space:pre-wrap;overflow-wrap:break-word}}:root[data-theme=light] .bs .code-block pre span{color:var(--shiki-light)!important}:root[data-theme=dark] .bs .code-block pre span{color:var(--shiki-dark)!important}.bs-play{align-items:center;gap:var(--sp-12) var(--sp-24);flex-wrap:wrap;display:flex}html:not(.bs-js) .bs-play button{display:none}.bs-still{margin:0;display:none}@media (prefers-reduced-motion:reduce){.bs-still{display:block}}.bs-curves{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=719.98px){.bs-curves{grid-template-columns:minmax(0,1fr)}}.bs-curve{grid-template-columns:var(--sp-96) minmax(0, 1fr);align-items:center;gap:var(--sp-16);display:grid}.bs-curve svg{width:var(--sp-96);height:var(--sp-96);display:block;overflow:visible}.bs-curve .axis{stroke:var(--line)}.bs-curve .curve{fill:none;stroke:var(--accent)}.bs-curve .handle{stroke:var(--mark)}.bs-durs{margin:0;padding:0;list-style:none;display:grid}.bs-dur{column-gap:var(--gutter);row-gap:var(--sp-8);padding:var(--sp-12) 0;border-top:1px solid var(--line);grid-template-columns:repeat(9,minmax(0,1fr));align-items:center;display:grid}.bs-dur-name{grid-column:span 3}.bs-dur-track{grid-column:span 6}@media (width<=899.98px){.bs-dur-name,.bs-dur-track{grid-column:1/-1}}.bs-track{height:var(--sp-12);border-radius:var(--radius-pill);background:var(--track);display:block}.bs-runner{width:calc(100% - var(--sp-12));transition:transform var(--dur) var(--ease);display:block}.bs-runner i{width:var(--sp-12);height:var(--sp-12);border-radius:var(--radius-pill);background:var(--accent);display:block}.bs-motion.is-on .bs-runner{transform:translate(100%)}.bs-motion.is-reset *{transition:none}.bs-rises{gap:var(--sp-12);min-height:var(--sp-96);padding-top:var(--rise);flex-wrap:wrap;display:flex}.bs-rises i{width:var(--sp-64);height:var(--sp-48);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--edge);transition:opacity calc(var(--dur-reveal) * .85) ease, transform var(--dur-reveal) var(--ease);transition-delay:calc(var(--i) * var(--stagger));display:block}.bs-motion.is-armed .bs-rises i{opacity:0;transform:translateY(var(--rise))}.bs-motion.is-on .bs-rises i{opacity:1;transform:none}.bs-pair-follow{gap:var(--sp-8);margin-top:var(--sp-24);display:grid}.bs-pair-follow>*{transition:opacity var(--dur-fade) ease;margin:0}.bs-pair-follow>:last-child{transition-delay:var(--follow)}.bs-motion.is-armed .bs-pair-follow>*{opacity:0}.bs-motion.is-on .bs-pair-follow>*{opacity:1}.bs-play+.bs-loops{margin-top:var(--sp-24)}.bs-loops{grid-template-columns:repeat(auto-fill, minmax(calc(var(--sp-128) + var(--sp-24)), 1fr));gap:var(--sp-24) var(--card-gap);margin:0;padding:0;list-style:none;display:grid}.bs-loops li{align-content:start;gap:var(--sp-4);display:grid}.bs-loop{height:var(--sp-96);margin-bottom:var(--sp-12);border-radius:var(--radius-md);background:var(--night-panel);box-shadow:var(--night-panel-edge);place-items:center;display:grid}.bs-loop svg{width:var(--sp-96);height:var(--sp-64);display:block;overflow:visible}.bs-lamp-ring{fill:var(--night-glow-soft);transform-box:fill-box;transform-origin:50%;animation:bs-pulse var(--loop-pulse) ease-in-out infinite}.bs-lamp{fill:var(--night-ice)}.bs-flow{fill:none;stroke:var(--night-line-strong);stroke-linecap:round;animation:bs-flow var(--loop-flow) linear infinite}.bs-caret{fill:var(--night-ice);animation:bs-caret var(--loop-caret) steps(1) infinite}.bs-orbit-ring{fill:none;stroke:var(--night-line)}.bs-orbit{transform-box:view-box;transform-origin:50%;animation:bs-orbit var(--loop-orbit) linear infinite}.bs-orbit circle{fill:var(--night-ice)}.bs-globe{fill:var(--night-face-left);stroke:var(--night-rule)}.bs-loops-host:not(.bs-loops-on) .bs-loop svg *,.bs-figure svg *{animation-play-state:paused}@keyframes bs-pulse{50%{opacity:.35}}@keyframes bs-flow{to{stroke-dashoffset:-16px}}@keyframes bs-caret{50%{opacity:0}}@keyframes bs-orbit{to{transform:rotate(1turn)}}.bs-figure{align-items:center;gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=899.98px){.bs-figure{grid-template-columns:minmax(0,1fr)}}.bs-figure svg{width:100%;height:auto;display:block}.bs-face-top{fill:var(--ice)}.bs-face-left{fill:var(--glacier-light)}.bs-face-right{fill:var(--glacier)}.bs-dark-top{fill:var(--night-face-top);stroke:var(--night-rule)}.bs-dark-left{fill:var(--night-face-left);stroke:var(--night-hair)}.bs-dark-right{fill:var(--night-face-right);stroke:var(--night-hair)}.bs-hair{stroke:var(--night-hair)}.bs-route{fill:none;stroke:var(--night-line-strong);stroke-linejoin:round;stroke-linecap:round}.bs-glass{fill:var(--night-glass);stroke:var(--night-glass-edge);stroke-linejoin:round}.bs-streak{stroke:var(--night-line);stroke-linecap:round}.bs-asleep{fill:none;stroke:var(--frost-muted);stroke-linejoin:round}.bs-term{padding:var(--sp-12) var(--sp-16);border-radius:var(--radius-md);background:var(--night-panel);box-shadow:var(--night-panel-edge);font:var(--weight-text) var(--text-code) / var(--leading-code) var(--font-mono);color:var(--on-night-strong);border:0;margin:0;overflow-x:auto}.bs-term code{font:inherit;color:inherit;background:0 0;border:0;padding:0}.bs-term .dim{color:var(--on-night-faint)}.bs-term .pr{color:var(--night-ice)}.bs-night-caption{margin:var(--sp-16) 0 0;font-size:var(--text-note);line-height:var(--leading-note);color:var(--on-night-muted)}
