@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: #0e0f20;--bg-elev: #161729;--bg-card: #1c1d2f;--bg-glow: #151226;--fg: #f1f2f6;--fg-bright: #ffffff;--dim: #9e9fac;--heading: #ccced8;--border: #2a2c3d;--hairline: color-mix(in srgb, var(--fg) 8%, transparent);--selection: #332c54;--accent: var(--noc-gold);--accent-dim: #a68000;--amber: #b58c00;--melch: var(--noc-violet);--note: var(--noc-violet);--jw: var(--noc-orange);--error: #ef6a6a;--noc-gold: #efbd24;--noc-orange: #ffb072;--noc-rose: #ffa4cc;--noc-violet: #c9acff;--noc-blue: #91c1ff;--sky-0: #08081d;--sky-1: #13183f;--sky-2: #222c65;--sky-3: #4c4087;--sky-4: #82509e;--sky-5: #c76292;--sky-6: #f0875e;--sky-7: #f3c672;--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;--dur: .15s;--ease: cubic-bezier(.2, .6, .3, 1);--dur-turn: .36s;--accent-wash: color-mix(in srgb, var(--accent) 14%, transparent);--accent-edge: color-mix(in srgb, var(--accent) 60%, transparent);--accent-halo: color-mix(in srgb, var(--accent) 30%, transparent);--accent-mark: color-mix(in srgb, var(--accent) 24%, transparent);--dusk-hi: var(--noc-blue);--dusk-lo: var(--noc-gold);--dusk-down: linear-gradient(180deg, var(--dusk-hi), var(--dusk-lo));--dusk-across: linear-gradient(90deg, var(--dusk-hi), var(--dusk-lo));--dusk-thread: linear-gradient( 90deg, transparent, var(--dusk-hi) 18%, var(--dusk-lo) 82%, transparent )}:root[data-theme=light]{--bg: #f9fafe;--bg-elev: #f2f2f8;--bg-card: #ffffff;--bg-glow: #f0f1f7;--fg: #1b1c25;--fg-bright: #090a0f;--dim: #5d5f6d;--heading: #41424e;--border: #e4e5ed;--hairline: color-mix(in srgb, var(--fg) 10%, transparent);--selection: #dfe2fc;--error: #c53030;--accent-dim: #b58c00;--accent: #947200;--amber: #715700;--jw: #af5e00;--melch: #875cc6;--note: #875cc6;--dusk-hi: #3f6fc7;--dusk-lo: var(--accent)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}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:underline;text-decoration-color:transparent;text-underline-offset:3px}a:hover,a:focus-visible{text-decoration-color:currentColor}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a,button,summary,.btn,.card,.ex-btn,.fc-card,.chat-choice,.chat-restart,.topo-card,.toc-line,.tile,.tile-title,.post-card,.post-title,.mod-card,.mod-title,.next-card,.next-title,.trace-more,.term-line,.gloss-links a,.concept-table a,.skip-link,#theme-toggle{transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease),outline-color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}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)}blockquote:has(>p:first-child>strong:first-child){position:relative;background:var(--bg-elev);border-left-color:transparent;border-radius:0 var(--r-m) var(--r-m) 0;color:var(--fg);padding:.85rem 1.2rem .85rem 1.1rem}blockquote:has(>p:first-child>strong:first-child):before{content:"";position:absolute;top:0;bottom:0;left:-3px;width:3px;background:var(--dusk-down)}blockquote:has(>p:first-child>strong:first-child)>p{margin:0}blockquote:has(>p:first-child>strong:first-child)>p+p{margin-top:.6rem}mark{background:var(--accent-mark);color:var(--fg-bright);padding:.04em .28em;margin:0 -.04em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}h2[id],h3[id],h4[id],dt[id]{scroll-margin-top:calc(var(--header-h) + 3rem)}h2:target,h3:target,h4:target{color:var(--fg-bright)}h2:target:before,h3:target:before,h4:target:before{content:"§ ";color:var(--accent)}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)}.aside{margin:1.1rem 0 1.4rem;border-left:2px solid var(--border);padding:0 0 0 .9rem;color:var(--dim);font-size:var(--text-sm)}.aside>summary{font-family:var(--mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);cursor:pointer;padding:.2rem 0}.aside>summary:hover{color:var(--fg)}.aside-body>:first-child{margin-top:.35rem}.aside-body>:last-child{margin-bottom:0}.aside-body p,.aside-body ul,.aside-body ol{line-height:1.55;font-size:inherit}.aside-body code{font-size:.9em}.aside-pitfall,.aside-against,.aside-limits{border-left-color:var(--amber)}.aside-pitfall>summary,.aside-against>summary,.aside-limits>summary{color:var(--amber)}.aside-deeper,.aside-watch{border-left-color:var(--accent-dim)}.aside-deeper>summary,.aside-watch>summary{color:var(--accent)}@media(min-width:64rem){.aside{float:right;clear:right;width:17rem;margin:-.2rem 0 1.5rem 2rem}}.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:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}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{background:color-mix(in srgb,var(--accent) 20%,var(--fg-bright));box-shadow:0 0 0 4px var(--accent-halo)}.btn.ghost{border-color:var(--hairline);color:var(--fg);background:transparent}.btn.ghost:hover,.btn.ghost:focus-visible{border-color:var(--accent-edge);background:var(--accent-wash);color:var(--fg-bright)}.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}a.card:hover,a.card:focus-visible{border-color:var(--accent-edge);background:color-mix(in srgb,var(--accent) 7%,var(--bg-card));text-decoration:none}annotation{display:none}math[display=block]{margin:1.5rem 0;overflow-x:auto;overflow-y:hidden}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}@media(max-width:40rem){figure.viz{overflow-x:auto;--viz-column: calc(100vw - 2 * var(--pad))}figure.viz svg{min-width:var(--viz-hold, 40rem)}figure.viz figcaption,figure.viz .viz-ask{position:sticky;left:0;width:var(--viz-column)}figure.viz:before,figure.viz:after{margin-left:0}}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-ask{margin:0 0 .75rem;font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--dim)}.viz-ask:first-letter{color:var(--accent-dim)}.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(--sky-0);--glint: #f2f2f2;--lit: var(--sky-7);margin:0;padding:0}.poster svg{display:block;width:100%;height:auto}.poster .b0{stop-color:var(--sky-0)}.poster .b1{stop-color:var(--sky-1)}.poster .b2{stop-color:var(--sky-2)}.poster .b3{stop-color:var(--sky-3)}.poster .b4{stop-color:var(--sky-4)}.poster .b5{stop-color:var(--sky-5)}.poster .b6{stop-color:var(--sky-6)}.poster .b7{stop-color:var(--sky-7)}.poster .star circle{fill:color-mix(in srgb,var(--lit) 40%,var(--glint))}.poster .glow-0{stop-color:var(--lit);stop-opacity:.2}.poster .glow-1{stop-color:var(--lit);stop-opacity:0}.poster .halo-0{stop-color:var(--lit);stop-opacity:.6}.poster .halo-1{stop-color:var(--lit);stop-opacity:.22}.poster .halo-2{stop-color:var(--lit);stop-opacity:0}.poster .disc{fill:var(--lit)}.poster .ring{fill:none;stroke:var(--lit);stroke-width:1.6;opacity:.35}.poster .cut rect{fill:color-mix(in srgb,var(--lit) 40%,var(--ink));opacity:.85}.poster .mist-0{stop-color:var(--lit);stop-opacity:0}.poster .mist-1{stop-color:var(--lit);stop-opacity:.2}.poster .rf-0{stop-color:color-mix(in srgb,var(--lit) 21%,var(--ink))}.poster .rf-1{stop-color:color-mix(in srgb,var(--lit) 13%,var(--ink))}.poster .rm-0{stop-color:color-mix(in srgb,var(--lit) 11%,var(--ink))}.poster .rm-1{stop-color:color-mix(in srgb,var(--lit) 4%,var(--ink))}.poster .gd-0{stop-color:color-mix(in srgb,var(--lit) 20%,var(--ink))}.poster .gd-1{stop-color:color-mix(in srgb,var(--lit) 7%,var(--ink))}.poster .gd-2{stop-color:var(--ink)}.poster .ink rect,.poster .ink path,.poster .ink polygon{fill:var(--ink)}.poster .col-0{stop-color:var(--ink)}.poster .col-1{stop-color:color-mix(in srgb,var(--lit) 28%,var(--ink))}.poster .win rect{fill:var(--lit)}.poster .shade{opacity:.7}.poster .shade ellipse{fill:var(--ink)}.poster .rim,.poster .rim path{fill:none;stroke:var(--lit);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.poster .finial{fill:var(--lit)}.poster .pool-0{stop-color:var(--lit);stop-opacity:.34}.poster .pool-1{stop-color:var(--lit);stop-opacity:0}.poster .line path{fill:none;stroke:var(--lit);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(--lit);stop-opacity:0}.poster .haze-1{stop-color:var(--lit);stop-opacity:.14}.poster .vig-0{stop-color:var(--ink);stop-opacity:0}.poster .vig-1{stop-color:var(--ink);stop-opacity:.5}.poster .grain-tone{flood-color:var(--glint)}.poster .grain{opacity:.6}.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{position:relative;color:var(--dim);letter-spacing:.02em;margin-bottom:.75rem;padding-bottom:.5rem}.ex-title:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--dusk-thread)}.ex-probe{margin:1.5rem 0;border-left:2px solid var(--accent-dim);padding:.2rem 0 .2rem 1rem;font-family:var(--mono);font-size:var(--text-sm)}.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.out{color:var(--dim);opacity:.6}.ex-line.opt.out:after{content:"  ✗";color:var(--amber)}.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;transition:border-top-color var(--dur) var(--ease)}.ex-form:focus-within{border-top-color:var(--accent-dim)}.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-edge);background:var(--accent-wash);color:var(--fg-bright)}.fc-intro{margin:0 0 .9rem}.fc-stage{position:relative;margin:0 8px 8px 0}.fc-stage:before,.fc-stage:after{content:"";position:absolute;inset:0;border:1px solid var(--border);border-radius:var(--r-m);background:var(--bg-elev);transform:translate(4px,4px)}.fc-stage:after{transform:translate(8px,8px)}.fc-stage[data-left="0"]:before,.fc-stage[data-left="0"]:after,.fc-stage[data-left="1"]:after{display:none}.fc-card{position:relative;z-index:1;display:block;width:100%;padding:0;margin:0;background:none;border:none;color:inherit;text-align:left;cursor:pointer;perspective:1200px}.fc-card:disabled{cursor:default}.fc-stage.dealing .fc-card{opacity:0}.fc-inner{display:grid;transform-style:preserve-3d;transition:transform var(--dur-turn) var(--ease)}.fc-stage.dealing .fc-inner{transition:none}.fc-card.turned .fc-inner{transform:rotateY(180deg)}.fc-face{grid-area:1 / 1;display:flex;flex-direction:column;gap:.5rem;min-height:9.5rem;padding:1.1rem 1.4rem 1rem;border:1px solid var(--border);border-radius:var(--r-m);background:var(--bg-elev);font-family:var(--sans);-webkit-backface-visibility:hidden;backface-visibility:hidden}.fc-back{transform:rotateY(180deg);border-color:var(--accent-edge)}.fc-card:hover .fc-front,.fc-card:focus-visible .fc-front{border-color:var(--accent-edge);background:color-mix(in srgb,var(--accent-wash),var(--bg-elev))}.fc-tag{font-family:var(--mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.fc-back .fc-tag{color:var(--accent)}.fc-text{display:block;line-height:var(--leading-wide)}.fc-front .fc-text{font-size:var(--text-lg);font-weight:500;color:var(--fg-bright)}.fc-back .fc-text{font-size:var(--text-base);color:var(--fg)}.fc-hint{margin-top:auto;align-self:flex-end;font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--dim)}.fc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.85rem}.fc-count{color:var(--dim);letter-spacing:.05em}.fc-dots{color:var(--dim);letter-spacing:.1em}.fc-dots.full{color:var(--accent)}.fc-actions{display:flex;gap:.5rem;margin-left:auto}.fc-actions .ex-btn{margin-top:0}.fc-done{margin:.9rem 0 0}.fc-note{margin:.15rem 0 0}.fc-all{margin-top:.9rem;border-top:1px dashed var(--border);padding-top:.6rem}.fc-all>summary{cursor:pointer;color:var(--dim);letter-spacing:.02em}.fc-all>summary:hover{color:var(--fg)}.fc-list{list-style:none;margin:.6rem 0 0;padding:0;font-family:var(--sans)}.fc-list li{display:flex;flex-direction:column;gap:.25rem;padding:.65rem 0;border-top:1px solid var(--hairline)}.fc-li-q{color:var(--fg-bright);font-weight:500}.fc-li-a{color:var(--fg);font-size:var(--text-sm);line-height:var(--leading-wide)}.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);transition:border-top-color var(--dur) var(--ease);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] .term-line.label{color:var(--dim);font-weight:600;letter-spacing:.1em;text-transform:uppercase}#term-output[data-astro-cid-eqg5l7fp] a.term-line{color:var(--accent);margin:0 calc(var(--pad) * -1);padding:.1rem var(--pad);border-radius:var(--r-s)}#term-output[data-astro-cid-eqg5l7fp] a.term-line:hover,#term-output[data-astro-cid-eqg5l7fp] a.term-line:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent);text-decoration:none}#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)}#terminal[data-astro-cid-eqg5l7fp]:focus-within{border-top-color:var(--accent-dim)}#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)}#terminal[data-astro-cid-eqg5l7fp]:focus-within #term-prompt[data-astro-cid-eqg5l7fp]{text-shadow:0 0 14px color-mix(in srgb,var(--accent) 75%,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))}}.mark[data-astro-cid-iifiznic]{display:block}.mark[data-astro-cid-iifiznic] .plate[data-astro-cid-iifiznic]{fill:var(--bg-elev)}.mark[data-astro-cid-iifiznic] .ink[data-astro-cid-iifiznic],.mark[data-astro-cid-iifiznic] .lit[data-astro-cid-iifiznic],.mark[data-astro-cid-iifiznic] .groove[data-astro-cid-iifiznic],.mark[data-astro-cid-iifiznic] .inlay[data-astro-cid-iifiznic]{fill:none;stroke-width:11.67;stroke-linecap:round;stroke-linejoin:round}.mark[data-astro-cid-iifiznic] .groove[data-astro-cid-iifiznic]{stroke:var(--bg-elev);stroke-width:7.24;opacity:.62}.mark[data-astro-cid-iifiznic] .inlay[data-astro-cid-iifiznic]{stroke-width:1.63}.mark[data-astro-cid-iifiznic] .lit[data-astro-cid-iifiznic]{stroke:#fff}.mark[data-astro-cid-iifiznic] .g-crown[data-astro-cid-iifiznic]{stop-color:color-mix(in srgb,var(--accent) 62%,#fff)}.mark[data-astro-cid-iifiznic] .g-mid[data-astro-cid-iifiznic]{stop-color:var(--accent)}.mark[data-astro-cid-iifiznic] .g-foot[data-astro-cid-iifiznic]{stop-color:var(--amber)}.mark[data-astro-cid-iifiznic] .sheen[data-astro-cid-iifiznic]{transform:translate(-80px);transform-box:view-box}@media(prefers-reduced-motion:no-preference){.site-brand:hover .sheen[data-astro-cid-iifiznic],.site-brand:focus-visible .sheen[data-astro-cid-iifiznic]{animation:mark-sweep .9s cubic-bezier(.33,0,.2,1)}}@keyframes mark-sweep{0%{transform:translate(-80px)}to{transform:translate(220px)}}.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}.site-header[data-astro-cid-5hce7sga]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--dusk-thread);pointer-events:none}.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}.site-brand[data-astro-cid-5hce7sga] .brand-mark{flex:none;width:1.125rem;height:1.125rem}.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 var(--dur) var(--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 var(--dur) var(--ease),border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}#theme-toggle[data-astro-cid-5hce7sga]:hover,#theme-toggle[data-astro-cid-5hce7sga]:focus-visible{color:var(--fg-bright);border-color:var(--accent-edge);background:var(--accent-wash)}.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{flex:none;width:.9375rem;height:.9375rem}.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:0}.foot-cols[data-astro-cid-5hce7sga] a[data-astro-cid-5hce7sga]{display:inline-block;padding:.3rem 0;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}.skip-link[data-astro-cid-5hce7sga]{position:absolute;left:var(--pad);top:0;z-index:20;transform:translateY(-150%);background:var(--bg-elev);border:1px solid var(--accent-dim);border-radius:var(--r-s);padding:.5rem .9rem;font-size:var(--text-sm);color:var(--fg-bright)}.skip-link[data-astro-cid-5hce7sga]:focus{transform:translateY(.4rem);text-decoration:none}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)}
