/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-300:oklch(87.2% .01 258.338);--color-white:#fff;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}input:where(:not([type=checkbox],[type=radio],[type=file],[type=hidden])),select,textarea{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-300);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-radius:.25rem;display:block}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.w-full{width:100%}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2{padding-block:calc(var(--spacing) * 2)}.pl-1{padding-left:var(--spacing)}.text-center{text-align:center}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.prose{color:var(--color-text,#1f2937);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-block-start:1.25em}.prose h2{margin-block-start:2em;font-size:1.6rem;font-weight:700;line-height:1.3}.prose h3{margin-block-start:1.6em;font-size:1.3rem;font-weight:700}.prose h4{margin-block-start:1.4em;font-size:1.1rem;font-weight:600}.prose a{text-underline-offset:2px;text-decoration:underline}.prose ul{padding-inline-start:1.5em;list-style:outside}.prose ol{padding-inline-start:1.5em;list-style:decimal}.prose li+li{margin-block-start:.35em}.prose blockquote{border-inline-start:4px solid var(--color-border,#d1d5db);color:var(--color-muted,#4b5563);padding-inline-start:1em;font-style:italic}.prose :not(pre)>code{background:var(--color-surface,#f3f4f6);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose .highlight pre,.prose pre{overflow-inline:auto;color:#e6edf3;background:#0d1117;border-radius:8px;padding:1em;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre,.prose pre code{text-align:start;direction:ltr}.prose figure img{border-radius:6px;block-size:auto;max-inline-size:100%}.prose figcaption{color:var(--color-muted,#6b7280);text-align:center;margin-block-start:.5em;font-size:.875rem}.prose hr{border:0;border-block-start:1px solid var(--color-border,#e5e7eb);margin-block:2.5em}.prose .table-wrap{overflow-inline:auto;overflow-x:auto}.prose table{border-collapse:collapse;inline-size:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--color-border,#e5e7eb);text-align:start;vertical-align:top;padding:.5em .75em}.prose th{background:var(--color-surface,#f9fafb);font-weight:600}.prose .callout{background:var(--callout-accent);border-inline-start:4px solid;border-radius:8px;padding:1em 1.25em}@supports (color:color-mix(in lab, red, red)){.prose .callout{background:color-mix(in srgb, var(--callout-accent) 12%, var(--color-background,transparent))}}.prose .callout{border-color:var(--callout-accent)}.prose .callout-info{--callout-accent:#3b82f6}.prose .callout-warning{--callout-accent:#f59e0b}.prose .callout-tip{--callout-accent:#10b981}.prose .callout :not(pre)>code{background:currentColor}@supports (color:color-mix(in lab, red, red)){.prose .callout :not(pre)>code{background:color-mix(in srgb, currentColor 12%, transparent)}}.prose .callout :not(pre)>code{color:inherit}.prose .embed iframe{aspect-ratio:16/9;border:0;border-radius:8px;inline-size:100%}.toc ol{padding:0;font-size:.95rem;list-style:none}.toc .toc-level-3{padding-inline-start:1em}.toc .toc-level-4{padding-inline-start:2em}.highlight .hll{background-color:#6e7681}.highlight{color:#e6edf3;background:#0d1117}.highlight .c{color:#8b949e;font-style:italic}.highlight .err{color:#f85149}.highlight .esc,.highlight .g{color:#e6edf3}.highlight .k{color:#ff7b72}.highlight .l{color:#a5d6ff}.highlight .n{color:#e6edf3}.highlight .o{color:#ff7b72;font-weight:700}.highlight .x,.highlight .p{color:#e6edf3}.highlight .ch,.highlight .cm{color:#8b949e;font-style:italic}.highlight .cp{color:#8b949e;font-style:italic;font-weight:700}.highlight .cpf,.highlight .c1{color:#8b949e;font-style:italic}.highlight .cs{color:#8b949e;font-style:italic;font-weight:700}.highlight .gd{color:#ffa198;background-color:#490202}.highlight .ge{color:#e6edf3;font-style:italic}.highlight .ges{color:#e6edf3;font-style:italic;font-weight:700}.highlight .gr{color:#ffa198}.highlight .gh{color:#79c0ff;font-weight:700}.highlight .gi{color:#56d364;background-color:#0f5323}.highlight .go,.highlight .gp{color:#8b949e}.highlight .gs{color:#e6edf3;font-weight:700}.highlight .gu{color:#79c0ff}.highlight .gt{color:#ff7b72}.highlight .g-Underline{color:#e6edf3;text-decoration:underline}.highlight .kc{color:#79c0ff}.highlight .kd,.highlight .kn{color:#ff7b72}.highlight .kp{color:#79c0ff}.highlight .kr,.highlight .kt{color:#ff7b72}.highlight .ld{color:#79c0ff}.highlight .m,.highlight .s{color:#a5d6ff}.highlight .na,.highlight .nb{color:#e6edf3}.highlight .nc{color:#f0883e;font-weight:700}.highlight .no{color:#79c0ff;font-weight:700}.highlight .nd{color:#d2a8ff;font-weight:700}.highlight .ni{color:#ffa657}.highlight .ne{color:#f0883e;font-weight:700}.highlight .nf{color:#d2a8ff;font-weight:700}.highlight .nl{color:#79c0ff;font-weight:700}.highlight .nn{color:#ff7b72}.highlight .nx{color:#e6edf3}.highlight .py{color:#79c0ff}.highlight .nt{color:#7ee787}.highlight .nv{color:#79c0ff}.highlight .ow{color:#ff7b72;font-weight:700}.highlight .pm{color:#e6edf3}.highlight .w{color:#6e7681}.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#a5d6ff}.highlight .sa{color:#79c0ff}.highlight .sb,.highlight .sc{color:#a5d6ff}.highlight .dl{color:#79c0ff}.highlight .sd,.highlight .s2{color:#a5d6ff}.highlight .se,.highlight .sh{color:#79c0ff}.highlight .si,.highlight .sx{color:#a5d6ff}.highlight .sr{color:#79c0ff}.highlight .s1,.highlight .ss{color:#a5d6ff}.highlight .bp{color:#e6edf3}.highlight .fm{color:#d2a8ff;font-weight:700}.highlight .vc,.highlight .vg,.highlight .vi,.highlight .vm{color:#79c0ff}.highlight .il{color:#a5d6ff}@media print{.public{color:#000;background:#fff;font-size:11pt;line-height:1.5;display:block}.site-header,.site-footer,.skip-link,.edit-link,.b-search,.b-share,.b-newsletter,.b-prev-next,.comment-form,.comment-reply,.b-nav-mobile,.lb-related_posts,.code-copy{display:none!important}.ls-bg-surface,.ls-bg-primary,.toc,.b-series,.b-author{color:inherit;background:0 0}.ls-pad-md,.ls-pad-lg{padding-block:.5rem}.public .prose{max-inline-size:none}.prose a[href^=http]:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:.85em}.prose pre,.prose .highlight pre{color:#000;white-space:pre-wrap;background:#f5f5f5;border:1px solid #ccc}.prose :is(pre,figure,table,blockquote,img){break-inside:avoid}.prose :is(h2,h3,h4){break-after:avoid}.card:hover .card-image img{transform:none}}.public{--color-border:var(--color-text)}@supports (color:color-mix(in lab, red, red)){.public{--color-border:color-mix(in srgb, var(--color-text) 14%, transparent)}}.public{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;flex-direction:column;min-block-size:100dvh;font-size:1.0625rem;line-height:1.75;display:flex}.font-system,.font-serif,.font-mono{font-family:var(--font-body)}.public a{color:inherit;text-decoration-color:currentColor}@supports (color:color-mix(in lab, red, red)){.public a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}}.public a{text-underline-offset:3px}.public a:hover{color:var(--color-primary);text-decoration-color:currentColor}.public :focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:2px}.public .ls-bg-primary :focus-visible{outline-color:var(--color-on-primary)}.public img{block-size:auto;max-inline-size:100%}.skip-link{z-index:100;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius);padding:.5rem 1rem;text-decoration:none;position:absolute;inset-block-start:-4rem;inset-inline-start:1rem}.skip-link:focus{inset-block-start:1rem}.site-header{border-block-end:1px solid var(--color-border)}.site-main{flex:1 0 auto}.site-footer{border-block-start:1px solid var(--color-border);color:var(--color-muted);font-size:.9375rem;line-height:1.6}.site-footer a{text-decoration:none}.ls{inline-size:100%}.ls-bg-surface{background:var(--color-surface)}.ls-bg-primary{background:var(--color-primary);color:var(--color-on-primary);--color-muted:var(--color-on-primary)}@supports (color:color-mix(in lab, red, red)){.ls-bg-primary{--color-muted:color-mix(in srgb, var(--color-on-primary) 80%, transparent)}}.ls-bg-primary{--color-border:var(--color-on-primary)}@supports (color:color-mix(in lab, red, red)){.ls-bg-primary{--color-border:color-mix(in srgb, var(--color-on-primary) 30%, transparent)}}.public .ls-bg-primary a:hover{color:inherit;text-decoration-color:currentColor}.ls-pad-none{padding-block:0}.ls-pad-sm{padding-block:1rem}.ls-pad-md{padding-block:2.5rem}.ls-pad-lg{padding-block:4.5rem}.ls-inner{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;margin-inline:auto;padding-inline:1rem;display:grid}.ls-w-narrow{max-inline-size:calc(var(--content-width) + 2rem)}.ls-w-medium{max-inline-size:calc(var(--content-width) + 14rem)}.ls-w-wide{max-inline-size:72rem}.ls-w-full{max-inline-size:none}.lc{grid-column:span 12;align-content:start;justify-items:stretch;gap:1.25rem;min-inline-size:0;display:grid}.lc>*{min-inline-size:0}.lc-align-start{text-align:start}.lc-align-center{text-align:center}.lc-align-end{text-align:end}.lc-align-center :is(.b-nav ul,.b-languages ul,.b-social,.b-categories ul){justify-content:center}.lc-align-end :is(.b-nav ul,.b-languages ul,.b-social,.b-categories ul){justify-content:flex-end}:is(.site-header,.site-footer) .lc{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}:is(.site-header,.site-footer) .lc-align-center{justify-content:center}:is(.site-header,.site-footer) .lc-align-end{justify-content:flex-end}.text-start{text-align:start}.text-center{text-align:center}.text-end{text-align:end}@media (min-width:768px){.lc-span-1{grid-column:span 1}.lc-span-2{grid-column:span 2}.lc-span-3{grid-column:span 3}.lc-span-4{grid-column:span 4}.lc-span-5{grid-column:span 5}.lc-span-6{grid-column:span 6}.lc-span-7{grid-column:span 7}.lc-span-8{grid-column:span 8}.lc-span-9{grid-column:span 9}.lc-span-10{grid-column:span 10}.lc-span-11{grid-column:span 11}.lc-span-12{grid-column:span 12}}@media (max-width:767.98px){.ls-hide-mobile{display:none}.ls-pad-lg{padding-block:3rem}}.b-heading,.b-post-title,.b-archive-title,.b-list-heading{letter-spacing:-.015em;text-wrap:balance;font-weight:700;line-height:1.2}h1.b-heading,.b-post-title,.b-archive-title{font-size:clamp(2rem,5vw,2.75rem)}h2.b-heading,.b-list-heading{font-size:clamp(1.5rem,3.5vw,1.875rem)}h3.b-heading{font-size:1.375rem}h4.b-heading,h5.b-heading,h6.b-heading{font-size:1.125rem}.b-text{max-inline-size:65ch}.b-post-meta,.b-series-pager{color:var(--color-muted);font-size:.9375rem;line-height:1.5}.b-post-meta a{text-decoration:none}.b-post-meta a:hover{text-decoration:underline}.b-image{inline-size:100%;margin:0}.b-image img,.b-featured img{border-radius:var(--radius);inline-size:100%}.b-image figcaption{color:var(--color-muted);text-align:center;margin-block-start:.5rem;font-size:.875rem}.b-image-content{max-inline-size:var(--content-width)}.b-image-wide{max-inline-size:60rem}.b-image-full{max-inline-size:none}.b-image-full img{border-radius:0}.b-featured{inline-size:100%;max-inline-size:60rem;margin:0}.btn{border-radius:var(--radius);border:2px solid var(--color-primary);padding:.6rem 1.25rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-block}.public a.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.public a.btn-primary:hover{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.public a.btn-primary:hover{background:color-mix(in srgb, var(--color-primary) 85%, var(--color-text))}}.public a.btn-primary:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.public a.btn-primary:hover{border-color:color-mix(in srgb, var(--color-primary) 85%, var(--color-text))}}.public a.btn-primary:hover{color:var(--color-on-primary)}.public a.btn-secondary{color:var(--color-primary);background:0 0}.public a.btn-secondary:hover{background:var(--color-primary);color:var(--color-on-primary)}.public .ls-bg-primary a.btn{border-color:var(--color-on-primary)}.public .ls-bg-primary a.btn-primary{background:var(--color-on-primary);color:var(--color-primary)}.public .ls-bg-primary a.btn-secondary{color:var(--color-on-primary);background:0 0}.b-divider{border:0;border-block-start:1px solid var(--color-border);inline-size:100%;margin:0}.b-spacer{inline-size:100%}.b-spacer-sm{block-size:1rem}.b-spacer-md{block-size:2rem}.b-spacer-lg{block-size:4rem}.b-spacer-xl{block-size:6rem}.b-embed{inline-size:100%;max-inline-size:var(--content-width)}.b-embed iframe{aspect-ratio:16/9;border-radius:var(--radius);border:0;inline-size:100%}.b-logo{letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.public .b-logo:hover{color:inherit}.b-logo img{block-size:2rem;inline-size:auto}.b-nav ul,.b-languages ul,.b-social,.b-categories ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.b-nav a,.b-languages a,.b-social a{border-block-end:2px solid #0000;padding-block:.25rem;text-decoration:none}.b-nav a:hover,.b-languages a:hover,.b-social a:hover{border-block-end-color:currentColor}.public .b-nav a[aria-current=page],.public .b-languages a[aria-current]{color:var(--color-primary);border-block-end-color:var(--color-primary);font-weight:600}.b-languages a{text-transform:uppercase;letter-spacing:.04em;font-size:.875rem}.b-categories ul{gap:.5rem}.b-categories a{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:.15rem .8rem;font-size:.9375rem;text-decoration:none;display:inline-block}.b-categories a:hover{border-color:var(--color-primary)}.b-categories .count{color:var(--color-muted);font-size:.8125rem}.b-post-list{gap:2rem;inline-size:100%;display:grid}.b-post-list-list .card+.card{border-block-start:1px solid var(--color-border);padding-block-start:2rem}.b-post-list-compact{gap:.75rem}@media (min-width:640px){.b-post-list-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}}.card{flex-direction:column;gap:.9rem;min-inline-size:0;display:flex}.card-list{flex-direction:row;align-items:flex-start;gap:1.25rem}.card-list .card-image{flex:0 0 min(30%,11rem)}.card-image{border-radius:var(--radius);display:block;overflow:hidden}.card-image img{aspect-ratio:16/10;object-fit:cover;inline-size:100%;transition:transform .3s;display:block}.card:hover .card-image img{transform:scale(1.03)}.card-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);gap:0;overflow:hidden}.card-grid .card-image{border-radius:0}.card-grid .card-body{padding:1rem 1.25rem 1.25rem}.card-body{gap:.35rem;min-inline-size:0;display:grid}.card-title{letter-spacing:-.01em;font-size:1.3rem;font-weight:700;line-height:1.3}.card-title a{text-decoration:none}.card-title a:hover{text-decoration:underline}.card-meta{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.5}.card-excerpt{color:var(--color-muted);margin:0}.card-compact{gap:.1rem}.card-compact .card-title{font-size:1.0625rem;font-weight:600}@media (max-width:479.98px){.card-list{flex-direction:column}.card-list .card-image{flex-basis:auto;inline-size:100%}}.toc,.b-series,.b-author{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);inline-size:100%;max-inline-size:var(--content-width);padding:1rem 1.25rem;font-size:.9375rem;line-height:1.6}.toc-title,.b-series-title,.b-author-name{margin:0 0 .4rem;font-weight:700}.toc ol{margin:0}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.b-series ol{margin:0;padding-inline-start:1.4rem;list-style:decimal}.b-series [aria-current=page]{color:var(--color-primary);font-weight:700}.b-series-pager{justify-content:space-between;gap:1rem;margin:.75rem 0 0;display:flex}.b-author-bio{color:var(--color-muted);margin:0}.b-related{inline-size:100%}.b-related h2{margin-block-end:1rem;font-size:1.5rem;font-weight:700}.pager{justify-content:space-between;gap:1rem;margin-block-start:2.5rem;display:flex}.pager a{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem 1rem;text-decoration:none}.pager a:hover{border-color:var(--color-primary)}.pager a[rel=next]{margin-inline-start:auto}.empty{color:var(--color-muted);text-align:center;padding-block:3rem}.public .prose{max-inline-size:min(var(--content-width), 70ch);inline-size:100%}.public .prose :is(h2,h3,h4){text-wrap:balance;scroll-margin-block-start:1rem}@media (prefers-reduced-motion:reduce){.public *,.public :before,.public :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card:hover .card-image img{transform:none}}.b-comments{inline-size:100%;max-inline-size:var(--content-width)}.b-comments-title{margin:0 0 1rem;font-size:1.25rem}.b-comments-count{color:var(--color-muted);font-weight:400}.comment-list,.comment-replies{margin:0;padding:0;list-style:none}.comment-list>li{margin-block-end:1.25rem}.comment-replies{border-inline-start:2px solid var(--color-border);margin-inline-start:1.5rem;padding-inline-start:1rem}.comment-replies>li{margin-block-start:1rem}.comment-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.875rem;display:flex}.comment-author{font-weight:700}.comment-head time{color:var(--color-muted)}.comment-body{overflow-wrap:anywhere;margin-block:.4rem;line-height:1.6}.comment-reply{font-size:.875rem}.comment-notice,.comment-errors,.comment-closed{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.75rem 1rem}.comment-errors{color:light-dark(#b42318,#fca5a5);border-color:light-dark(#b42318,#fca5a5)}.comment-errors p{margin:0}.comment-form{gap:.75rem;margin-block-start:1.5rem;display:grid}.comment-form-title{margin:0;font-size:1.25rem}.comment-form .field{gap:.25rem;display:grid}.comment-form input,.comment-form textarea{border:1px solid var(--color-text);inline-size:100%;padding:.5rem .65rem}@supports (color:color-mix(in lab, red, red)){.comment-form input,.comment-form textarea{border:1px solid color-mix(in srgb, var(--color-text) 35%, transparent)}}.comment-form input,.comment-form textarea{border-radius:var(--radius);background:var(--color-surface);color:inherit;font:inherit}.comment-form input:focus,.comment-form textarea:focus{border-color:var(--color-primary)}.comment-form textarea{min-block-size:8rem}.comment-form .field-error{color:light-dark(#b42318,#fca5a5);margin:0;font-size:.875rem}.comment-form .field-optional{color:var(--color-muted);font-size:.875rem;font-weight:400}.comment-form .field-hint{color:var(--color-muted);margin:0;font-size:.8125rem}.comment-form .hp{block-size:1px;inline-size:1px;position:absolute;inset-inline-start:-10000px;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.b-search{align-items:center;gap:.5rem;display:flex}.b-search input[type=search]{inline-size:9rem;min-inline-size:0;font:inherit;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.35rem .75rem;font-size:.875rem}.b-search input[type=search]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.b-search button{font:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.35rem .75rem;font-size:.875rem}.b-search button:hover{border-color:var(--color-primary)}.b-search button{align-items:center;gap:.35rem;display:inline-flex}.b-search-icon{flex:none}.b-theme-toggle{padding:.35rem .5rem;line-height:1}.b-theme-toggle[hidden]{display:none}.b-theme-toggle .b-theme-label,.site-header .b-search-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.site-header .b-search button{padding:.35rem .5rem}.public:has(.b-search-results) .site-header .lb-search_box{display:none}.lb-search_box:has(+.lb-search_results) .b-search{inline-size:100%}.lb-search_box:has(+.lb-search_results) .b-search input[type=search]{inline-size:100%;padding:.65rem 1rem;font-size:1rem}.public .lb-search_box:has(+.lb-search_results) .b-search button{padding:.65rem 1.25rem;font-size:1rem;display:inline-block}.b-search-results .search-count{margin-block:1.5rem;font-size:1.5rem}.b-search-results .search-list{gap:1.5rem;display:grid}.b-search-results mark,.card-excerpt mark{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.b-search-results mark,.card-excerpt mark{background:color-mix(in srgb, var(--color-primary) 25%, transparent)}}.b-search-results mark,.card-excerpt mark{color:inherit;border-radius:.2em;padding-inline:.1em}.b-newsletter{inline-size:100%;max-inline-size:var(--content-width)}.b-newsletter-title{margin:0 0 .5rem;font-size:1.25rem}.b-newsletter-text{color:var(--color-muted);margin-block:0 .75rem}.newsletter-notice{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);padding:.5rem .75rem}.newsletter-error{color:light-dark(#b42318,#fca5a5);border-color:light-dark(#b42318,#fca5a5)}.newsletter-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.newsletter-form input[type=email]{border:1px solid var(--color-text);flex:14rem;min-inline-size:0;padding:.5rem .75rem}@supports (color:color-mix(in lab, red, red)){.newsletter-form input[type=email]{border:1px solid color-mix(in srgb, var(--color-text) 35%, transparent)}}.newsletter-form input[type=email]{border-radius:var(--radius);background:var(--color-background);color:inherit;font:inherit}.newsletter-form input[type=email]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.newsletter-form .hp{block-size:1px;inline-size:1px;position:absolute;inset-inline-start:-10000px;overflow:hidden}.b-newsletter-message{padding-block:2rem}.b-newsletter-message h1{margin:0 0 .75rem;font-size:1.75rem}.dir-arrow:dir(rtl){display:inline-block;transform:scaleX(-1)}.b-footer-meta{margin:0}.b-footer-sep{margin-inline:.35rem}.b-post-tag{border:1px solid var(--color-border);border-radius:999px;padding:0 .5rem;font-size:.8125rem;display:inline-block}.b-post-tag:before{content:"#";opacity:.6}.b-share{inline-size:100%;max-inline-size:var(--content-width);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.875rem;display:flex}.b-share-title{font-weight:600}.b-share-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.public .b-share-link{border:1px solid var(--color-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem;text-decoration:none;display:inline-block}.public .b-share-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.public [hidden]{display:none!important}.b-share-list li:has(>[hidden]){display:none}.b-prev-next{inline-size:100%;max-inline-size:var(--content-width);gap:1rem;display:grid}@media (min-width:640px){.b-prev-next{grid-template-columns:1fr 1fr}}.b-prev-next-link{border:1px solid var(--color-border);border-radius:var(--radius);gap:.25rem;padding:.9rem 1.1rem;text-decoration:none;display:grid}.public .b-prev-next-link:hover{border-color:var(--color-primary)}.b-next{text-align:end;grid-column:-2}.b-prev-next-label{color:var(--color-muted);font-size:.8125rem}.b-prev-next-title{font-weight:600;line-height:1.35}.b-nav-mobile{display:none;position:relative}.b-lang-code{display:none}.b-nav-mobile summary{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.9375rem;list-style:none;display:inline-flex}.b-nav-mobile summary::-webkit-details-marker{display:none}.b-nav-burger,.b-nav-burger:before,.b-nav-burger:after{background:currentColor;border-radius:1px;block-size:2px;inline-size:1rem;display:block}.b-nav-burger{position:relative}.b-nav-burger:before,.b-nav-burger:after{content:"";position:absolute;inset-inline-start:0}.b-nav-burger:before{inset-block-start:-5px}.b-nav-burger:after{inset-block-start:5px}.b-nav-mobile[open] summary{border-color:var(--color-primary)}.public .b-nav-mobile ul{z-index:20;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);min-inline-size:12rem;box-shadow:0 8px 24px var(--color-text);gap:0;padding:.4rem;display:grid;position:absolute;inset-block-start:calc(100% + .4rem);inset-inline-start:0}@supports (color:color-mix(in lab, red, red)){.public .b-nav-mobile ul{box-shadow:0 8px 24px color-mix(in srgb, var(--color-text) 15%, transparent)}}.public .b-nav-mobile ul{text-align:start}.public .b-nav-mobile a{border-radius:var(--radius);border:0;padding:.5rem .75rem;display:block}.public .b-nav-mobile a:hover{background:var(--color-surface)}@media (max-width:767.98px){.site-header .ls-inner{grid-template-columns:auto minmax(0,1fr);align-items:center}.site-header .lc{grid-column:auto}.site-header :is(.lc-align-center,.lc-align-end){text-align:start;justify-content:flex-end}.site-header .lc{gap:.5rem .75rem}.b-nav-collapsible>ul{display:none}.b-nav-collapsible .b-nav-mobile{display:block}.b-nav-collapsible .b-nav-mobile ul{inset-inline:auto 0}.site-header .b-lang-code{display:inline}.site-header .b-lang-name{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.site-header .b-languages ul{gap:.25rem .6rem}.site-header .b-search input[type=search]{background:0 0;border-color:#0000;inline-size:0;padding-inline:0;transition:inline-size .15s}.site-header .b-search:focus-within input[type=search]{border-color:var(--color-border);background:var(--color-surface);inline-size:8rem;padding-inline:.75rem}}.b-author:has(.b-author-avatar){align-items:flex-start;gap:1rem;display:flex}.b-author-avatar{object-fit:cover;border-radius:50%;flex:none;block-size:4rem;inline-size:4rem}.prose .code-block{position:relative}.prose .code-block>*+*{margin-block-start:0}.prose .code-head{color:#9da7b3;background:#161b22;border-start-start-radius:8px;border-start-end-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;display:flex}.prose .code-head+.highlight pre{border-start-start-radius:0;border-start-end-radius:0}.prose .code-lang{text-transform:uppercase;letter-spacing:.05em}.prose .code-copy{font:inherit;color:#e6edf3;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:4px;margin-inline-start:auto;padding:.15rem .6rem}.prose .code-copy:hover{border-color:#8b949e}.public .prose .heading-anchor{color:var(--color-muted);opacity:0;margin-inline-start:.4em;text-decoration:none;transition:opacity .15s}.prose .heading-anchor:before{content:"#"}.prose :is(h2,h3,h4):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose a.lightbox{cursor:zoom-in;display:block}.prose .table-wrap:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lightbox-dialog{background:0 0;border:0;max-block-size:95vh;max-inline-size:95vw;padding:0}.lightbox-dialog::backdrop{background:#000000d9}.lightbox-dialog img{object-fit:contain;cursor:zoom-out;block-size:auto;max-block-size:90vh;inline-size:auto;max-inline-size:95vw;display:block}.lightbox-close{font:inherit;color:#111;cursor:pointer;background:#eee;border:0;border-radius:999px;padding:.4rem .9rem;position:fixed;inset-block-start:1rem;inset-inline-end:1rem}.b-empty-cta{border:2px dashed var(--color-border);border-radius:var(--radius);justify-items:start;gap:.5rem;inline-size:100%;padding:1.5rem;display:grid}.b-empty-cta p{color:var(--color-muted);margin:0}.public .b-empty-cta .b-empty-cta-title{color:var(--color-text);font-size:1.25rem;font-weight:700}.reading-progress{z-index:40;block-size:3px;inline-size:100%;transform:scaleX(var(--reading-progress,0));transform-origin:0;background:var(--color-primary);pointer-events:none;opacity:0;position:fixed;inset-block-start:0;inset-inline-start:0}.reading-progress.is-active{opacity:1}[dir=rtl] .reading-progress{transform-origin:100%}@media print{.reading-progress{display:none}}.edit-link{z-index:50;color:#fff;background:#111827;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;text-decoration:none;position:fixed;inset-block-end:1rem;inset-inline-end:1rem;box-shadow:0 2px 8px #00000040}.edit-link:hover,.edit-link:focus-visible{color:#fff;background:#1d4ed8}@media print{.edit-link{display:none}}@media (max-width:767.98px){.lc-mo-first{order:-1}.lc-mo-0{order:0}.lc-mo-1{order:1}.lc-mo-2{order:2}.lc-mo-3{order:3}.lc-mo-4{order:4}.lc-mo-5{order:5}.lc-mo-6{order:6}.lc-mo-7{order:7}.lc-mo-8{order:8}.lc-mo-9{order:9}.lc-mo-10{order:10}.lc-mo-11{order:11}.lc-mo-12{order:12}}@container page (max-width:767.98px){.lc-mo-first{order:-1}.lc-mo-0{order:0}.lc-mo-1{order:1}.lc-mo-2{order:2}.lc-mo-3{order:3}.lc-mo-4{order:4}.lc-mo-5{order:5}.lc-mo-6{order:6}.lc-mo-7{order:7}.lc-mo-8{order:8}.lc-mo-9{order:9}.lc-mo-10{order:10}.lc-mo-11{order:11}.lc-mo-12{order:12}}.ls-valign-center>.ls-inner{align-items:center}.ls-valign-end>.ls-inner{align-items:end}.ls-gap-none>.ls-inner{gap:0}.ls-gap-sm>.ls-inner{gap:.75rem}.ls-gap-lg>.ls-inner{gap:2.5rem}.ls-has-image{isolation:isolate;position:relative;overflow:hidden}.ls-bg-image{z-index:-2;object-fit:cover;pointer-events:none;block-size:100%;inline-size:100%;max-inline-size:none;display:block;position:absolute;inset:0}.ls-has-image:before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.ls-overlay-20:before{background:#0003}.ls-overlay-40:before{background:#0006}.ls-overlay-60:before{background:#0009}.ls-overlay-80:before{background:#000c}.ls-overlay-40,.ls-overlay-60,.ls-overlay-80{color:#fff;--color-text:#fff;--color-muted:#ffffffd9;--color-border:#ffffff4d}.b-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.b-gallery a{border-radius:var(--radius);display:block;overflow:hidden}.b-gallery img{aspect-ratio:4/3;object-fit:cover;block-size:100%;inline-size:100%;display:block}@media (min-width:768px){.b-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}.b-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}.b-gallery-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.b-quote{max-inline-size:var(--content-width);margin-block:1.5rem;margin-inline:0}.b-quote blockquote{border-inline-start:3px solid;margin:0;padding-inline-start:1rem;font-size:1.15em;font-style:italic}.b-quote blockquote p{margin:0}.b-quote figcaption{opacity:.8;margin-block-start:.5rem;padding-inline-start:1rem;font-size:.9em}.b-quote cite{font-style:normal}.b-quote cite:before{content:"— "}.b-embed-spotify iframe,.b-embed-codepen iframe{aspect-ratio:auto;border-radius:var(--radius);border:0;inline-size:100%}.b-embed-card{border-radius:var(--radius);border:1px solid;align-items:baseline;gap:.5rem;padding-block:.75rem;padding-inline:1rem;text-decoration:none;display:inline-flex}.b-contact{inline-size:100%;max-inline-size:var(--content-width);scroll-margin-block-start:2rem}.b-contact-title{margin:0 0 .5rem;font-size:1.25rem}.b-contact-text{color:var(--color-muted);margin-block:0 .75rem}.contact-notice,.contact-errors{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin-block:0 .75rem;padding:.75rem 1rem}.contact-error,.contact-errors{color:light-dark(#b42318,#fca5a5);border-color:light-dark(#b42318,#fca5a5)}.contact-errors p{margin:0}.contact-form{gap:.75rem;display:grid;position:relative}.contact-form .field{gap:.25rem;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--color-text);inline-size:100%;padding:.5rem .65rem}@supports (color:color-mix(in lab, red, red)){.contact-form input,.contact-form textarea{border:1px solid color-mix(in srgb, var(--color-text) 35%, transparent)}}.contact-form input,.contact-form textarea{border-radius:var(--radius);background:var(--color-surface);color:inherit;font:inherit}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.contact-form [aria-invalid=true]{border-color:light-dark(#b42318,#fca5a5)}.contact-form textarea{resize:vertical;min-block-size:8rem}.contact-form .field-error{color:light-dark(#b42318,#fca5a5);margin:0;font-size:.875rem}.contact-form .field-hint{color:var(--color-muted);margin:0;font-size:.8125rem}.contact-form .btn{justify-self:start}.contact-form .hp{block-size:1px;inline-size:1px;position:absolute;inset-inline-start:-10000px;overflow:hidden}.b-video{inline-size:100%;max-inline-size:var(--content-width);margin:0}.b-video video{border-radius:var(--radius);background:#000;block-size:auto;inline-size:100%;display:block}.b-video figcaption{color:var(--color-muted);text-align:center;margin-block-start:.5rem;font-size:.875rem}@media print{.b-contact{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}