/* Blog pages only: the article sits edge to edge under the sticky site header; its tab bar sticks just below it. */
.blog-post { --art-top: calc(var(--header-h) + 1px); /* header height + its 1px bottom border */ }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* MIRASTACK brand for the articles. The articles are kept byte-identical (blog.test.mjs), so the brand is applied here:
   - type: the articles ask for Poppins; on this site that name resolves to the Oswald file (the site font), and --font-sans points at Oswald;
   - colour: every colour variable of each article is mapped to the site's neutral-black palette (see site.css :root), per theme.
   The article's own variable block (inline <style> in the head) has selectors of specificity 0,3,0 at most; every rule below has 0,4,0
   and comes later, so it wins in all four cases: light, system dark, toggle dark, toggle light. Heading case and button shape are
   set inside the shadow root by BRAND_CSS in blog.mjs. */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 200 700; font-display: swap; src: url('/assets/fonts/oswald-latin-wght-normal.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 200 700; font-display: swap; src: url('/assets/fonts/oswald-latin-ext-wght-normal.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---- light (default) ---- */
:root:not([data-theme="dark"]) .blog-post .art-host {
  --font-sans: Oswald, "Arial Narrow", Arial, sans-serif;
  --bg: #ffffff; --bg-alt: #f6f5f1; --surface: #ffffff; --surface-2: #f6f5f1; --surface2: #f6f5f1;
  --text: #1c1c1c; --text-muted: #5e5e5e; --text-dim: #8a8a8a; --text2: #3d3d3d; --text3: #6b6b6b;
  --accent: #00695f; --accent-fg: #ffffff; --accent-bg: rgb(0 105 95 / .10);
  --border: #e4e2dc; --border-strong: #c9c6be; --border-accent: rgb(0 105 95 / .35); --glow: none;
  --d-ink: #0a0a0a;
}
:root:not([data-theme="dark"]) .blog-post.post-llm-inference-parallelism .art-host {
  --d-gray-f: #f3f2ee; --d-gray-s: #b5b2aa; --d-teal-s: #00695f; --d-done: #00695f; --d-pend: #e4e2dc; --d-track: #ecebe6;
  --d-ink2: #5e5e5e; --d-line: #8a8a8a; --mlp: #00695f;
}
:root:not([data-theme="dark"]) .blog-post.post-next-concept-modeling .art-host {
  --grid: #ecebe6; --d-ink2: #3d3d3d; --d-line: #d6d3cb; --d-cell: #f6f5f1; --d-masked: #e4e2dc;
}

/* ---- dark (system) ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .blog-post .art-host {
    --bg: #0a0a0a; --bg-alt: #000000; --surface: #191919; --surface-2: #222222; --surface2: #222222;
    --font-sans: Oswald, "Arial Narrow", Arial, sans-serif;
    --text: #e6e6e6; --text-muted: #8f8f8f; --text-dim: #6b6b6b; --text2: #a6a6a6; --text3: #8f8f8f;
    --accent: #2bd4bf; --accent-fg: #0a0a0a; --accent-bg: rgb(43 212 191 / .12);
    --border: #272727; --border-strong: #3a3a3a; --border-accent: rgb(43 212 191 / .35); --glow: none;
    --d-ink: #f2f2f2;
  }
  :root:not([data-theme="light"]) .blog-post.post-llm-inference-parallelism .art-host {
    --d-gray-f: #1f1f1f; --d-gray-s: #4a4a4a; --d-teal-s: #2bd4bf; --d-done: #2bd4bf; --d-pend: #3a3a3a; --d-track: #272727;
    --d-ink2: #a6a6a6; --d-line: #6b6b6b; --mlp: #2bd4bf;
  }
  :root:not([data-theme="light"]) .blog-post.post-next-concept-modeling .art-host {
    --grid: #1f1f1f; --d-ink2: #a6a6a6; --d-line: #333333; --d-cell: #1f1f1f; --d-masked: #2a2a2a;
  }
}

/* ---- dark (toggle) ---- */
:root[data-theme="dark"] .blog-post .art-host {
  --bg: #0a0a0a; --bg-alt: #000000; --surface: #191919; --surface-2: #222222; --surface2: #222222;
    --font-sans: Oswald, "Arial Narrow", Arial, sans-serif;
  --text: #e6e6e6; --text-muted: #8f8f8f; --text-dim: #6b6b6b; --text2: #a6a6a6; --text3: #8f8f8f;
  --accent: #2bd4bf; --accent-fg: #0a0a0a; --accent-bg: rgb(43 212 191 / .12);
  --border: #272727; --border-strong: #3a3a3a; --border-accent: rgb(43 212 191 / .35); --glow: none;
  --d-ink: #f2f2f2;
}
:root[data-theme="dark"] .blog-post.post-llm-inference-parallelism .art-host {
  --d-gray-f: #1f1f1f; --d-gray-s: #4a4a4a; --d-teal-s: #2bd4bf; --d-done: #2bd4bf; --d-pend: #3a3a3a; --d-track: #272727;
  --d-ink2: #a6a6a6; --d-line: #6b6b6b; --mlp: #2bd4bf;
}
:root[data-theme="dark"] .blog-post.post-next-concept-modeling .art-host {
  --grid: #1f1f1f; --d-ink2: #a6a6a6; --d-line: #333333; --d-cell: #1f1f1f; --d-masked: #2a2a2a;
}
