.nav[data-astro-cid-dmqpwcec]{position:sticky;inset-block-start:0;z-index:var(--z-sticky);display:grid;grid-template-areas:"prompt actions" "flags  flags";grid-template-columns:1fr auto;align-items:center;gap:var(--space-2xs) var(--space-sm);padding:var(--space-2xs) var(--gutter);max-width:var(--page);margin-inline:auto;background:var(--color-paper);border-block-end:var(--rule-hair) solid var(--color-rule);font-size:var(--text-sm)}.nav__lead[data-astro-cid-dmqpwcec]{grid-area:prompt;display:inline-flex;align-items:baseline;gap:3px;min-width:0;cursor:pointer;border-radius:var(--radius-sm)}.nav__lead[data-astro-cid-dmqpwcec]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav__prompt[data-astro-cid-dmqpwcec]{color:var(--color-ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}.nav__prompt[data-astro-cid-dmqpwcec]:hover,.nav__prompt[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--color-ink-2)}.nav__sigil[data-astro-cid-dmqpwcec]{color:var(--color-accent-text)}.nav__flags[data-astro-cid-dmqpwcec]{grid-area:flags;display:flex;align-items:center;gap:var(--space-2xs);min-width:0}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;min-height:44px;padding-inline:var(--space-3xs);color:var(--color-ink-3);white-space:nowrap;border-block-end:var(--rule-thick) solid transparent;transition:color var(--dur-fast) var(--ease-out)}.nav__dashes[data-astro-cid-dmqpwcec]{color:var(--color-ink-4);margin-inline-end:1px}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--color-ink)}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover .nav__dashes[data-astro-cid-dmqpwcec]{color:var(--color-accent-text)}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--color-accent-text);border-block-end-color:var(--color-accent)}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec][aria-current=page] .nav__dashes[data-astro-cid-dmqpwcec]{color:var(--color-accent-text)}.nav__flags[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;border-radius:var(--radius-sm)}.nav__prompt[data-astro-cid-dmqpwcec]:focus-visible,.nav__toggle[data-astro-cid-dmqpwcec]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.nav__cursor[data-astro-cid-dmqpwcec]{display:inline-block;inline-size:.7ch;block-size:1cap;background:var(--color-accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.nav__actions[data-astro-cid-dmqpwcec]{grid-area:actions;display:inline-flex;align-items:center;gap:var(--space-3xs)}.nav__toggle[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:none;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink-3);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.nav__toggle[data-astro-cid-dmqpwcec]:hover{color:var(--color-accent-text);border-color:var(--color-accent-mid)}.nav__toggle[data-astro-cid-dmqpwcec][aria-expanded=true]{color:var(--color-accent-text);border-color:var(--color-accent);background:var(--color-accent-dim)}.nav__moon[data-astro-cid-dmqpwcec]{display:none}.light .nav__moon[data-astro-cid-dmqpwcec]{display:block}.light .nav__sun[data-astro-cid-dmqpwcec]{display:none}.term[data-astro-cid-dmqpwcec][hidden]{display:none!important}.term[data-astro-cid-dmqpwcec]{position:fixed;inset:0;z-index:60;display:grid;place-items:start center;padding:clamp(16px,4vw,32px);padding-block-start:clamp(20px,8vh,48px)}.term__backdrop[data-astro-cid-dmqpwcec]{position:absolute;inset:0;background:#00000085;backdrop-filter:blur(10px) saturate(1.05)}.light .term__backdrop[data-astro-cid-dmqpwcec]{background:#08080c6b}.term__window[data-astro-cid-dmqpwcec]{position:relative;width:min(860px,96vw);max-height:78vh;min-height:420px;display:flex;flex-direction:column;overflow:hidden;background:#0a0a0b;color:#e6e6e6;border:1px solid #2a2a2e;border-radius:12px;box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff0a inset;font-family:var(--font-body);animation:termIn .2s var(--ease-out) both}@keyframes termIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.term__bar[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#141417;border-block-end:1px solid #242428;flex-shrink:0}.term__dots[data-astro-cid-dmqpwcec]{display:inline-flex;gap:6px;align-items:center}.term__dots[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]{inline-size:12px;block-size:12px;border-radius:50%;display:inline-block}.term__dots[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:nth-child(1){background:#ff5f56}.term__dots[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:nth-child(2){background:#ffbd2e}.term__dots[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:nth-child(3){background:#27c93f}.term__title[data-astro-cid-dmqpwcec]{flex:1;text-align:center;color:#9a9aa0;font-size:.72rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term__close[data-astro-cid-dmqpwcec]{inline-size:28px;block-size:28px;display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:#9a9aa0;cursor:pointer;font-size:18px;line-height:1}.term__close[data-astro-cid-dmqpwcec]:hover{background:#ffffff14;color:#fff}.term__close[data-astro-cid-dmqpwcec]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.term__body[data-astro-cid-dmqpwcec]{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:280px;scrollbar-width:thin;scrollbar-color:#3a3a3e transparent;font-size:.78rem;line-height:1.55;letter-spacing:-.01em}.term__body[data-astro-cid-dmqpwcec]::-webkit-scrollbar{width:8px}.term__body[data-astro-cid-dmqpwcec]::-webkit-scrollbar-thumb{background:#3a3a3e;border-radius:999px}.term__out[data-astro-cid-dmqpwcec]{display:flex;flex-direction:column;gap:6px}.term__line[data-astro-cid-dmqpwcec]{white-space:pre-wrap;word-break:break-word}.term__line--input[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:10px;padding-block-start:2px}.term__echo[data-astro-cid-dmqpwcec]{color:#c2c2cc}.term__ps1-echo[data-astro-cid-dmqpwcec]{color:#27c93f;font-weight:800;letter-spacing:.01em}.term__echo-cmd--valid[data-astro-cid-dmqpwcec]{color:#27c93f;font-weight:700}.term__echo-cmd--invalid[data-astro-cid-dmqpwcec]{color:#ffbd2e;font-weight:700}.term__cmd[data-astro-cid-dmqpwcec]{color:#e6e6e6;background:#ffffff14;border:1px solid rgb(255 255 255 / .08);border-radius:6px;padding:1px 6px;font-size:.74rem}.term__accent[data-astro-cid-dmqpwcec]{color:#27c93f;font-weight:700}.term__muted[data-astro-cid-dmqpwcec]{color:#8e8e96;font-style:italic}.term__sep[data-astro-cid-dmqpwcec]{color:#5a5a62}.term__err[data-astro-cid-dmqpwcec]{color:#ff5f56;font-weight:600}.term__help-head[data-astro-cid-dmqpwcec]{margin-block-start:6px;color:#b8b8c0;font-weight:600}.term__ps1[data-astro-cid-dmqpwcec]{color:#27c93f;font-weight:800;letter-spacing:.01em;white-space:nowrap;font-size:.78rem;user-select:none;flex-shrink:0;text-shadow:0 0 12px rgb(39 201 63 / .22)}.term__input[data-astro-cid-dmqpwcec]{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#e6e6e6;font:inherit;font-size:.78rem;caret-color:#27c93f;transition:color .12s ease}.term__input[data-astro-cid-dmqpwcec]::placeholder{color:#5a5a62}.term__input--valid[data-astro-cid-dmqpwcec]{color:#27c93f;caret-color:#27c93f}.term__input--invalid[data-astro-cid-dmqpwcec]{color:#ffbd2e;caret-color:#ffbd2e}.light .term__window[data-astro-cid-dmqpwcec]{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule-2);box-shadow:0 24px 60px #0000002e,0 0 0 1px #0000000f inset}.light .term__bar[data-astro-cid-dmqpwcec]{background:var(--color-paper-2);border-block-end-color:var(--color-rule)}.light .term__title[data-astro-cid-dmqpwcec],.light .term__close[data-astro-cid-dmqpwcec]{color:var(--color-ink-4)}.light .term__close[data-astro-cid-dmqpwcec]:hover{background:#0000000f;color:var(--color-ink)}.light .term__body[data-astro-cid-dmqpwcec]{scrollbar-color:var(--color-rule-2) transparent}.light .term__body[data-astro-cid-dmqpwcec]::-webkit-scrollbar-thumb{background:var(--color-rule-2)}.light .term__echo[data-astro-cid-dmqpwcec]{color:var(--color-ink-3)}.light .term__muted[data-astro-cid-dmqpwcec]{color:var(--color-ink-4)}.light .term__help-head[data-astro-cid-dmqpwcec]{color:var(--color-ink-2)}.light .term__sep[data-astro-cid-dmqpwcec]{color:var(--color-ink-4)}.light .term__cmd[data-astro-cid-dmqpwcec]{color:var(--color-ink);background:var(--color-paper-2);border-color:var(--color-rule)}.light .term__err[data-astro-cid-dmqpwcec]{color:#d32f2f}.light .term__ps1[data-astro-cid-dmqpwcec],.light .term__ps1-echo[data-astro-cid-dmqpwcec],.light .term__accent[data-astro-cid-dmqpwcec],.light .term__echo-cmd--valid[data-astro-cid-dmqpwcec],.light .term__input--valid[data-astro-cid-dmqpwcec]{color:var(--color-accent-text);caret-color:var(--color-accent-text);text-shadow:none}.light .term__echo-cmd--invalid[data-astro-cid-dmqpwcec],.light .term__input--invalid[data-astro-cid-dmqpwcec]{color:#b45309;caret-color:#b45309}.light .term__input[data-astro-cid-dmqpwcec]{color:var(--color-ink)}.light .term__input[data-astro-cid-dmqpwcec]::placeholder{color:var(--color-ink-4)}@media (width >= 40rem){.nav[data-astro-cid-dmqpwcec]{grid-template-areas:"prompt flags actions";grid-template-columns:auto 1fr auto;padding-block:var(--space-3xs)}.nav__flags[data-astro-cid-dmqpwcec]{gap:var(--space-xs)}}@media (prefers-reduced-motion: reduce){.nav__cursor[data-astro-cid-dmqpwcec],.term__window[data-astro-cid-dmqpwcec]{animation:none}}.colophon[data-astro-cid-gcn2mc3v]{border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:var(--space-xl)}.colophon__inner[data-astro-cid-gcn2mc3v]{max-width:var(--page);margin-inline:auto;padding:var(--space-md) var(--gutter) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-2xs)}.colophon__line[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-2xs);align-items:baseline;color:var(--color-ink-3);font-size:var(--text-xs);line-height:var(--leading-snug)}.colophon__key[data-astro-cid-gcn2mc3v]{color:var(--color-ink-4);text-transform:lowercase}.colophon__key[data-astro-cid-gcn2mc3v]:after{content:" ›";color:var(--color-accent-text)}.colophon__links[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:var(--space-3xs);margin-block:calc(var(--space-2xs) * -1);margin-inline-start:calc(var(--space-2xs) * -1)}.colophon__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;gap:var(--space-3xs);min-height:44px;padding-inline:var(--space-2xs);border-radius:var(--radius-sm);color:var(--color-ink-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.colophon__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--color-accent-text);background:var(--color-accent-dim)}.colophon__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;color:var(--color-accent-text)}.colophon__line--meta[data-astro-cid-gcn2mc3v]{color:var(--color-ink-4)}.colophon__count[data-astro-cid-gcn2mc3v]{white-space:nowrap}#visitor-count[data-astro-cid-gcn2mc3v]{color:var(--color-accent-text);font-variant-numeric:tabular-nums}@media (width <= 30rem){.colophon__line[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr;gap:0}}:root{--color-paper: oklch(11.5% 0 0);--color-paper-2: oklch(16.5% 0 0);--color-paper-3: oklch(21% 0 0);--color-ink: oklch(97% 0 0);--color-ink-2: oklch(92.2% 0 0);--color-ink-3: oklch(71.5% 0 0);--color-ink-4: oklch(58% 0 0);--color-ink-faint: oklch(97% 0 0 / .13);--color-rule: oklch(24% 0 0);--color-rule-2: oklch(32% 0 0);--color-accent: oklch(60.6% .149 155.3);--color-accent-text:oklch(60.6% .149 155.3);--color-accent-ink: oklch(11.5% 0 0);--color-accent-dim: oklch(60.6% .149 155.3 / .12);--color-accent-mid: oklch(60.6% .149 155.3 / .28);--color-focus: oklch(72% .15 155.3);--font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-body: Menlo, Monaco, "Lucida Console", "Courier New", Courier, monospace;--font-serif: Georgia, Cambria, "Times New Roman", Times, serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--text-2xl: 2.25rem;--text-display-s: clamp(2.25rem, 5vw + .5rem, 3.5rem);--text-display: clamp(2.75rem, 9vw, 6rem);--track-display: -.03em;--track-body: -.025em;--track-label: .14em;--leading-tight: 1.05;--leading-snug: 1.35;--leading-body: 1.65;--measure: 68ch;--measure-lede: 46ch;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 7rem;--gutter: clamp(1.25rem, 5vw, 4rem);--page: 72rem;--radius-sm: 6px;--radius-card: 10px;--radius-pill: 999px;--rule-hair: 1px;--rule-thick: 2px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-short: .22s;--dur-med: .38s;--z-base: 0;--z-raised: 1;--z-sticky: 20;--bg-color: var(--color-paper);--text-color: var(--color-ink-2);--text-muted: var(--color-ink-3);--accent-color: var(--color-accent-text);--card-bg: var(--color-paper-2);--card-border: var(--color-rule)}:root.light{--color-paper: oklch(93.1% .026 92);--color-paper-2: oklch(90% .026 92);--color-paper-3: oklch(86.5% .028 92);--color-ink: oklch(20.8% .04 266);--color-ink-2: oklch(30% .038 264);--color-ink-3: oklch(44.6% .037 258);--color-ink-4: oklch(50% .03 258);--color-ink-faint: oklch(20.8% .04 266 / .15);--color-rule: oklch(80% .025 92);--color-rule-2: oklch(70% .028 92);--color-accent: oklch(59.6% .127 163);--color-accent-text:oklch(43.2% .086 167);--color-accent-ink: oklch(20.8% .04 266);--color-accent-dim: oklch(59.6% .127 163 / .14);--color-accent-mid: oklch(59.6% .127 163 / .32);--color-focus: oklch(43.2% .086 167)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-body);font-size:100%;letter-spacing:var(--track-body);background:var(--color-paper);color:var(--color-ink-2);scrollbar-gutter:stable;scroll-behavior:smooth;overflow-x:clip}body{margin:0;padding:0;min-height:100vh;background:var(--color-paper);overflow-x:clip}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-style:normal;color:var(--color-ink);overflow-wrap:anywhere;min-width:0}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}:root.light .grain{opacity:.03}.mono-label{font-size:var(--text-xs);line-height:1.33;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--color-ink-3)}p{margin:0;color:var(--color-ink-3);font-size:var(--text-base);line-height:var(--leading-body);text-wrap:pretty}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}figure{margin:0;padding:0}img,svg,video{max-width:100%}::selection{background:var(--color-accent-mid);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page{max-width:var(--page);margin-inline:auto;padding:var(--space-xl) var(--gutter) 0}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:var(--z-base)}::view-transition-new(root){z-index:var(--z-raised);clip-path:circle(0px at var(--reveal-x, 50%) var(--reveal-y, 50%));animation:reveal-out .65s cubic-bezier(.4,0,.2,1) forwards}@keyframes reveal-out{0%{clip-path:circle(0px at var(--reveal-x, 50%) var(--reveal-y, 50%))}to{clip-path:circle(var(--reveal-r, 150vmax) at var(--reveal-x, 50%) var(--reveal-y, 50%))}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal-hidden{opacity:0}.reveal-play{animation:fadeInUp .7s var(--ease-out) both}@keyframes page-fade{0%{opacity:0}to{opacity:1}}.page-enter{animation:page-fade var(--dur-med) var(--ease-out) both}.dim-list:hover>.dim-row:not(.reveal-hidden){opacity:.5}.dim-list:hover>.dim-row:not(.reveal-hidden):hover{opacity:1}.dim-row{transition:opacity var(--dur-short) var(--ease-out)}.print{display:none!important}@media print{.no-print{display:none!important}.print{display:block!important}astro-dev-toolbar{display:none!important}article{break-inside:avoid}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal-hidden{opacity:1}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important;clip-path:none!important}}
