.share-copy-icons[data-astro-cid-yun5d4r4]>svg{transition:opacity .2s var(--ease-out-expo), transform .3s var(--ease-spring);grid-area:1/1}.share-copy-icons[data-astro-cid-yun5d4r4]>.share-copy-done{opacity:0;transform:scale(.4)rotate(-20deg)}.share-copy[data-astro-cid-yun5d4r4].is-copied{border-color:color-mix(in oklab, var(--accent) 50%, transparent);background-color:var(--accent-soft);color:var(--accent)}.share-copy[data-astro-cid-yun5d4r4].is-copied .share-copy-idle{opacity:0;transform:scale(.4)}.share-copy[data-astro-cid-yun5d4r4].is-copied .share-copy-done{opacity:1;transform:none}@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){.toc-disclosure[data-astro-cid-6ovywiun]{interpolate-size:allow-keywords}.toc-disclosure[data-astro-cid-6ovywiun]::details-content{block-size:0;transition:block-size .35s var(--ease-out-expo), content-visibility .35s allow-discrete;overflow-y:clip}.toc-disclosure[data-astro-cid-6ovywiun][open]::details-content{block-size:auto}}}.reading-progress-bar[data-astro-cid-lpb63ffw]{transform-origin:0;will-change:transform;transform:scaleX(0)}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline:view()) and (timeline-scope:none){html{timeline-scope:--reading-progress}[data-reading-progress-target]{view-timeline-name:--reading-progress;view-timeline-axis:block}[data-astro-cid-lpb63ffw][data-reading-progress][data-mode=css] .reading-progress-bar[data-astro-cid-lpb63ffw]{animation-name:reading-progress;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--reading-progress;animation-range:contain}}.cb{--cb-radius:.875rem;border:1px solid var(--border);border-radius:var(--cb-radius);background:var(--surface);box-shadow:0 1px 2px hsl(var(--shadow-color) / .06);margin-block:1.75em;position:relative}.cb-header{border-bottom:1px solid var(--border);border-radius:calc(var(--cb-radius) - 1px) calc(var(--cb-radius) - 1px) 0 0;background:var(--surface-2);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.5rem;padding:.3125rem .375rem .3125rem 1rem;line-height:1;display:flex}.cb-lang,.cb-panel-lang{color:var(--fg-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.cb-lang:before,.cb-panel-lang:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:9999px;width:.4375rem;height:.4375rem}.cb-actions,.cb-panel-actions{flex:none;align-items:center;gap:.25rem;display:flex}.cb-btn{height:1.875rem;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.75rem;font-weight:500;line-height:1;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.cb-btn:hover{border-color:var(--border);background:var(--surface);color:var(--fg)}.cb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cb-btn svg{flex:none}.cb-btn.is-copied,.cb-btn.is-copied:hover{color:var(--accent)}.cb-btn.is-copied svg{animation:.32s cubic-bezier(.34,1.56,.64,1) cb-pop}.cb-btn-icon{justify-content:center;width:2.25rem;padding:0}@keyframes cb-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.cb pre.astro-code,.cb-panel pre.astro-code{tab-size:4;font-variant-ligatures:none;white-space:pre;margin:0;font-family:JetBrains Mono Variable,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;line-height:1.7;overflow-x:auto}.cb pre.astro-code{border-radius:0 0 calc(var(--cb-radius) - 1px) calc(var(--cb-radius) - 1px);max-width:100%;padding:1rem 1.25rem}.cb pre.astro-code code,.cb-panel pre.astro-code code{width:max-content;min-width:100%;font:inherit;background:0 0;padding:0;display:block}.cb pre.astro-code:focus-visible,.cb-panel pre.astro-code:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=30rem){.cb .cb-btn{justify-content:center;width:1.875rem;padding:0}.cb .cb-btn-text{display:none}}html:has(dialog.cb-panel[open]){scrollbar-gutter:stable;overflow:hidden}dialog.cb-panel{border:0;border-left:1px solid var(--border);background:var(--surface);width:min(46rem,92vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--fg);box-shadow:0 0 0 1px hsl(var(--shadow-color) / .04), -24px 0 60px hsl(var(--shadow-color) / .22);transition:transform .44s cubic-bezier(.16, 1, .3, 1), overlay .44s allow-discrete, display .44s allow-discrete;margin:0;padding:0;position:fixed;inset:0 0 0 auto;transform:translate(100%)}dialog.cb-panel[open]{transform:translate(0)}@starting-style{dialog.cb-panel[open]{transform:translate(100%)}}dialog.cb-panel::backdrop{backdrop-filter:blur();transition:background-color .3s ease, backdrop-filter .3s ease, overlay .44s allow-discrete, display .44s allow-discrete;background-color:#06080f00}dialog.cb-panel[open]::backdrop{backdrop-filter:blur(3px);background-color:#06080f8c}@starting-style{dialog.cb-panel[open]::backdrop{backdrop-filter:blur();background-color:#06080f00}}.cb-panel-inner{flex-direction:column;height:100%;display:flex}.cb-panel-header{border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem .875rem 1.5rem;display:flex}.cb-panel-heading{flex-direction:column;gap:.375rem;min-width:0;display:flex}.cb-panel-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;line-height:1.3;overflow:hidden}.cb-panel-actions .cb-btn{height:2.25rem;font-size:.8125rem}.cb-panel-actions .cb-btn:not(.cb-btn-icon){padding:0 .875rem}.cb-panel-body{flex:1;min-height:0;display:flex}.cb-panel-body pre.astro-code{overscroll-behavior:contain;border-radius:0;flex:1;min-width:0;padding:1.25rem 1.5rem 2rem;overflow:auto}@media (width<=40rem){dialog.cb-panel{border-left:0;width:100vw}.cb-panel-header{padding-left:1rem}.cb-panel-body pre.astro-code{padding:1rem;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){dialog.cb-panel{opacity:0;transition:opacity .12s linear, overlay .12s allow-discrete, display .12s allow-discrete;transform:none}dialog.cb-panel[open]{opacity:1;transform:none}@starting-style{dialog.cb-panel[open]{opacity:0;transform:none}}dialog.cb-panel::backdrop{backdrop-filter:none;transition:background-color .12s linear, overlay .12s allow-discrete, display .12s allow-discrete}.cb-btn.is-copied svg{animation:none}}
