@font-face{font-family:Inter;src:url(/fonts/InterVariable-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/fonts/JosefinSans-latin.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:iA Writer Mono;src:url(/fonts/iAWriterMonoS-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:iA Writer Mono;src:url(/fonts/iAWriterMonoS-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:iA Writer Mono;src:url(/fonts/iAWriterMonoS-Bold.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:iA Writer Mono;src:url(/fonts/iAWriterMonoS-BoldItalic.woff2) format("woff2");font-weight:600 700;font-style:italic;font-display:swap}:root{--bg: #0a0a0a;--bg-elev: #141414;--bg-card: #1a1a1a;--bg-glow: #0f130f;--fg: #f2f2f2;--fg-bright: #ffffff;--dim: #9aa1a9;--heading: #c9cfd6;--border: #24282c;--hairline: color-mix(in srgb, var(--fg) 8%, transparent);--selection: #1f4630;--accent: #57e389;--accent-dim: #2f7a4c;--phos-teal: #4fd8c9;--phos-lime: #a9e35a;--amber: #e5b567;--melch: #b490f5;--note: #b490f5;--jw: #e8c15a;--error: #ef6a6a;--astro-code-foreground: var(--fg);--astro-code-background: transparent;--astro-code-token-constant: var(--amber);--astro-code-token-string: var(--accent);--astro-code-token-comment: var(--dim);--astro-code-token-keyword: var(--melch);--astro-code-token-parameter: var(--fg);--astro-code-token-function: var(--accent);--astro-code-token-string-expression: var(--accent);--astro-code-token-punctuation: var(--dim);--astro-code-token-link: var(--accent);--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--sans-display: "Josefin Sans", var(--sans);--mono: "iA Writer Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-label: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.6rem, 3vw, 2.25rem);--text-display: clamp(2.25rem, 5.5vw, 3.5rem);--leading: 1.6;--leading-wide: 1.75;--r-s: 6px;--r-m: 12px;--r-l: 16px;--r-pill: 999px;--meter-h: 12px;--measure: 42rem;--measure-feature: 60rem;--measure-wide: 74rem;--pad: 1.25rem;--section: clamp(4rem, 8vw, 6rem);--header-h: 3.5rem;--terminal-height: 2.75rem}:root[data-theme=light]{--bg: #fafafa;--bg-elev: #f2f3f4;--bg-card: #ffffff;--bg-glow: #eff3ef;--fg: #1a1d21;--fg-bright: #0a0a0a;--dim: #59616b;--heading: #3d444c;--accent: #0d8544;--accent-dim: #359862;--phos-teal: #0b7a72;--phos-lime: #5c7c0a;--amber: #b45309;--melch: #7c3aed;--note: #7c3aed;--jw: #84660f;--border: #e4e6e9;--hairline: color-mix(in srgb, var(--fg) 10%, transparent);--selection: #d7ead9;--error: #c53030}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;scrollbar-color:var(--border) var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--text-base);line-height:var(--leading);padding-bottom:calc(var(--terminal-height) + 2rem + env(safe-area-inset-bottom,0px));-webkit-font-smoothing:antialiased}::selection{background:var(--selection);color:var(--fg-bright)}h1,h2,h3,h4{color:var(--heading);font-family:var(--sans-display);font-weight:600;text-transform:uppercase;line-height:1.25;margin:2.25rem 0 .75rem}h1{font-size:var(--text-2xl);letter-spacing:.06em}h2{font-size:var(--text-xl);letter-spacing:.08em}h3{font-size:var(--text-lg);letter-spacing:.1em}h4{font-size:var(--text-base);letter-spacing:.1em}p,ul,ol{margin:1rem 0}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline;text-underline-offset:3px}strong{color:var(--fg-bright);font-weight:600}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}blockquote{margin:1rem 0;padding:0 0 0 1rem;border-left:3px solid var(--accent-dim);color:var(--dim)}code{font-family:var(--mono);font-size:.875em;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:var(--r-s);padding:.1em .35em}pre{background:var(--bg-elev)!important;border:1px solid var(--hairline);border-radius:var(--r-m);padding:1rem;overflow-x:auto;font-size:var(--text-sm);font-family:var(--mono);line-height:1.6}pre code{background:none;border:none;padding:0}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin:1rem 0}th,td{text-align:left;padding:.45rem .75rem;border:1px solid var(--border)}th{color:var(--fg-bright);background:var(--bg-elev);font-weight:500}@media(max-width:40rem){table{display:block;overflow-x:auto}}.wrap{max-width:var(--measure-wide);margin:0 auto;padding:0 var(--pad)}main p,main ul,main ol,main blockquote{line-height:var(--leading-wide)}.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem 3.5rem;align-items:center;max-width:var(--measure-feature);margin:3.5rem auto}.split.flip>:first-child{order:2}.split h2,.split h3{margin-top:0}.checks{list-style:none;padding:0;margin:1rem 0}.checks li{padding-left:1.5rem;text-indent:-1.5rem;margin:.5rem 0;color:var(--fg)}.checks li:before{content:"✓";display:inline-block;width:1.5rem;text-indent:0;color:var(--accent-dim)}.checks.nots li:before{content:"✕";color:var(--dim)}@media(max-width:56rem){.split{grid-template-columns:minmax(0,1fr)}.split.flip>:first-child{order:0}}.hero{margin:3rem 0 2.5rem}.hero .kicker{margin:0 0 .75rem;font-family:var(--mono);font-size:var(--text-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.hero h1{margin:0 0 1rem;font-size:var(--text-display);line-height:1.1;letter-spacing:.04em}.hero .lede{margin:0;font-size:var(--text-lg);line-height:1.6;color:var(--dim)}.btn{display:inline-block;border:1px solid transparent;border-radius:var(--r-pill);font-family:var(--sans);font-size:var(--text-sm);font-weight:500;line-height:1.2;padding:.5rem 1.1rem;cursor:pointer;transition:opacity .15s ease,color .15s ease,border-color .15s ease}a.btn:hover,a.btn:focus-visible{text-decoration:none}.btn.primary{background:var(--fg-bright);color:var(--bg)}.btn.primary:hover,.btn.primary:focus-visible{opacity:.9}.btn.ghost{border-color:var(--hairline);color:var(--fg);background:transparent}.btn.ghost:hover,.btn.ghost:focus-visible{border-color:color-mix(in srgb,var(--fg) 12%,transparent);background:color-mix(in srgb,var(--fg) 4%,transparent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.lg{font-size:var(--text-lg);padding:.8rem 2.1rem}.card{display:block;background:var(--bg-card);border:1px solid var(--hairline);border-radius:var(--r-l);padding:1.5rem;color:inherit;transition:border-color .15s ease}a.card:hover,a.card:focus-visible{border-color:color-mix(in srgb,var(--fg) 12%,transparent);text-decoration:none}.ascii{background:none!important;border:none;padding:0;border-radius:0;color:var(--accent);font-size:clamp(.4rem,1.6vw,.75rem);line-height:1.15;white-space:pre;overflow-x:auto;margin:1.5rem 0;text-shadow:0 0 12px color-mix(in srgb,var(--accent) 35%,transparent);user-select:none}.ascii-shift{text-shadow:0 0 12px color-mix(in srgb,currentColor 35%,transparent)}@media(prefers-reduced-motion:no-preference){.ascii-shift{animation:phosphor-shift 18s ease-in-out infinite}}@keyframes phosphor-shift{0%,to{color:var(--accent)}28%{color:var(--phos-teal)}52%{color:var(--accent)}78%{color:var(--phos-lime)}}figure.viz{margin:2.5rem 0;padding:0;text-align:center}figure.viz:before,figure.viz:after{content:"";display:block;height:7px;margin:0 auto 1.1rem;max-width:12rem;background-color:var(--accent-dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 8 V1 H11 V8 M4 8 V4 H8 V8' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") repeat-x center / auto 7px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 8 V1 H11 V8 M4 8 V4 H8 V8' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") repeat-x center / auto 7px}figure.viz:after{margin:1.1rem auto 0}figure.viz svg{max-width:100%;height:auto;max-height:36rem;display:block;margin:0 auto}figure.viz img{max-width:100%;height:auto;display:block;margin:0 auto;border:1px solid var(--border)}figure.viz figcaption{color:var(--dim);font-size:var(--text-sm);margin-top:.75rem}.viz .ln{stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:square}.viz .ln2{stroke:var(--accent-dim);fill:none;stroke-width:1.2;stroke-linecap:square}.viz .lnd{stroke:var(--dim);fill:none;stroke-width:1;stroke-dasharray:3 3}.viz .lnb{stroke:var(--border);fill:none;stroke-width:1}.viz .fa{fill:var(--accent)}.viz .fd{fill:var(--dim)}.viz .tx{fill:var(--fg);font:11px var(--mono)}.viz .txd{fill:var(--dim);font:10px var(--mono)}.viz .txa{fill:var(--accent);font:11px var(--mono)}.viz .txb{fill:var(--fg-bright);font:600 12px var(--mono)}.viz .glow{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 45%,transparent))}.poster{--ink: var(--bg);margin:0;padding:0}:root[data-theme=light] .poster{--ink: var(--fg-bright)}.poster svg{display:block;width:100%;height:auto}.poster .b0{fill:var(--ink)}.poster .b1{fill:color-mix(in srgb,var(--accent) 5%,var(--ink))}.poster .b2{fill:color-mix(in srgb,var(--accent) 9%,var(--ink))}.poster .b3{fill:color-mix(in srgb,var(--accent) 15%,var(--ink))}.poster .b4{fill:color-mix(in srgb,var(--accent) 23%,var(--ink))}.poster .b5{fill:color-mix(in srgb,var(--accent) 40%,var(--ink))}.poster .b6{fill:color-mix(in srgb,var(--accent) 58%,var(--ink))}.poster .b7{fill:color-mix(in srgb,var(--accent) 78%,var(--ink))}.poster .star circle{fill:var(--accent);opacity:.55}.poster .halo-0{stop-color:var(--accent);stop-opacity:.38}.poster .halo-1{stop-color:var(--accent);stop-opacity:.1}.poster .halo-2{stop-color:var(--accent);stop-opacity:0}.poster .disc{fill:var(--accent)}.poster .ring{fill:none;stroke:var(--accent);stroke-width:1.6;opacity:.38}.poster .cut rect{fill:var(--ink)}.poster .ridge-far{fill:color-mix(in srgb,var(--accent) 24%,var(--ink))}.poster .ridge-mid{fill:color-mix(in srgb,var(--accent) 10%,var(--ink))}.poster .ridge-near,.poster .plain{fill:var(--ink)}.poster .ink rect,.poster .ink path,.poster .ink polygon{fill:var(--ink)}.poster .rim,.poster .rim path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.poster .finial{fill:var(--accent)}.poster .pool-0{stop-color:var(--accent);stop-opacity:.26}.poster .pool-1{stop-color:var(--accent);stop-opacity:0}.poster .line path{fill:none;stroke:var(--accent);stroke-width:1.5}.poster .deep-0{stop-color:var(--ink);stop-opacity:0}.poster .deep-1{stop-color:var(--ink);stop-opacity:.55}.poster .haze-0{stop-color:var(--accent);stop-opacity:0}.poster .haze-1{stop-color:var(--accent);stop-opacity:.14}.poster .vig-0{stop-color:var(--ink);stop-opacity:0}.poster .vig-1{stop-color:var(--ink);stop-opacity:.5}.flow{--flow-gap: 1.25rem;display:flex;flex-direction:column;align-items:center;width:100%;margin:.5rem 0 .25rem;font-size:var(--text-sm);line-height:1.45;text-align:center}.flow .node{--flow-c: var(--dim);width:min(100%,22rem);padding:.55rem .9rem .65rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px}.flow .node.agent{--flow-c: var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.flow .node.warn{--flow-c: var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,var(--border))}.flow .node.err{--flow-c: var(--error);border-color:color-mix(in srgb,var(--error) 40%,var(--border))}.flow .role{display:inline-block;margin-bottom:.15rem;font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--flow-c)}.flow .t{color:var(--fg-bright)}.flow .d{color:var(--dim)}.flow .gate{padding:.4rem 1.15rem;border:1px dashed var(--accent-dim);border-radius:999px;background:var(--bg-elev);color:var(--fg)}.flow .vconn{position:relative;width:2px;height:30px;background:var(--accent-dim)}.flow .vconn:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top:6px solid var(--accent-dim);border-bottom:none}.flow .vconn[data-l]:before{content:attr(data-l);position:absolute;top:50%;left:.75rem;transform:translateY(-50%);color:var(--dim);font-size:.75rem;white-space:nowrap}.flow .fork{width:calc((100% + var(--flow-gap)) / 2);height:20px;border:2px solid var(--accent-dim);border-bottom:none}.flow .fork.three{position:relative;width:calc((200% + 2 * var(--flow-gap)) / 3)}.flow .fork.three:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px solid var(--accent-dim);transform:translate(-1px)}.flow .pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--flow-gap);width:100%;justify-items:center}.flow .pair.three{grid-template-columns:1fr 1fr 1fr}.flow .lane{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.flow .stagelabel{display:flex;align-items:center;gap:.75rem;width:100%;margin:1rem 0 .85rem;color:var(--dim)}.flow .stagelabel:before,.flow .stagelabel:after{content:"";height:1px;background:var(--border);flex:1}.flow .taprow{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}.flow .tap{--flow-c: var(--amber);position:absolute;top:50%;left:calc(50% + var(--tap-offset, 7.5rem));transform:translateY(-50%);display:flex;align-items:center}.flow .tap.left{left:auto;right:calc(50% + var(--tap-offset, 7.5rem));flex-direction:row-reverse}.flow .tap.err{--flow-c: var(--error)}.flow .tap .node{width:auto;max-width:11rem;padding:.35rem .6rem .45rem;border-color:color-mix(in srgb,var(--flow-c) 45%,var(--border))}.flow .tap .dash{position:relative;flex:none;width:26px;height:0;border-top:2px dashed var(--flow-c)}.flow .tap .dash:after{content:"";position:absolute;top:-6px;right:-1px;border:5px solid transparent;border-left:6px solid var(--flow-c);border-right:none}.flow .tap.left .dash:after{right:auto;left:-1px;border-left:5px solid transparent;border-right:6px solid var(--flow-c)}@media(max-width:40rem){.flow .pair,.flow .pair.three{grid-template-columns:1fr;gap:1rem}.flow .fork,.flow .fork.three{width:0;height:24px;border:none;border-left:2px solid var(--accent-dim)}.flow .fork.three:before{display:none}.flow .vconn[data-l]:before{max-width:calc(50vw - 2rem);white-space:normal;text-align:left}.flow .tap,.flow .tap.left{position:static;transform:none;flex-direction:column;margin-top:.35rem}.flow .tap .dash,.flow .tap.left .dash{width:0;height:20px;border-top:none;border-left:2px dashed var(--flow-c)}.flow .tap .dash:after,.flow .tap.left .dash:after{inset:auto auto -1px -4px;border:5px solid transparent;border-top:6px solid var(--flow-c);border-bottom:none}}.ex-module{border:1px solid var(--hairline);border-radius:var(--r-m);background:var(--bg-card);padding:.75rem 1rem 1rem;margin:1.5rem 0;font-family:var(--mono);font-size:var(--text-sm)}.ex-title{color:var(--dim);letter-spacing:.02em;margin-bottom:.75rem}.ex-log{max-height:26rem;overflow-y:auto}.ex-line{display:block;white-space:pre-wrap;color:var(--fg);margin:.15rem 0}.ex-line.q{color:var(--fg-bright)}.ex-line.opt{color:var(--fg)}.ex-line.you{color:var(--amber)}.ex-line.ok{color:var(--accent)}.ex-line.miss{color:var(--amber)}.ex-line.dim,.ex-line.sep{color:var(--dim)}.ex-module .typing:after{content:"█";color:var(--accent)}.ex-form{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;border-top:1px dashed var(--border);padding-top:.6rem}.ex-prompt{color:var(--accent);white-space:nowrap}.ex-input{flex:1;background:transparent;border:none;outline:none;color:var(--fg-bright);font-family:var(--mono);font-size:var(--text-sm);caret-color:var(--accent)}.ex-input::placeholder{color:var(--dim);opacity:.7}@media(hover:none)and (pointer:coarse){.ex-input{font-size:max(1rem,var(--text-sm))}}.ex-btn{text-align:left;background:none;border:1px dashed var(--border);border-radius:var(--r-s);color:var(--fg);font-family:var(--mono);font-size:var(--text-sm);padding:.35rem .6rem;cursor:pointer;margin-top:.75rem}.ex-btn:hover,.ex-btn:focus-visible{border-color:var(--accent-dim);color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dim{color:var(--dim)}.amber{color:var(--amber)}.accent{color:var(--accent)}.cursor-blink:after{content:"█";color:var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}#terminal[data-astro-cid-eqg5l7fp]{position:fixed;inset:auto 0 0;z-index:100;border-top:1px solid var(--border);background:var(--bg);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-bottom:env(safe-area-inset-bottom,0)}#term-output[data-astro-cid-eqg5l7fp]{display:none;max-height:45vh;max-height:45dvh;overflow-y:auto;overscroll-behavior:contain;padding:.75rem var(--pad);border-bottom:1px dashed var(--border);font-size:var(--text-sm);max-width:var(--measure-wide);margin:0 auto}#terminal[data-astro-cid-eqg5l7fp][data-open=true] #term-output[data-astro-cid-eqg5l7fp]{display:block}#term-output[data-astro-cid-eqg5l7fp] .term-line{display:block;white-space:pre-wrap;color:var(--fg)}#term-output[data-astro-cid-eqg5l7fp] .term-line.dim{color:var(--dim)}#term-output[data-astro-cid-eqg5l7fp] .term-line.accent{color:var(--accent)}#term-output[data-astro-cid-eqg5l7fp] .term-line.amber{color:var(--amber)}#term-output[data-astro-cid-eqg5l7fp] .term-line.error{color:var(--error)}#term-output[data-astro-cid-eqg5l7fp] a.term-line:hover{color:var(--accent)}#term-form[data-astro-cid-eqg5l7fp]{display:flex;align-items:center;gap:.6rem;height:var(--terminal-height);max-width:var(--measure-wide);margin:0 auto;padding:0 var(--pad)}#term-prompt[data-astro-cid-eqg5l7fp]{color:var(--accent);font-size:var(--text-sm);white-space:nowrap;text-shadow:0 0 10px color-mix(in srgb,var(--accent) 40%,transparent)}#term-input[data-astro-cid-eqg5l7fp]{flex:1;background:transparent;border:none;outline:none;color:var(--fg-bright);font-family:var(--mono);font-size:var(--text-sm);caret-color:var(--accent)}#term-input[data-astro-cid-eqg5l7fp]::placeholder{color:var(--dim);opacity:.7}@media(hover:none)and (pointer:coarse){#term-input[data-astro-cid-eqg5l7fp]{font-size:max(1rem,var(--text-sm))}}.site-header[data-astro-cid-5hce7sga]{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);margin-bottom:1.5rem}.header-inner[data-astro-cid-5hce7sga]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;min-height:var(--header-h);padding-top:.4rem;padding-bottom:.4rem}.site-brand[data-astro-cid-5hce7sga]{display:inline-flex;align-items:center;gap:.55rem}.site-brand[data-astro-cid-5hce7sga]:hover{text-decoration:none}.brand-mark[data-astro-cid-5hce7sga]{flex:none;width:1.6rem;height:1.6rem;display:block}.brand-mark[data-astro-cid-5hce7sga] .plate[data-astro-cid-5hce7sga]{fill:var(--bg-elev);stroke:var(--hairline);stroke-width:1}.brand-mark[data-astro-cid-5hce7sga] .glyph[data-astro-cid-5hce7sga]{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.site-title[data-astro-cid-5hce7sga]{font-family:var(--mono);font-weight:600;color:var(--fg-bright);letter-spacing:.01em}.site-title[data-astro-cid-5hce7sga] .at[data-astro-cid-5hce7sga]{color:var(--accent)}.site-header[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga]{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.5rem;font-size:var(--text-sm);font-weight:500}.site-header[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--dim);padding:.5rem 0;transition:color .15s ease}.site-header[data-astro-cid-5hce7sga] nav[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--fg-bright);text-decoration:none}#theme-toggle[data-astro-cid-5hce7sga]{font:inherit;font-size:var(--text-sm);line-height:1;color:var(--dim);background:none;border:1px solid var(--hairline);border-radius:var(--r-pill);cursor:pointer;padding:.4rem .65rem;transition:color .15s ease,border-color .15s ease}#theme-toggle[data-astro-cid-5hce7sga]:hover,#theme-toggle[data-astro-cid-5hce7sga]:focus-visible{color:var(--fg-bright);border-color:color-mix(in srgb,var(--fg) 25%,transparent)}.site-footer[data-astro-cid-5hce7sga]{margin-top:var(--section);font-size:var(--text-sm);border-top:1px solid var(--border);padding-top:2.25rem}.foot-cols[data-astro-cid-5hce7sga]{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}@media(max-width:56rem){.foot-cols[data-astro-cid-5hce7sga]{grid-template-columns:1fr 1fr}}@media(max-width:30rem){.foot-cols[data-astro-cid-5hce7sga]{grid-template-columns:1fr}}.foot-mark[data-astro-cid-5hce7sga]{display:inline-flex;align-items:center;gap:.55rem}.foot-brand[data-astro-cid-5hce7sga] .brand-mark[data-astro-cid-5hce7sga]{flex:none;width:1.3rem;height:1.3rem;display:block}.foot-title[data-astro-cid-5hce7sga]{font-family:var(--mono);font-weight:600;color:var(--fg-bright)}.foot-title[data-astro-cid-5hce7sga] .at[data-astro-cid-5hce7sga]{color:var(--accent)}.foot-brand[data-astro-cid-5hce7sga] p[data-astro-cid-5hce7sga]{margin:.6rem 0 0;max-width:24rem}.foot-label[data-astro-cid-5hce7sga]{margin:0 0 .6rem;font-family:var(--mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.foot-cols[data-astro-cid-5hce7sga] ul[data-astro-cid-5hce7sga]{list-style:none;margin:0;padding:0}.foot-cols[data-astro-cid-5hce7sga] li[data-astro-cid-5hce7sga]{margin:.4rem 0}.foot-cols[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{color:var(--fg)}.foot-cols[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]:hover{color:var(--accent)}.foot-base[data-astro-cid-5hce7sga]{border-top:1px solid var(--border);margin:2rem 0 0;padding-top:1rem}kbd[data-astro-cid-5hce7sga]{border:1px solid var(--border);border-radius:var(--r-s);padding:0 .3em;font-family:var(--mono);background:var(--bg-elev)}
