:where(:root){--wl-background: oklch(.1921 .004 286.02);--wl-foreground: oklch(.9707 .0027 286.35);--wl-card: oklch(.2273 .0038 286.09);--wl-card-foreground: oklch(.9707 .0027 286.35);--wl-popover: oklch(.2273 .0038 286.09);--wl-popover-foreground: oklch(.9707 .0027 286.35);--wl-primary: oklch(.9707 .0027 286.35);--wl-primary-foreground: oklch(.2273 .0038 286.09);--wl-secondary: oklch(.2939 .0036 286.18);--wl-secondary-foreground: oklch(.9707 .0027 286.35);--wl-muted: oklch(.2939 .0036 286.18);--wl-muted-foreground: oklch(.6812 .0073 286.21);--wl-accent: oklch(.2939 .0036 286.18);--wl-accent-foreground: oklch(.9707 .0027 286.35);--wl-destructive: oklch(.7097 .1828 26.96);--wl-destructive-foreground: oklch(.2273 .0038 286.09);--wl-success: oklch(.7685 .1643 152.62);--wl-success-foreground: oklch(.2273 .0038 286.09);--wl-warning: oklch(.8143 .1396 81.16);--wl-warning-foreground: oklch(.2273 .0038 286.09);--wl-border: oklch(.3492 .0034 286.22);--wl-input: oklch(.4024 .0033 286.25);--wl-ring: oklch(.6854 .1699 252.99);--wl-sidebar: oklch(.2273 .0038 286.09);--wl-sidebar-foreground: oklch(.9707 .0027 286.35);--wl-sidebar-accent: oklch(.2939 .0036 286.18);--wl-sidebar-accent-foreground: oklch(.9707 .0027 286.35);--wl-sidebar-border: oklch(.3492 .0034 286.22);--wl-sidebar-ring: oklch(.6854 .1699 252.99);--wl-chart-1: oklch(.6854 .1699 252.99);--wl-chart-2: oklch(.7685 .1643 152.62);--wl-chart-3: oklch(.8143 .1396 81.16);--wl-chart-4: oklch(.7097 .1828 26.96);--wl-chart-5: oklch(.7669 .1715 313.76);--wl-radius: 10px}[data-theme=light]{--wl-background: oklch(.9851 0 0);--wl-foreground: oklch(.2316 .0038 286.1);--wl-card: oklch(1 0 0);--wl-card-foreground: oklch(.2316 .0038 286.1);--wl-popover: oklch(1 0 0);--wl-popover-foreground: oklch(.2316 .0038 286.1);--wl-primary: oklch(.2316 .0038 286.1);--wl-primary-foreground: oklch(1 0 0);--wl-secondary: oklch(.9702 0 0);--wl-secondary-foreground: oklch(.2316 .0038 286.1);--wl-muted: oklch(.9702 0 0);--wl-muted-foreground: oklch(.5399 .0077 286.14);--wl-accent: oklch(.9702 0 0);--wl-accent-foreground: oklch(.2316 .0038 286.1);--wl-destructive: oklch(.5013 .1783 28.7);--wl-destructive-foreground: oklch(1 0 0);--wl-success: oklch(.5135 .1185 153.14);--wl-success-foreground: oklch(1 0 0);--wl-warning: oklch(.5078 .108 73.3);--wl-warning-foreground: oklch(1 0 0);--wl-border: oklch(.9219 0 0);--wl-input: oklch(.8699 0 0);--wl-ring: oklch(.5462 .1891 256.36);--wl-sidebar: oklch(.9702 0 0);--wl-sidebar-foreground: oklch(.2316 .0038 286.1);--wl-sidebar-accent: oklch(1 0 0);--wl-sidebar-accent-foreground: oklch(.2316 .0038 286.1);--wl-sidebar-border: oklch(.9219 0 0);--wl-sidebar-ring: oklch(.5462 .1891 256.36);--wl-chart-1: oklch(.5462 .1891 256.36);--wl-chart-2: oklch(.5135 .1185 153.14);--wl-chart-3: oklch(.5078 .108 73.3);--wl-chart-4: oklch(.5013 .1783 28.7);--wl-chart-5: oklch(.4436 .1935 305.94);--wl-radius: 10px}[data-theme=dark]{--wl-background: oklch(.1921 .004 286.02);--wl-foreground: oklch(.9707 .0027 286.35);--wl-card: oklch(.2273 .0038 286.09);--wl-card-foreground: oklch(.9707 .0027 286.35);--wl-popover: oklch(.2273 .0038 286.09);--wl-popover-foreground: oklch(.9707 .0027 286.35);--wl-primary: oklch(.9707 .0027 286.35);--wl-primary-foreground: oklch(.2273 .0038 286.09);--wl-secondary: oklch(.2939 .0036 286.18);--wl-secondary-foreground: oklch(.9707 .0027 286.35);--wl-muted: oklch(.2939 .0036 286.18);--wl-muted-foreground: oklch(.6812 .0073 286.21);--wl-accent: oklch(.2939 .0036 286.18);--wl-accent-foreground: oklch(.9707 .0027 286.35);--wl-destructive: oklch(.7097 .1828 26.96);--wl-destructive-foreground: oklch(.2273 .0038 286.09);--wl-success: oklch(.7685 .1643 152.62);--wl-success-foreground: oklch(.2273 .0038 286.09);--wl-warning: oklch(.8143 .1396 81.16);--wl-warning-foreground: oklch(.2273 .0038 286.09);--wl-border: oklch(.3492 .0034 286.22);--wl-input: oklch(.4024 .0033 286.25);--wl-ring: oklch(.6854 .1699 252.99);--wl-sidebar: oklch(.2273 .0038 286.09);--wl-sidebar-foreground: oklch(.9707 .0027 286.35);--wl-sidebar-accent: oklch(.2939 .0036 286.18);--wl-sidebar-accent-foreground: oklch(.9707 .0027 286.35);--wl-sidebar-border: oklch(.3492 .0034 286.22);--wl-sidebar-ring: oklch(.6854 .1699 252.99);--wl-chart-1: oklch(.6854 .1699 252.99);--wl-chart-2: oklch(.7685 .1643 152.62);--wl-chart-3: oklch(.8143 .1396 81.16);--wl-chart-4: oklch(.7097 .1828 26.96);--wl-chart-5: oklch(.7669 .1715 313.76);--wl-radius: 10px}:root{--wl-duration-fast: .12s;--wl-duration-base: .18s;--wl-duration-slow: .26s;--wl-ease-out: cubic-bezier(0, 0, .2, 1);--wl-ease-in-out: cubic-bezier(.4, 0, .2, 1);--wl-icon-sm: 16px;--wl-icon-md: 20px;--wl-icon-stroke: 1.5;--wl-space-0: 2px;--wl-space-1: 4px;--wl-space-2: 8px;--wl-space-3: 12px;--wl-space-4: 16px;--wl-space-5: 24px;--wl-space-6: 32px;--wl-space-7: 48px;--wl-space-8: 64px;--wl-space-9: 96px;--wl-radius-control: 6px;--wl-radius-card: 10px;--wl-radius-window: 14px;--wl-radius-full: 9999px;--wl-corner-shape: squircle;--wl-measure-page: 1280px;--wl-measure-doc: 900px;--wl-measure-article: 748px;--wl-measure-text: 660px;--wl-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--wl-font-mono: JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, monospace;--wl-font-accent: Instrument Serif, Georgia, serif;--wl-text-label: .6875rem;--wl-text-meta: .8125rem;--wl-text-body: .9375rem;--wl-text-lede: 1.125rem;--wl-text-heading: 1.125rem;--wl-text-subtitle: 1.25rem;--wl-text-title: 1.5rem;--wl-text-display: 2rem;--wl-text-section: clamp(1.55rem, 3vw, 2.3rem);--wl-text-hero: clamp(2.1rem, 5.2vw, 3.9rem);--wl-tracking-hero: -.03em;--wl-tracking-section: -.015em;--wl-tracking-label: .14em;--wl-weight-body: 400;--wl-weight-medium: 500;--wl-weight-semibold: 600;--wl-weight-display: 700;--wl-weight-mono: 400;--wl-leading-hero: 1.15;--wl-leading-heading: 1.25;--wl-leading-body: 1.6;--wl-leading-mono: 1.7;--wl-terminal-ground: oklch(.2273 .0038 286.09);--wl-terminal-foreground: oklch(.9707 .0027 286.35);--wl-terminal-dim: oklch(.6812 .0073 286.21);--wl-terminal-red: oklch(.7097 .1828 26.96);--wl-terminal-green: oklch(.7685 .1643 152.62);--wl-terminal-yellow: oklch(.8143 .1396 81.16);--wl-terminal-blue: oklch(.6854 .1699 252.99);--wl-terminal-magenta: oklch(.7669 .1715 313.76);--wl-terminal-cyan: oklch(.7978 .119 203.96);--wl-terminal-selection: oklch(.4638 .0925 251.6)}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-100-900.BwkfbSeq.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/jetbrains-mono-400.V6pRDFza.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/instrument-serif-400-italic.DKMiL14s.woff2) format("woff2")}:root{font-feature-settings:"cv02","cv03","cv04","cv11";font-optical-sizing:auto}:root{--paper: var(--wl-background);--paper-panel: var(--wl-card);--paper-sunk: var(--wl-muted);--ink: var(--wl-foreground);--ink-soft: var(--wl-muted-foreground);--rule: var(--wl-border);--rule-strong: var(--wl-input);--crt: var(--wl-terminal-ground);--phosphor: var(--wl-terminal-foreground);--phosphor-dim: var(--wl-terminal-dim);--phosphor-hot: var(--wl-terminal-blue);--crt-rule: oklch(from var(--wl-terminal-ground) calc(l + .05) c h);--phosphor-struck: oklch(from var(--wl-terminal-dim) calc(l - .22) c h);--accent: var(--wl-ring);--font-display: var(--wl-font-sans);--font-body: var(--wl-font-sans);--font-mono: var(--wl-font-mono);--measure: var(--wl-measure-page);--measure-doc: var(--wl-measure-doc);--measure-article: var(--wl-measure-article);--measure-text: var(--wl-measure-text)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--paper);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--wl-text-body);line-height:var(--wl-leading-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--wl-weight-semibold);letter-spacing:var(--wl-tracking-section);line-height:var(--wl-leading-heading);text-wrap:balance}.t-display{font-size:var(--wl-text-hero);font-weight:var(--wl-weight-display);letter-spacing:var(--wl-tracking-hero);line-height:var(--wl-leading-hero)}.t-section{font-size:var(--wl-text-section)}.text-brand{color:var(--accent)}.lede{font-size:var(--wl-text-lede);color:var(--ink-soft);max-width:var(--measure-text);line-height:var(--wl-leading-body)}.lede strong{color:var(--ink);font-weight:var(--wl-weight-semibold)}.eyebrow{font-family:var(--font-mono);font-size:var(--wl-text-label);letter-spacing:var(--wl-tracking-label);text-transform:uppercase;color:var(--ink-soft)}.fine{font-size:var(--wl-text-meta);color:var(--ink-soft)}code{font-family:var(--font-mono);font-size:.9em;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--wl-radius-control);padding:.05em .35em}.wrap{max-width:var(--measure);margin:0 auto;padding:0 24px}.wrap-text{max-width:820px}.wrap-doc{max-width:var(--measure-doc)}.band{padding:60px 0;border-top:1px solid var(--rule)}.band:first-of-type{border-top:0}.band-sunk{background:var(--paper-panel)}.band-head{margin-bottom:26px;max-width:var(--measure-text)}.band-head .eyebrow{display:block;margin-bottom:10px}.band-head .lede{margin-top:12px}.btn{display:inline-flex;align-items:center;gap:var(--wl-space-2);font-family:var(--font-body);font-size:var(--wl-text-body);font-weight:var(--wl-weight-medium);padding:var(--wl-space-3) var(--wl-space-4);border:1px solid var(--ink);border-radius:var(--wl-radius-control);cursor:pointer;transition:background var(--wl-duration-fast) var(--wl-ease-out),color var(--wl-duration-fast) var(--wl-ease-out),transform var(--wl-duration-fast) var(--wl-ease-out);min-height:44px}.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:oklch(from var(--wl-primary) calc(l - .06) c h);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--paper-sunk)}.btn-sm{padding:var(--wl-space-2) var(--wl-space-3);font-size:var(--wl-text-meta);min-height:36px}.navbar{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid transparent;transition:border-color var(--wl-duration-base) var(--wl-ease-out)}.navbar.scrolled{border-bottom-color:var(--rule)}.navbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:62px}.nav-brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:var(--wl-text-lede);letter-spacing:.01em}.nav-brand img{height:22px;width:auto;border-radius:var(--wl-radius-control)}.nav-links{display:flex;align-items:center;gap:26px;list-style:none}.nav-links a{font-size:var(--wl-text-body);color:var(--ink-soft);padding:6px 0;border-bottom:1px solid transparent;transition:color var(--wl-duration-fast) var(--wl-ease-out),border-color var(--wl-duration-fast) var(--wl-ease-out)}.nav-links a:hover{color:var(--ink);border-bottom-color:var(--ink)}.nav-end{display:flex;align-items:center;gap:12px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--rule);border-radius:var(--wl-radius-control);color:var(--ink-soft);cursor:pointer;transition:color var(--wl-duration-fast) var(--wl-ease-out),border-color var(--wl-duration-fast) var(--wl-ease-out)}.theme-toggle:hover{color:var(--ink);border-color:var(--rule-strong)}.theme-toggle .i-sun,[data-theme=dark] .theme-toggle .i-moon{display:none}[data-theme=dark] .theme-toggle .i-sun{display:inline}.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:8px}.hero{padding:60px 0 52px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start}.hero h1{margin-bottom:22px}.hero .lede{margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}.release{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--ink-soft);border:1px solid var(--rule);border-radius:var(--wl-radius-control);padding:4px 10px;margin-bottom:10px}.release-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.release [data-status=stable]{color:var(--ink)}.install{border-top:1px solid var(--rule);padding-top:20px}.install-row{display:flex;align-items:center;gap:10px;background:var(--crt);border-radius:var(--wl-radius-control);padding:12px 14px;font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--phosphor)}.install-row .sigil{color:var(--phosphor-dim);user-select:none;flex:none}.install-row code{background:none;border:0;padding:0;color:var(--phosphor);white-space:nowrap;font-size:inherit;overflow-x:auto;min-width:0}.copy{margin-left:auto;flex:none;background:none;border:1px solid var(--phosphor-dim);border-radius:var(--wl-radius-control);color:var(--phosphor);cursor:pointer;padding:6px;display:flex;min-width:32px;min-height:32px;align-items:center;justify-content:center;transition:background var(--wl-duration-fast) var(--wl-ease-out)}.copy:hover{background:#ffb00024}.install-alt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:var(--wl-text-meta);color:var(--ink-soft)}.linkish{background:none;border:0;cursor:pointer;font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--accent);border-bottom:1px solid var(--rule-strong);padding:2px 0}.linkish:hover{border-bottom-color:var(--accent)}.crt{background:var(--crt);border-radius:var(--wl-radius-control);overflow:hidden;font-family:var(--font-mono);box-shadow:0 1px 0 var(--rule-strong),0 18px 40px -28px #000000b3}.crt-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--crt-rule);font-size:var(--wl-text-label);color:var(--phosphor-dim);letter-spacing:.06em;text-transform:uppercase}.crt-case{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crt-ctx{margin-left:.5ch}.crt-read{display:flex;align-items:center;gap:10px;flex:none}.crt-phase{color:var(--phosphor-dim);border:1px solid currentColor;border-radius:var(--wl-radius-control);padding:1px 6px;font-size:var(--wl-text-label)}.crt-phase[data-on]{color:var(--phosphor-hot)}.crt-meter{color:var(--phosphor-hot);font-variant-numeric:tabular-nums}.crt-body{padding:14px;font-size:var(--wl-text-meta);line-height:1.55;color:var(--phosphor);overflow-x:auto;min-height:calc(var(--rows, 21) * 1.55em + 28px)}.reel[hidden]{display:none}.crt-body .prompt{color:var(--phosphor-dim)}.crt-body .keep{color:var(--phosphor)}.ln{display:grid;grid-template-columns:14px 1fr;gap:8px;white-space:pre;transition:opacity var(--wl-duration-slow) var(--wl-ease-out),height var(--wl-duration-slow) var(--wl-ease-out),margin var(--wl-duration-slow) var(--wl-ease-out);height:1.55em;overflow:hidden}.ln>.mark{color:var(--phosphor-dim);user-select:none}.ln-noise>.txt{color:var(--phosphor-dim)}.crt.scoring .ln-noise>.txt,.crt.scoring .ln-noise>.mark{animation:strike var(--wl-duration-slow) var(--wl-ease-out) forwards;animation-delay:calc(var(--i) * var(--wl-duration-fast))}@keyframes strike{to{color:var(--phosphor-struck);text-decoration-line:line-through}}.crt.cut .ln-noise{height:0;opacity:0;transition-delay:calc(var(--i) * 26ms)}.crt-foot{border-top:1px solid var(--crt-rule);padding:10px 14px;font-size:var(--wl-text-label);color:var(--phosphor-dim);display:flex;flex-wrap:wrap;gap:6px 16px}.crt-cap{margin-top:10px;font-size:var(--wl-text-meta);color:var(--ink-soft);font-family:var(--font-body)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid var(--rule)}.stat{padding:18px 24px 4px 0}.stat+.stat{border-left:1px solid var(--rule);padding-left:24px}.stat-n{font-family:var(--font-mono);font-size:var(--wl-text-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block;margin-bottom:6px}.stat-l{font-size:var(--wl-text-meta);color:var(--ink-soft);line-height:1.45;display:block}.rows{border:1px solid var(--rule);margin:0;border-radius:var(--wl-radius-control);overflow:hidden;background:var(--paper)}.band-sunk .rows{background:var(--paper-panel)}.row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;padding:15px 18px;align-items:baseline}.row+.row{border-top:1px solid var(--rule)}.row-k{font-family:var(--font-display);font-size:var(--wl-text-body);font-weight:600;color:var(--ink);line-height:1.5}.row-k.is-mono{font-family:var(--font-mono);font-size:var(--wl-text-meta);font-weight:400}.row-k .sub{display:block;font-size:var(--wl-text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}.row-v{margin:0;font-size:var(--wl-text-body);color:var(--ink-soft);line-height:1.55}.row-v strong{color:var(--ink);font-weight:600}.row-v .also{display:block;margin-top:5px;font-size:var(--wl-text-meta)}.row-quiet,.band-sunk .row-quiet{background:var(--paper-sunk)}.receipt{font-family:var(--font-mono);font-size:var(--wl-text-meta);white-space:nowrap}.receipt a{color:var(--accent);border-bottom:1px solid var(--rule-strong)}.receipt a:hover{border-bottom-color:var(--accent)}.host-names{display:block;font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--ink);margin-bottom:6px}.was{color:var(--ink-soft)}.now{color:var(--ink);display:block;margin-top:4px}.now:before{content:"now";font-family:var(--font-mono);font-size:var(--wl-text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-right:8px}.ledger-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--wl-radius-control)}.ledger{width:100%;border-collapse:collapse;font-size:var(--wl-text-body);min-width:560px}.ledger caption{caption-side:bottom;text-align:left;padding:14px 16px;font-size:var(--wl-text-meta);color:var(--ink-soft);border-top:1px solid var(--rule)}.ledger th,.ledger td{padding:11px 16px;text-align:right}.ledger th:first-child,.ledger td:first-child{text-align:left}.ledger thead th{font-family:var(--font-mono);font-size:var(--wl-text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule-strong)}.ledger tbody th{font-weight:400}.ledger tbody tr+tr th,.ledger tbody tr+tr td{border-top:1px solid var(--rule)}.ledger tbody th code{background:none;border:0;padding:0;font-size:var(--wl-text-body)}.ledger .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.ledger .saved{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink)}.bar{position:relative;display:block}.bar:before{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:15px;width:var(--w);background:#7a4e0029;border-radius:var(--wl-radius-control);z-index:0}.bar>span{position:relative;z-index:1}.close{text-align:left}.close .lede{margin:18px 0 28px}.footer{border-top:1px solid var(--rule);padding:54px 0 34px;font-size:var(--wl-text-body)}.footer-top{display:flex;flex-wrap:wrap;gap:44px;justify-content:space-between}.footer-brand{max-width:300px}.footer-brand .mark{font-family:var(--font-display);font-weight:700;font-size:var(--wl-text-lede);display:block;margin-bottom:8px}.footer-brand p{color:var(--ink-soft)}.footer-links{display:flex;gap:56px;flex-wrap:wrap}.link-group .link-h{font-size:var(--wl-text-meta);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:400;margin-bottom:12px}.link-group a{display:block;margin-bottom:8px;color:var(--ink-soft);border-bottom:1px solid transparent;width:fit-content}.link-group a:hover{color:var(--ink);border-bottom-color:var(--ink)}.footer-bottom{margin-top:44px;padding-top:20px;border-top:1px solid var(--rule);color:var(--ink-soft);font-size:var(--wl-text-meta)}.footer-bottom a{border-bottom:1px solid var(--rule-strong)}.footer-bottom a:hover{border-bottom-color:var(--ink)}.page-head{padding:72px 0 40px;border-bottom:1px solid var(--rule);margin-bottom:8px}.page-head h1{margin-bottom:14px}.page-head .lede+.fine{margin-top:14px}.posts{display:grid}.post-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:28px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:baseline}.post-row:hover .post-title{border-bottom-color:var(--ink)}.post-when{font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--ink-soft)}.post-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--wl-text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.post-title{font-size:var(--wl-text-subtitle);font-weight:600;border-bottom:1px solid transparent;display:inline}.post-excerpt{color:var(--ink-soft);font-size:var(--wl-text-body);margin-top:8px;max-width:var(--measure-text)}.post-row.is-lead{padding:34px 0}.post-row.is-lead .post-title{font-size:var(--wl-text-title)}.article{padding-block:72px 88px;max-width:var(--measure-article)}.article-head{border-bottom:1px solid var(--rule);padding-bottom:26px;margin-bottom:34px}.article-head h1{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:16px}.article-meta{display:flex;flex-wrap:wrap;gap:16px;font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--ink-soft)}.prose{font-size:var(--wl-text-body);line-height:1.72}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--wl-text-title);margin-top:2em}.prose h3{font-size:var(--wl-text-lede);margin-top:1.7em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose a{color:var(--accent);border-bottom:1px solid var(--rule-strong)}.prose a:hover{border-bottom-color:var(--accent)}.prose blockquote{border-left:2px solid var(--accent);padding-left:18px;color:var(--ink-soft)}.prose img{max-width:100%;height:auto;border-radius:var(--wl-radius-control)}.prose pre{background:var(--crt);color:var(--phosphor);padding:16px;border-radius:var(--wl-radius-control);overflow-x:auto;font-size:var(--wl-text-meta);line-height:1.55}.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}.prose :not(pre)>code{overflow-wrap:anywhere}.prose table{width:100%;border-collapse:collapse;font-size:var(--wl-text-body)}.prose th,.prose td{padding:9px 12px;border-bottom:1px solid var(--rule);text-align:left}.prose th{font-family:var(--font-mono);font-size:var(--wl-text-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:400}.article-foot{margin-top:48px;padding-top:22px;border-top:1px solid var(--rule)}@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.stat+.stat{border-left:0;padding-left:0}}@media(max-width:720px){.band{padding:46px 0}.hero{padding:40px 0 36px}.nav-links{display:none;position:absolute;top:62px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 24px 16px}.nav-links.open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid var(--rule)}.nav-toggle{display:flex}.nav-end .btn,.crt-ctx{display:none}.row{grid-template-columns:minmax(0,1fr);gap:5px;padding:13px 15px}.post-row,.post-row.is-lead{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}.footer-links{gap:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}.rc-note{border-left:2px solid var(--accent);padding:10px 0 10px 16px;margin-bottom:26px;font-size:var(--wl-text-body);color:var(--ink-soft)}.rc-note a{border-bottom:1px solid var(--rule-strong)}.rc-note a:hover{border-bottom-color:var(--accent)}.rc-archive{margin:56px 0 24px;padding-top:26px;border-top:1px solid var(--rule)}.rc-h{font-size:var(--wl-text-lede);margin-bottom:6px}.rc-archive .fine{margin-bottom:16px}.rc-list{list-style:none}.rc-list li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:var(--wl-text-meta)}.rc-list a{color:var(--ink-soft);border-bottom:1px solid transparent}.rc-list a:hover{color:var(--ink);border-bottom-color:var(--ink)}.rc-list time{font-family:var(--font-mono);font-size:var(--wl-text-meta);color:var(--ink-soft);white-space:nowrap}.rel-rows{margin:28px 0 8px}.rel-rows .row{grid-template-columns:150px minmax(0,1fr);align-items:start;padding:20px 18px}.rel-rows .row-k{font-size:var(--wl-text-body)}.rel-latest{display:inline-block;margin-left:8px;color:var(--accent);font-weight:600;letter-spacing:.08em}.rel-list{list-style:none;display:grid;gap:7px}.rel-list li{display:flex;gap:10px;align-items:baseline;overflow-wrap:anywhere}.rel-list code{font-size:.85em}.rel-label{flex:none;width:68px;font-family:var(--font-mono);font-size:var(--wl-text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.rel-more{margin-top:9px;font-size:var(--wl-text-meta);color:var(--ink-soft)}.rel-links{display:flex;gap:18px;margin-top:12px;font-size:var(--wl-text-meta)}.rel-links a{border-bottom:1px solid var(--rule-strong)}.rel-links a:hover{border-bottom-color:var(--accent)}.rel-foot{margin:22px 0 72px;max-width:var(--measure-text)}@media(max-width:640px){.rel-list{gap:14px}.rel-list li{display:block}.rel-label{display:block;width:auto;margin-bottom:2px}}.more{margin-bottom:32px}.more-h{font-size:var(--wl-text-lede);margin-bottom:14px}.more .row{grid-template-columns:minmax(0,1fr);gap:5px}.more .row-k a{border-bottom:1px solid var(--rule-strong)}.more .row-k a:hover{border-bottom-color:var(--accent)}.more .row-v{font-size:var(--wl-text-meta)}.stepper{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:24px;font-size:var(--wl-text-meta)}.stepper>*{max-width:46%}.step-next{text-align:right}.stepper a{color:var(--ink-soft);max-width:48%;border-bottom:1px solid transparent}.stepper a:hover{color:var(--ink);border-bottom-color:var(--ink)}.step-next{text-align:right;margin-left:auto}@media(max-width:720px){.stepper{flex-direction:column;gap:12px}.stepper a{max-width:100%}.step-next{text-align:left;margin-left:0}.rc-list li{flex-direction:column;gap:2px}}
