@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;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;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;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,::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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}:root{color-scheme:light dark;--paper:light-dark(#f8f7fc,#11101a);--paper-raised:light-dark(#fdfcff,#191725);--paper-muted:light-dark(#aaa7bb,#aaa4bd);--ink:light-dark(#181d27,#f5f2ff);--ink-soft:light-dark(#414651,#d1ccdf);--ink-muted:light-dark(#666a74,#aaa4b9);--line:light-dark(#4f39f62e,#9e8cff47);--line-strong:light-dark(#1b10707a,#cbc0ff7a);--signal:light-dark(#4f39f6,#a997ff);--signal-emphasis:light-dark(#1b1070,#b6a8ff);--signal-fill:light-dark(#4f39f6,#6049d2);--signal-fill-hover:light-dark(#1b1070,#4935ad);--signal-bright:light-dark(#c6f,#e49aff);--signal-deep:light-dark(#1b1070,#251a63);--signal-soft:light-dark(#ede9ff,#25203d);--signal-line:light-dark(#dbd5ff,#554a7e);--inverse-ink:#f8f7fc;--inverse-muted:#aaa7bb;--inverse-surface:light-dark(#181d27,#29213f);--code-surface:light-dark(#181d27,#09080e);--code-ink:light-dark(#f8f7fc,#f5f2ff);--text-label:.75rem;--content-width:72rem;color:var(--ink);background:var(--paper);font-family:var(--font-mono);font-synthesis:none}@supports not (color:light-dark(#000, #fff)){:root{--paper:#f8f7fc;--paper-raised:#fdfcff;--paper-muted:#aaa7bb;--ink:#181d27;--ink-soft:#414651;--ink-muted:#666a74;--line:#4f39f62e;--line-strong:#1b10707a;--signal:#4f39f6;--signal-emphasis:#1b1070;--signal-fill:#4f39f6;--signal-fill-hover:#1b1070;--signal-bright:#c6f;--signal-deep:#1b1070;--signal-soft:#ede9ff;--signal-line:#dbd5ff;--inverse-surface:#181d27;--code-surface:#181d27;--code-ink:#f8f7fc}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem}body{min-height:100vh;color:var(--ink);background:linear-gradient(to right, transparent calc(50% - .5px), #4f39f60a 50%, transparent calc(50% + .5px)), var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:.875rem}h1,h2,h3{text-wrap:balance}p,li,blockquote,figcaption{text-wrap:pretty}@view-transition{navigation:auto}::selection{color:var(--paper);background:var(--signal)}a{transition:color .14s,background-color .14s}a:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.skip-link{z-index:1000;color:var(--inverse-ink);background:var(--signal-deep);font-size:var(--text-label);padding:.65rem .8rem;font-weight:750;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1rem))}.skip-link:focus{transform:translateY(0)}.site-container{width:min(calc(100% - 2.5rem), var(--content-width));margin-inline:auto}.page-section{padding-block:clamp(3.5rem,7vw,6rem)}.ascii-rule{height:1rem;color:var(--ink-muted);letter-spacing:.14em;white-space:nowrap;border:0;font-size:.65rem;line-height:1rem;overflow:hidden}.ascii-rule:before{content:"................................................................................................................................................................................................................................"}.prose-shell{width:min(100% - 2.5rem,45rem);color:var(--ink-soft);margin-inline:auto;padding-block:clamp(2.5rem,5vw,4.5rem);font-size:clamp(.96rem,1.35vw,1.03rem);line-height:1.9}.prose-shell>:first-child{margin-top:0}.prose-shell h2,.prose-shell h3,.prose-shell h4{color:var(--ink);letter-spacing:-.035em;margin-top:3em;margin-bottom:.85em;line-height:1.2}.prose-shell h2{font-size:1.3em}.prose-shell h3{margin-top:2.5em;font-size:1.08em}.prose-shell p{margin-block:1.2em}.prose-shell strong{color:var(--ink)}.prose-shell ul,.prose-shell ol{margin-block:1.25em 1.6em;padding-left:1.55em}.prose-shell ul{list-style:square}.prose-shell ol{list-style:decimal}.prose-shell li{padding-left:.25em}.prose-shell li+li{margin-top:.65em}.prose-shell h2:before{color:var(--signal);content:"## "}.prose-shell h3:before{color:var(--signal);content:"### "}.prose-shell a{color:var(--ink);text-decoration-color:var(--signal);text-underline-offset:.18em;text-decoration-thickness:2px}.article-prose a{color:var(--signal);text-underline-offset:.2em;text-decoration-skip-ink:auto;font-weight:650;text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:.11em}.article-prose a:is(:hover,:focus-visible){color:var(--signal-emphasis);background:var(--signal-soft);text-decoration-color:currentColor}.article-prose>p,.article-prose>ul,.article-prose>ol,.article-prose>blockquote,.article-prose .guide-method__body>p{font-family:var(--font-sans);letter-spacing:0;font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.7}.article-prose>p strong,.article-prose>ul strong,.article-prose>ol strong{font-weight:650}.article-prose>p code,.article-prose>ul code,.article-prose>ol code,.article-prose a.cite,.article-prose .claim-tag,.article-prose .sidenote{font-family:var(--font-mono)}.article-prose a.cite{vertical-align:.35em}.prose-shell blockquote{border-left:3px solid var(--signal);color:var(--ink);background:var(--paper-raised);margin:1.75em 0;padding:1rem 1.25rem}.prose-shell blockquote>:first-child{margin-top:0}.prose-shell blockquote>:last-child{margin-bottom:0}.prose-shell img{border:1px solid var(--line-strong);max-width:100%;height:auto}.prose-shell code{color:var(--ink);background:var(--signal-soft);padding:.15em .3em;font-size:.9em}.prose-shell pre{color:var(--code-ink);background:var(--code-surface);padding:1.25rem;overflow-x:auto}.prose-shell pre code{color:inherit;background:0 0;padding:0}.mermaid-diagram{--mermaid-breakout-width:min(calc(100vw - 2.5rem), 64rem);width:var(--mermaid-breakout-width);margin:2.5rem calc((100% - var(--mermaid-breakout-width)) / 2);border:1px solid var(--line-strong);background:var(--paper-raised)}.mermaid-diagram__canvas{overscroll-behavior-inline:contain;padding:clamp(1rem,3vw,2rem);overflow-x:auto}.prose-shell .mermaid-diagram__source{color:var(--code-ink);background:var(--code-surface);white-space:pre;border:0;margin:0}.mermaid-diagram__output{min-width:min(var(--mermaid-natural-width,100%), 60rem)}.mermaid-diagram__output--dark{display:none}.mermaid-diagram__output svg{height:auto;margin-inline:auto;display:block;width:100%!important;max-width:none!important}:root[data-theme=dark] .mermaid-diagram__output--light{display:none}:root[data-theme=dark] .mermaid-diagram__output--dark{display:block}.mermaid-diagram__caption{border-top:1px solid var(--line);color:var(--ink-muted);font-size:var(--text-label);letter-spacing:.04em;gap:.65rem;margin:0;padding:.8rem 1rem;line-height:1.5;display:flex}.mermaid-diagram__caption span{color:var(--signal);flex:none;font-weight:750}.mermaid-diagram[data-mermaid-error] .mermaid-diagram__caption:after{content:" // SOURCE SHOWN — DIAGRAM COULD NOT RENDER";color:var(--signal)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .mermaid-diagram__output--light{display:none}:root:not([data-theme]) .mermaid-diagram__output--dark{display:block}}@media (width<=640px){.site-container,.prose-shell{width:min(calc(100% - 1.5rem), var(--content-width))}body{background:var(--paper)}.mermaid-diagram{--mermaid-breakout-width:calc(100vw - 1.5rem)}.mermaid-diagram__caption{flex-direction:column;gap:.15rem}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.site-footer[data-astro-cid-jo6i4kqk]{color:var(--inverse-ink);background:var(--signal-deep)}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);gap:3rem;padding-block:clamp(2.75rem,5vw,4.5rem);display:grid}.footer-label[data-astro-cid-jo6i4kqk]{color:var(--signal-bright);font-size:var(--text-label);letter-spacing:.08em;margin:0 0 1rem;font-weight:700}nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.75rem 1.5rem;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:inherit;text-underline-offset:.22em}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--signal-bright)}.footer-links[data-astro-cid-jo6i4kqk]{gap:1.75rem;display:grid}.footer-note[data-astro-cid-jo6i4kqk]{max-width:34rem;color:var(--inverse-ink);margin:0;font-size:.82rem;line-height:1.65}.footer-base[data-astro-cid-jo6i4kqk]{color:var(--inverse-muted);font-size:var(--text-label);border-top:1px dotted #f7f6f159;justify-content:space-between;padding-block:1rem;display:flex}.footer-base[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.footer-base[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]{color:var(--signal-bright)}@media (width<=700px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:2.5rem}}[data-motion-arrow]{display:inline-block}@media (prefers-reduced-motion:no-preference){@keyframes motion-intro{0%{transform:translateY(var(--motion-intro-distance,10px)) scale(var(--motion-intro-scale,1))}to{transform:translateY(0)scale(1)}}[data-motion-intro],[data-motion-intro-item],[data-motion-announcement] .hero .reveal{animation:.54s cubic-bezier(.22,1,.36,1) both motion-intro}[data-motion-scale]{--motion-intro-scale:.985}[data-motion-delay="0.16"]{animation-delay:.16s}[data-motion-intro-group]>[data-motion-intro-item]:nth-child(2){animation-delay:60ms}[data-motion-intro-group]>[data-motion-intro-item]:nth-child(3){animation-delay:.12s}[data-motion-intro-group]>[data-motion-intro-item]:nth-child(4){animation-delay:.18s}[data-motion-intro-group]>[data-motion-intro-item]:nth-child(n+5){animation-delay:.24s}[data-motion-announcement] .hero .reveal.d1{animation-delay:40ms}[data-motion-announcement] .hero .reveal.d2{animation-delay:80ms}[data-motion-announcement] .hero .reveal.d3{animation-delay:.12s}}.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--line-strong);width:4.9rem;min-height:2.3rem;color:var(--ink-soft);background:var(--paper-raised);font:inherit;font-size:var(--text-label);letter-spacing:.05em;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .65rem;font-weight:750;transition:color .14s,border-color .14s,background-color .14s;display:inline-flex}.theme-toggle[data-astro-cid-l6lhmie6]:hover{border-color:var(--signal);color:var(--signal)}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.theme-toggle__icon[data-astro-cid-l6lhmie6]{width:.75rem;height:.75rem;color:var(--signal);transform-origin:50%;flex:0 0 .75rem;place-items:center;display:inline-grid}.theme-toggle__icon[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{width:100%;height:100%;display:block}.theme-toggle__label[data-astro-cid-l6lhmie6]{text-align:left;flex:0 0 2rem;width:2rem}.site-header[data-astro-cid-c75fxstf]{border-bottom:1px solid var(--line);view-transition-name:site-header}.visually-hidden[data-astro-cid-c75fxstf]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.signal-bar[data-astro-cid-c75fxstf]{color:var(--inverse-ink);background:var(--signal-deep);font-size:var(--text-label);letter-spacing:.04em}.signal-bar__inner[data-astro-cid-c75fxstf],.nav-shell[data-astro-cid-c75fxstf]{justify-content:space-between;align-items:center;display:flex}.nav-actions[data-astro-cid-c75fxstf]{align-items:center;gap:.65rem;display:flex}.signal-bar__inner[data-astro-cid-c75fxstf]{gap:1rem;min-height:1.9rem}.signal-bar[data-astro-cid-c75fxstf] p[data-astro-cid-c75fxstf]{margin:0}.signal-bar[data-astro-cid-c75fxstf] p[data-astro-cid-c75fxstf] span[data-astro-cid-c75fxstf]{color:var(--signal-bright);margin-right:.45rem;font-size:.52rem}.signal-bar[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf]{color:inherit;text-decoration-color:var(--signal);text-underline-offset:.2em}.nav-shell[data-astro-cid-c75fxstf]{gap:1.15rem;min-height:4.25rem}.wordmark[data-astro-cid-c75fxstf]{width:2.3rem;height:2.3rem;color:var(--inverse-ink);background:var(--signal-deep);font-weight:800;font-size:var(--text-label);letter-spacing:-.08em;flex:none;place-items:center;text-decoration:none;display:grid;transform:rotate(-3deg)}.nav-shell[data-astro-cid-c75fxstf] nav[data-astro-cid-c75fxstf]{align-self:stretch;display:flex}nav[data-astro-cid-c75fxstf] ul[data-astro-cid-c75fxstf]{align-items:stretch;margin:0;padding:0;list-style:none;display:flex}nav[data-astro-cid-c75fxstf] li[data-astro-cid-c75fxstf]{align-items:center;display:flex}nav[data-astro-cid-c75fxstf] li[data-astro-cid-c75fxstf]+li[data-astro-cid-c75fxstf]:before{color:var(--line-strong);content:"|";margin:0 .72rem}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf],.nav-contact[data-astro-cid-c75fxstf]{color:var(--ink-soft);font-size:var(--text-label);font-weight:650;text-decoration:none}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf]:is(:hover,:focus-visible),.nav-contact[data-astro-cid-c75fxstf]:is(:hover,:focus-visible){color:var(--signal)}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf]{align-self:stretch;align-items:center;display:flex;position:relative}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf][aria-current]{color:var(--ink)}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf][aria-current]:after{background:var(--signal);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.nav-contact[data-astro-cid-c75fxstf]{color:var(--inverse-ink);background:var(--signal-fill);padding:.58rem .72rem}.nav-contact[data-astro-cid-c75fxstf]:is(:hover,:focus-visible){color:var(--inverse-ink);background:var(--signal-fill-hover)}@media (width<=760px){.signal-bar[data-astro-cid-c75fxstf]{display:none}.nav-shell[data-astro-cid-c75fxstf]{flex-wrap:wrap;min-height:auto;padding-block:.75rem 0}.nav-shell[data-astro-cid-c75fxstf] nav[data-astro-cid-c75fxstf]{border-top:1px dotted var(--line-strong);scrollbar-width:none;order:3;width:100%;margin-bottom:-1px;padding-top:.7rem;overflow-x:auto}.nav-shell[data-astro-cid-c75fxstf] nav[data-astro-cid-c75fxstf]::-webkit-scrollbar{display:none}nav[data-astro-cid-c75fxstf] ul[data-astro-cid-c75fxstf]{gap:.75rem;width:max-content}nav[data-astro-cid-c75fxstf] li[data-astro-cid-c75fxstf]+li[data-astro-cid-c75fxstf]:before{content:none}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf]{min-height:2.75rem}nav[data-astro-cid-c75fxstf] a[data-astro-cid-c75fxstf][aria-current]:after{bottom:0}.nav-contact[data-astro-cid-c75fxstf]{padding:.55rem .65rem}}@media (width<=359px){.nav-shell[data-astro-cid-c75fxstf] nav[data-astro-cid-c75fxstf]{mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),#0000)}}
