:root { --ink:#111216; --paper:#f3f0e9; --muted:#77736c; --yellow:#e8f04e; --pink:#ef80a7; --line:rgba(17,18,22,.17); --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Space Grotesk',sans-serif; }
.noise { position:fixed; inset:0; opacity:.045; pointer-events:none; z-index:5; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.shell { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }
a { color:inherit; text-decoration:none; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:27px 0; border-bottom:1px solid var(--line); }
.wordmark { font-size:14px; letter-spacing:.12em; font-weight:700; display:flex; gap:10px; align-items:center; }
.wordmark span { display:grid; place-items:center; width:25px; height:25px; background:var(--ink); color:var(--yellow); font-size:15px; letter-spacing:0; }
nav { display:flex; align-items:center; gap:31px; font-size:13px; font-weight:500; }
nav a:not(.nav-pill):hover, .text-link:hover, .read-link:hover { opacity:.55; }
.nav-pill { background:var(--ink); color:var(--paper); padding:10px 15px; border-radius:99px; } .nav-pill span { color:var(--yellow); margin-left:8px; }
.hero { padding:110px 0 88px; }
.hero-kicker, .eyebrow, .post-meta, .mono, .section-note { font-family:'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
.hero-kicker { display:flex; align-items:center; gap:10px; color:#5b5952; }.status-dot { width:7px;height:7px;background:#bbd43d;border-radius:50%;box-shadow:0 0 0 4px rgba(187,212,61,.2); }
h1 { font-size:clamp(52px,8.9vw,122px); letter-spacing:-.085em; line-height:.9; margin:31px 0 56px; font-weight:600; max-width:980px; } h1 em { color:#7b7870; font-style:normal; }
.hero-bottom { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid var(--line); padding-top:20px; }.hero-intro { font-size:17px; line-height:1.48; max-width:455px; margin:0; color:#4e4b46; }.hero-intro span { color:var(--ink); text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:4px; }.hero-mark { display:flex; align-items:center; gap:12px; }.hero-mark span { font-size:38px; line-height:1; }.hero-mark small { font:10px/1.35 'DM Mono',monospace; letter-spacing:.1em; }
.signal-strip { background:#d9dd71; color:var(--ink); overflow:hidden; }.ticker { min-height:57px; display:flex; align-items:center; justify-content:space-between; font:11px 'DM Mono',monospace; letter-spacing:.12em; white-space:nowrap; }.ticker i { color:#c94f78; font-style:normal; font-size:18px; }
.writing { padding:96px 0 120px; }.section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; }.eyebrow { margin:0; color:#68645d; }.section-note { margin:0; color:#99948a; text-transform:none; letter-spacing:0; }
.feature-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:478px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }.feature-card + .feature-card { border-top:0; }.feature-card.reverse .feature-art { order:2; }.feature-card.reverse .feature-copy { order:1; }
.feature-art { position:relative; padding:32px; overflow:hidden; min-height:390px; }.art-yellow { background:var(--yellow); }.art-pink { background:var(--pink); }.feature-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; opacity:.72; filter:saturate(.7) contrast(1.08); }.art-shade { position:absolute; inset:0; background:linear-gradient(135deg,rgba(232,240,78,.78),rgba(232,240,78,.2) 60%,rgba(17,18,22,.12)); }.art-pink .art-shade { background:linear-gradient(135deg,rgba(239,128,167,.8),rgba(239,128,167,.18) 60%,rgba(17,18,22,.2)); }.art-number { position:relative; z-index:1; font:12px 'DM Mono',monospace; letter-spacing:.1em; }.art-glyph { position:absolute; z-index:1; font-size:260px; line-height:.75; letter-spacing:-.16em; right:7%; bottom:3%; transform:rotate(-12deg); }.art-caption { position:absolute; z-index:1; left:32px; bottom:29px; font:11px/1.3 'DM Mono',monospace; letter-spacing:.08em; }
.feature-copy { display:flex; flex-direction:column; justify-content:center; padding:58px clamp(28px,6vw,86px); }.post-meta { display:flex; gap:20px; color:#79746c; margin-bottom:25px; }.feature-copy h2 { font-size:clamp(27px,3.2vw,45px); line-height:1; letter-spacing:-.06em; max-width:570px; margin:0 0 25px; }.feature-copy h2 a:hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; text-decoration-color:var(--pink); }.feature-copy p { color:#65615a; max-width:480px; line-height:1.55; font-size:15px; margin:0 0 30px; }.read-link, .text-link { font-weight:600; font-size:13px; }.read-link span, .text-link span { color:#db4e7a; padding-left:7px; font-size:17px; }
.about { display:grid; grid-template-columns:41% 59%; padding:95px 0 120px; border-top:1px solid var(--line); }.about-label .eyebrow { margin-top:9px; }.about-copy { padding-left:clamp(28px,6vw,86px); }.about-copy h2 { font-size:clamp(40px,6vw,76px); line-height:.94; letter-spacing:-.08em; margin:0 0 30px; }.about-copy h2 span { color:#8e8a81; }.about-copy p { max-width:540px; color:#65615a; line-height:1.6; font-size:16px; margin:0 0 27px; }
.subscribe { display:grid; grid-template-columns:41% 59%; gap:0; padding:82px clamp(22px,4vw,52px) 88px; border-top:1px solid var(--line); background:#e8dfcf; color:var(--ink); }.subscribe-copy { padding-right:40px; }.subscribe-copy .eyebrow { color:#68635b; }.subscribe-copy h2 { font-size:clamp(35px,4.7vw,62px); line-height:.96; letter-spacing:-.07em; margin:28px 0 24px; }.subscribe-copy h2 span { color:#c94f78; }.subscribe-copy > p:last-child { color:#68635b; font-size:15px; line-height:1.55; max-width:390px; }.subscribe-form { align-self:end; padding:0 clamp(28px,6vw,86px); }.subscribe-form label { display:block; font:11px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#68635b; margin-bottom:12px; }.subscribe-row { display:flex; border-bottom:1px solid rgba(17,18,22,.45); }.subscribe-row input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:var(--ink); padding:13px 0; font:16px 'Space Grotesk',sans-serif; }.subscribe-row input::placeholder { color:#8b857b; }.subscribe-row button { border:0; background:var(--ink); color:var(--paper); padding:0 17px; font:600 13px 'Space Grotesk',sans-serif; cursor:pointer; }.subscribe-row button span { color:var(--yellow); padding-left:8px; }.subscribe-fine { color:#8b857b; font:10px 'DM Mono',monospace; margin-top:16px; }
.site-footer { border-top:1px solid var(--line); display:flex; gap:30px; align-items:center; padding:26px 0 34px; }.site-footer p { color:#858078; font-size:12px; margin:0; }.site-footer .mono { margin-left:auto; font-size:10px; }.social-links { display:flex; align-items:center; gap:14px; margin-left:auto; }.social-links .mono { margin-left:0; color:#aaa49a; }.social-links a { font-size:12px; color:#5e5a53; }.social-links a:hover { color:#c94f78; }
/* Article pages */
.article-shell { width:min(calc(100% - 64px),900px); margin-inline:auto; }.article-header { padding:92px 0 62px; border-bottom:1px solid var(--line); }.back-link { font:11px 'DM Mono',monospace; color:#77736c; }.article-header h1 { font-size:clamp(40px,6.3vw,76px); max-width:900px; margin:34px 0 30px; }.article-deck { font-size:20px; line-height:1.45; max-width:660px; color:#625e57; }.article-meta { display:flex; gap:18px; margin-top:33px; color:#77736c; }.article-body { padding:55px 0 100px; max-width:680px; }.article-body p { font-family:Georgia,serif; font-size:18px; line-height:1.6; color:#302f2b; }.article-body h2 { font-size:30px; letter-spacing:-.04em; margin:54px 0 15px; }.article-body blockquote { border-left:4px solid var(--yellow); margin:40px 0; padding:10px 24px; font-size:25px; line-height:1.35; letter-spacing:-.03em; }.source-note { font:12px/1.5 'DM Mono',monospace; border-top:1px solid var(--line); padding-top:20px; margin-top:60px; color:#6e6a62; }.source-note a { text-decoration:underline; text-underline-offset:3px; }
.article-body h3 { font-size:23px; letter-spacing:-.035em; margin:42px 0 12px; }.article-body ul { padding-left:24px; margin:18px 0 28px; }.article-body li { font-family:Georgia,serif; font-size:18px; line-height:1.65; margin:8px 0; }.article-body a { text-decoration:underline; text-decoration-color:var(--pink); text-underline-offset:3px; }.article-body img { display:block; width:100%; height:auto; margin:32px 0; }.article-body table { display:block; max-width:100%; overflow-x:auto; margin:32px 0; }.article-body code { font:0.82em 'DM Mono',monospace; background:rgba(17,18,22,.07); padding:2px 5px; }.article-body hr { border:0; border-top:1px solid var(--line); margin:48px 0; }
.article-hero { border-bottom:1px solid var(--line); }.article-hero img { display:block; width:100%; height:auto; max-height:560px; object-fit:cover; }

@media (min-width:701px) {
  .site-header { height:90px; padding-block:0; }
  .hero { height:calc(100dvh - 90px - 57px); min-height:0; padding:0; display:grid; grid-template-rows:1fr auto 1fr auto 1fr; }
  .hero-title { grid-row:2; }
  .hero h1 { margin-bottom:0; }
  .hero-bottom { grid-row:4; }
  .hero-bottom { margin-top:0; }
}
@media (max-width:700px) { .shell,.article-shell { width:min(calc(100% - 36px),var(--max)); }.site-header { padding:20px 0; } nav a:not(.nav-pill) { display:none; }.hero { padding:76px 0 62px; }.hero-bottom { align-items:flex-start; gap:28px; }.hero-mark { display:none; }.ticker { gap:28px; justify-content:flex-start; overflow:hidden; }.ticker span:nth-of-type(n+3),.ticker i:nth-of-type(n+3) { display:none; }.writing { padding:70px 0 85px; }.feature-card { display:flex; flex-direction:column; }.feature-card.reverse .feature-art,.feature-card.reverse .feature-copy { order:initial; }.feature-art { min-height:260px; }.art-glyph { font-size:190px; }.feature-copy { padding:37px 25px 45px; }.post-meta { flex-wrap:wrap; gap:10px 16px; }.subscribe { display:block; padding:70px 22px 75px; }.subscribe-copy { padding-right:0; }.subscribe-form { padding:40px 0 0; }.subscribe-row { display:block; border-bottom:0; }.subscribe-row input { width:100%; border-bottom:1px solid rgba(17,18,22,.45); padding:14px 0; }.subscribe-row button { width:100%; padding:14px 17px; margin-top:13px; }.about { display:block; padding:70px 0 80px; }.about-copy { padding:35px 0 0; }.site-footer { flex-wrap:wrap; gap:15px; }.site-footer .mono { margin-left:0; width:100%; }.article-header { padding:65px 0 45px; }.article-header h1 { margin:28px 0 23px; }.article-deck { font-size:18px; }.article-body { padding:38px 0 70px; }.article-body p { font-size:18px; }.article-body blockquote { font-size:22px; margin-inline:0; } }

/* Monochrome paper-and-ink theme */
:root {
  color-scheme:light;
  --ink:#111; --paper:#fff; --muted:#666; --secondary:#444; --prose:#222;
  --yellow:var(--ink); --pink:var(--ink); --line:rgba(17,17,17,.18);
  --code-background:rgba(17,17,17,.07);
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --ink:#ededeb; --paper:#171819; --muted:#aaa; --secondary:#c2c2be; --prose:#deded9;
  --line:rgba(255,255,255,.22); --code-background:rgba(255,255,255,.09);
}
/* System preference still works when JavaScript is unavailable. */
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) {
    color-scheme:dark;
    --ink:#ededeb; --paper:#171819; --muted:#aaa; --secondary:#c2c2be; --prose:#deded9;
    --line:rgba(255,255,255,.22); --code-background:rgba(255,255,255,.09);
  }
}
body { background:var(--paper); color:var(--ink); }
.wordmark span { background:var(--ink); color:var(--paper); }
.nav-pill { background:var(--ink); color:var(--paper); }
.nav-pill span, .subscribe-row button span { color:#fff; }
.hero-kicker, .eyebrow, .section-note, .post-meta, .back-link, .article-meta { color:var(--muted); }
h1 em { color:var(--muted); }
.hero-intro, .feature-copy p, .about-copy p, .article-deck { color:var(--secondary); }
.signal-strip { background:#111; color:#fff; }
.ticker i { color:#fff; }
.art-yellow { background:#f4f4f4; color:#111; }
.art-pink { background:#111; color:#fff; }
.art-shade { background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,255,255,.05) 60%,rgba(17,17,17,.12)); }
.art-pink .art-shade { background:linear-gradient(135deg,rgba(17,17,17,.2),rgba(17,17,17,.65) 60%,rgba(0,0,0,.9)); }
.read-link span, .text-link span { color:var(--ink); }
.about-copy h2 span { color:var(--muted); }
.subscribe-copy h2 span { color:#aaa; }
.subscribe { background:#111; color:#fff; }
.subscribe-copy .eyebrow, .subscribe-copy > p:last-child, .subscribe-form label { color:#bbb; }
.subscribe-row { border-color:rgba(255,255,255,.55); }
.subscribe-row input { color:#fff; }
.subscribe-row input::placeholder { color:#999; }
.subscribe-row button { background:#fff; color:#111; }
.subscribe-fine { color:#999; }
.site-footer p, .social-links a { color:var(--muted); }
.social-links .mono { color:#888; }
.article-body p, .article-body li { color:var(--prose); }
.article-body code { background:var(--code-background); }
.art-pink .feature-image { mix-blend-mode:normal; opacity:.82; filter:grayscale(.2) contrast(1.05); }
.art-pink .art-shade { background:linear-gradient(135deg,rgba(17,17,17,.05),rgba(17,17,17,.22) 60%,rgba(0,0,0,.42)); }

/* Editorial illustration for Illusion of Done #1. */
.feature-copy .post-meta { flex-wrap:wrap; }
.art-illustration { background:#eee5d3; }
.art-illustration .feature-image { object-fit:cover; mix-blend-mode:normal; opacity:1; filter:none; }
.article-body .article-illustration { margin:0 0 36px; }
.article-body .article-illustration img { margin:0; }
.article-illustration figcaption { margin-top:10px; color:var(--muted); font:11px/1.5 'DM Mono',monospace; }

/* Keep Buttondown signup and confirmation inside the newsletter section. */
.subscribe-embed { min-width:0; align-self:center; }
.subscribe-widget { display:block; width:100%; height:170px; border:0; background:transparent; border-radius:4px; }
.subscribe-fallback { margin:12px 0 0; font:11px/1.5 'DM Mono',monospace; color:#bbb; }
.subscribe-fallback a { text-decoration:underline; text-underline-offset:3px; }
.subscribe-fallback a:hover { color:#fff; }

/* Reader theme toggle. */
.theme-toggle { display:inline-grid; place-items:center; width:40px; height:40px; padding:0; flex-shrink:0; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); cursor:pointer; }
.theme-toggle[hidden] { display:none; }
.theme-toggle:hover { background:var(--code-background); }
.theme-sun { display:none; }
[data-theme="dark"] .theme-sun { display:block; }
[data-theme="dark"] .theme-moon { display:none; }
.theme-toggle:focus-visible, a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.source-note { color:var(--muted); }
/* Buttondown owns the iframe contents; retain its native light presentation. */
.subscribe-widget { color-scheme:light; }
@media (min-width:701px) and (max-width:1000px) {
  .site-header nav { gap:14px; }
  .site-header .wordmark { font-size:12px; letter-spacing:.06em; }
}
@media (max-width:700px) {
  .site-header { flex-wrap:wrap; gap:18px; }
  .site-header nav { width:100%; justify-content:space-between; gap:16px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Release comparison in the article's run details. */
.run-table-scroll { max-width:100%; overflow-x:auto; margin:24px 0; }
.run-table-scroll:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.article-body .run-comparison { display:table; width:100%; min-width:600px; margin:0; border-collapse:collapse; font:14px/1.5 'Space Grotesk',sans-serif; color:var(--ink); }
.run-comparison caption { text-align:left; margin-bottom:12px; color:var(--muted); }
.run-comparison th, .run-comparison td { padding:12px 10px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.run-comparison thead { background:var(--code-background); }
.run-comparison tbody th { font-weight:600; }
.run-comparison .custom-server { background:var(--code-background); }
.source-note h2 { color:var(--ink); }

/* Article filtering */
.article-filters { position:relative; display:flex; align-items:center; min-width:0; }
.article-filters::after { content:""; position:absolute; right:14px; top:50%; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.article-filters[hidden], .feature-card[hidden] { display:none; }
.article-filters select { appearance:none; -webkit-appearance:none; max-width:100%; min-height:44px; padding:10px 38px 10px 12px; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); font:13px 'Space Grotesk',sans-serif; }
.article-filters select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.feature-card.is-first-visible { border-top:1px solid var(--ink); }
.site-header:has(.article-filters) { column-gap:24px; }
@media (max-width:1100px) {
  .site-header:has(.article-filters) { display:grid; grid-template-columns:minmax(0,1fr) auto; height:auto; padding-block:20px; gap:18px; }
  .site-header:has(.article-filters) .wordmark { grid-column:1 / -1; }
  .site-header:has(.article-filters) nav { width:auto; gap:12px; }
  .article-filters { max-width:230px; }
  .article-filters select { width:100%; }
}
@media (min-width:701px) and (max-width:1100px) {
  body:has(.site-header .article-filters) .hero { height:calc(100dvh - 127px - 57px); }
}
@media (max-width:700px) {
  .site-header:has(.article-filters) nav { gap:10px; }
  .article-filters select { font-size:12px; padding-inline:10px 38px; }
}

.article-body .case-sources { font:12px/1.6 'DM Mono',monospace; color:var(--muted); margin-top:14px; }

/* Keep detailed run inventories available without interrupting the story. */
.article-body .article-details { margin:24px 0; padding:16px 0; border-block:1px solid var(--line); }
.article-details summary { cursor:pointer; font:15px/1.5 'Space Grotesk',sans-serif; color:var(--ink); }
.article-details summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.source-note .article-details { border:0; margin:12px 0; padding:0; }

/* Architecture diagrams keep labels legible and show the whole topology. */
.article-body .article-diagram { margin:32px 0 40px; }
.article-body > .article-diagram:first-child { margin-top:0; }
.article-diagram picture { display:block; }
.article-body .article-diagram img { margin:0; width:100%; height:auto; }
.article-diagram figcaption { margin-top:12px; color:var(--muted); font:12px/1.6 'DM Mono',monospace; }
.feature-art.art-diagram { display:grid; place-items:center; padding:16px; background:#f7f9fb; }
.art-diagram .feature-image { position:static; width:100%; height:auto; object-fit:contain; mix-blend-mode:normal; opacity:1; filter:none; }

/* Technical diagrams have separate narrow layouts and can be opened at full size. */
.article-diagram .diagram-link { display:block; cursor:zoom-in; text-decoration:none; }
.article-diagram .diagram-link:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
.feature-art.art-diagram picture { display:block; width:100%; min-width:0; }
.art-diagram .feature-image { display:block; }
@media (min-width:1000px) {
  .article-body .article-diagram { width:900px; max-width:none; margin-left:calc((100% - 900px) / 2); margin-right:calc((100% - 900px) / 2); }
}

/* Recorded command excerpts in article text. */
.article-body .command-record { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.65 'DM Mono',monospace; padding:16px; margin:18px 0; background:var(--code-background); }
.article-body .command-record code { font:inherit; background:transparent; padding:0; }
