:root{color-scheme:dark;--bg:#000;--surface:#0c0c0d;--surface-2:#161618;--ink:#fff;--ink-2:#b4b4b8;--line:#2c2c31;--accent:#fff;--accent-ink:#000;--link:#fff;--focus:#8ec5ff;--good:#6ee7a0;--warn:#facc15;--bad:#fca5a5;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, "Cascadia Mono", Consolas, "Liberation Mono", monospace;--weight-display:700;--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1:clamp(1.2rem, 1.13rem + .3vw, 1.3rem);--step-2:clamp(1.44rem, 1.33rem + .5vw, 1.62rem);--step-3:clamp(1.73rem, 1.55rem + .8vw, 2.03rem);--step-4:clamp(2.07rem, 1.8rem + 1.2vw, 2.53rem);--step-5:clamp(2.49rem, 2.07rem + 1.8vw, 3.16rem);--leading:1.6;--leading-tight:1.2;--measure:68ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--gutter:clamp(1rem, 4vw, 2rem);--page-max:70rem;--radius-s:8px;--radius-m:12px;--radius-l:20px;--border:1px;--shadow-1:0 0 0 1px #ffffff0a;--shadow-2:0 0 0 1px #ffffff1f, 0 18px 48px #ffffff0f;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.16s}@media (prefers-color-scheme:dark){:root{--bg:#000;--surface:#0c0c0d;--surface-2:#161618;--ink:#fff;--ink-2:#b4b4b8;--line:#2c2c31;--accent:#fff;--accent-ink:#000;--link:#fff;--focus:#8ec5ff;--good:#6ee7a0;--warn:#facc15;--bad:#fca5a5;--shadow-1:0 0 0 1px #ffffff0a;--shadow-2:0 0 0 1px #ffffff1f, 0 18px 48px #ffffff0f}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--space-5)}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;display:flex}main{padding-block:var(--space-6) var(--space-8);flex:1}main:focus{outline:none}img,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,select,textarea{font:inherit;color:inherit}p,li,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--step-4);letter-spacing:-.02em}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0)}p,li{text-wrap:pretty}a{color:var(--link);text-decoration-thickness:var(--border);text-underline-offset:.18em}a:hover{text-decoration-thickness:calc(var(--border) * 2)}strong,b{font-weight:650}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}:not(pre)>code{border-radius:var(--radius-s);background:var(--surface-2);padding:.1em .3em}pre{padding:var(--space-4);border-radius:var(--radius-m);background:var(--surface-2);overflow-x:auto}small{font-size:var(--step--1)}hr{border:0;border-top:var(--border) solid var(--line)}.lede{max-width:var(--measure);font-size:var(--step-1);color:var(--ink-2)}.meta{font-size:var(--step--1);color:var(--ink-2)}.num{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.stack>*+*{margin-block-start:var(--space-4)}.cluster{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(var(--space-8) * 4)), 1fr));display:grid}.section{margin-block-start:var(--space-7)}.panel>p{max-width:var(--measure)}.panel{padding:var(--space-5);background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.prose{max-width:var(--measure)}.prose>*+*{margin-block-start:var(--space-4)}.prose>*+h2{margin-block-start:var(--space-7)}.prose>*+h3{margin-block-start:var(--space-6)}.prose>h2+*,.prose>h3+*{margin-block-start:var(--space-3)}.prose ul,.prose ol{padding-inline-start:var(--space-5)}.prose li+li{margin-block-start:var(--space-2)}.prose blockquote{border-inline-start:calc(var(--border) * 3) solid var(--line);color:var(--ink-2);padding-inline-start:var(--space-4)}:focus-visible{outline:calc(var(--border) * 2) solid var(--focus);outline-offset:calc(var(--border) * 2);border-radius:var(--radius-s)}.skip-link{inset-inline-start:var(--space-3);top:var(--space-3);z-index:100;padding:var(--space-2) var(--space-4);background:var(--surface);color:var(--ink);border:var(--border) solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-2);font-weight:650;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:var(--border) solid var(--accent);border-radius:var(--radius-m);background:var(--accent);color:var(--accent-ink);font-weight:650;line-height:var(--leading-tight);cursor:pointer;touch-action:manipulation;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);text-decoration:none;display:inline-flex}.button:hover{box-shadow:var(--shadow-2)}.button-secondary{color:var(--ink);border-color:var(--ink-2);background:0 0}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none}.field{gap:var(--space-2);max-width:var(--measure);display:grid}label,legend{font-weight:600}input:not([type=checkbox],[type=radio],[type=range]),select,textarea{width:100%;padding:var(--space-3);background:var(--surface);border:var(--border) solid var(--ink-2);border-radius:var(--radius-m);line-height:var(--leading-tight)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}textarea{min-height:calc(var(--space-8) * 2);line-height:var(--leading)}fieldset{padding:var(--space-4);border:var(--border) solid var(--line);border-radius:var(--radius-m)}.hint{font-size:var(--step--1);color:var(--ink-2)}.field-error{font-size:var(--step--1);color:var(--bad);font-weight:600}[aria-invalid=true]{border-color:var(--bad)}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}caption{text-align:start;padding-block-end:var(--space-2);font-weight:600}th,td{padding:var(--space-2) var(--space-3);border-bottom:var(--border) solid var(--line);text-align:start;vertical-align:top}thead th{border-bottom-width:calc(var(--border) * 2);font-weight:650}.scroll-region{border-radius:var(--radius-s);max-width:100%;overflow-x:auto}.notice{max-width:var(--measure);padding:var(--space-3) var(--space-4);border:var(--border) solid var(--ink-2);border-radius:var(--radius-m);background:var(--surface-2)}.notice[data-tone=good]{border-color:var(--good)}.notice[data-tone=warn]{border-color:var(--warn)}.notice[data-tone=bad]{border-color:var(--bad)}.ad-slot{margin-block:var(--space-6);text-align:center}.ad-slot ins.adsbygoogle{min-height:calc(var(--space-8) * 1.5)}.ad-slot:has(ins[data-ad-status=unfilled]){display:none}.ad-label{font-size:var(--step--1);color:var(--ink-2);margin-block-end:var(--space-1);display:none}.ad-slot:has(ins[data-ad-status=filled]) .ad-label{display:block}.site-header{border-bottom:var(--border) solid var(--line);background:var(--surface)}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5);max-width:none;padding-block:var(--space-3);flex-wrap:wrap;display:flex}.site-nav{margin-inline-start:auto}.brand-mark{white-space:nowrap}.brand{font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.site-nav ul,.site-footer ul{gap:var(--space-1) var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-nav a{padding-block:var(--space-2);color:var(--ink);font-weight:550;text-decoration:none;display:inline-block}.site-nav a:hover,.site-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:calc(var(--border) * 2)}.site-footer{padding-block:var(--space-6);border-top:var(--border) solid var(--line);background:var(--surface-2);font-size:var(--step--1);color:var(--ink-2)}.site-footer .wrap>*+*{margin-block-start:var(--space-4)}.site-footer a{padding-block:var(--space-1);color:var(--ink);display:inline-block}.footer-brand{color:var(--ink);font-weight:650}.breadcrumbs ol{gap:var(--space-1) var(--space-2);font-size:var(--step--1);color:var(--ink-2);flex-wrap:wrap;margin-block-end:var(--space-4);padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--ink-2);margin-inline-end:var(--space-2)}.page-head{margin-block-end:var(--space-6)}.page-head>*+*{margin-block-start:var(--space-3)}.hero h1{max-width:18ch;font-size:var(--step-5)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header nav,.site-footer,.ad-slot,.skip-link{display:none}}.callout-wrap[data-astro-cid-h2isu5je]{min-width:0;max-width:calc(100% - 2.5rem - var(--space-3));align-items:center;display:inline-flex;position:relative}.callout[data-astro-cid-h2isu5je]{align-items:center;gap:var(--space-2);min-width:0;padding-block:var(--space-2);color:var(--ink);font-family:var(--font-display);font-size:var(--step-0);font-weight:var(--weight-display);letter-spacing:-.01em;touch-action:manipulation;text-decoration:none;display:inline-flex}.callout[data-astro-cid-h2isu5je]:hover,.callout[data-astro-cid-h2isu5je]:focus-visible{text-decoration:underline;text-decoration-thickness:calc(var(--border) * 2);text-underline-offset:.2em}.callout-text[data-astro-cid-h2isu5je]{min-width:0}@media (width<=23.4rem){.callout[data-astro-cid-h2isu5je]{min-height:calc(2lh + 2 * var(--space-2))}}.callout-text[data-astro-cid-h2isu5je]:not([hidden]){animation:callout-in var(--dur) var(--ease)}@keyframes callout-in{0%{opacity:0}to{opacity:1}}.callout-arrow[data-astro-cid-h2isu5je]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.1em;height:1.1em;transition:transform var(--dur) var(--ease);flex:none}.callout[data-astro-cid-h2isu5je]:hover .callout-arrow[data-astro-cid-h2isu5je],.callout[data-astro-cid-h2isu5je]:focus-visible .callout-arrow[data-astro-cid-h2isu5je]{transform:translate(.2em)}.callout-toggle[data-astro-cid-h2isu5je]{inset-inline-start:100%;border:var(--border) solid var(--ink-2);width:2.5rem;height:2.5rem;color:var(--ink);cursor:pointer;touch-action:manipulation;opacity:0;pointer-events:none;background:0 0;border-radius:50%;place-items:center;margin-inline-start:var(--space-3);padding:0;display:grid;position:absolute;top:50%;translate:0 -50%}.callout-toggle[data-astro-cid-h2isu5je][hidden]{display:none}.callout-toggle[data-astro-cid-h2isu5je]:focus{opacity:1;pointer-events:auto}.callout-toggle[data-astro-cid-h2isu5je]:focus-visible{background:var(--ink);color:var(--bg)}.callout-toggle[data-astro-cid-h2isu5je] svg[data-astro-cid-h2isu5je]{width:1rem;height:1rem}.icon-pause[data-astro-cid-h2isu5je]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.icon-play[data-astro-cid-h2isu5je]{fill:currentColor;display:none}.callout-toggle[data-astro-cid-h2isu5je][data-paused=true] .icon-pause[data-astro-cid-h2isu5je]{display:none}.callout-toggle[data-astro-cid-h2isu5je][data-paused=true] .icon-play[data-astro-cid-h2isu5je]{display:block}.sound-line[data-astro-cid-fzpbxy5g]{align-items:center;display:flex}.sound-toggle[data-astro-cid-fzpbxy5g]{min-width:2rem;min-height:2rem;color:var(--ink-2);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sound-toggle[data-astro-cid-fzpbxy5g][hidden]{visibility:hidden;display:inline-flex}.sound-toggle[data-astro-cid-fzpbxy5g][aria-pressed=true],.sound-toggle[data-astro-cid-fzpbxy5g]:hover,.sound-toggle[data-astro-cid-fzpbxy5g]:focus-visible{color:var(--ink)}.sound-icon[data-astro-cid-fzpbxy5g]{fill:none;stroke:currentColor;stroke-width:6px;width:25px;height:7.5px;display:block;overflow:visible}.sound-wave[data-astro-cid-fzpbxy5g]{stroke-linejoin:round}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
