/* ============================================================================
   ██  THIS FILE IS THE PALETTE AUTHORITY FOR THE WHOLE ALP ESTATE.  ██
   ============================================================================

   *** alittlepilgrim.org IS THE RULE. EVERY OTHER SURFACE OBEYS IT. ***

   Ratified by Peregrinita 2026-08-09. This REVERSES the earlier arrangement, in
   which PilgrimLetters/publish.css was called "the reference implementation."
   That was only ever true because THIS file still carried the old mauve dark
   mode. It no longer does: as of 2026-08-09 ALP Main matches on 20 of 21
   colour tokens, and the twenty-first is a deliberate rule set HERE (see
   --color-foam-dark below). The main site is the site Peregrinita works in daily,
   so the main site is canon.

   PEREGRINITA CHEAT SHEET (PEREGRINITA CS: IS GUIDE BY PEREGRINITA DO NOT DELETE)

   ── IF YOU ARE AN AGENT ABOUT TO EDIT THIS FILE, READ THIS FIRST ──────────

   1. DO NOT "correct" this file toward PilgrimLetters/publish.css, or toward
      any palette you believe is canonical. THIS is canonical. When the two
      disagree, PilgrimLetters is what changes.

   2. NO COOL TONES. Blues, cool greys and blue-greys do not belong on this
      estate. This rule exists because canon's "rainy blue-gray" #91a6b8 was
      applied to --color-foam-dark on 2026-08-09 and turned the entire
      sidebar, site title and footer blue-gray. Peregrinita caught it on sight.

   3. A TOKEN AUDIT IS NOT A VERIFICATION. Checking that every --color-* is
      defined and referenced proves nothing about how the page looks. Trace
      each token to the SELECTORS it drives before changing its value. Two
      sites can share a token name and bind it to entirely different jobs.

   4. GREP THE WHOLE FILE BEFORE TRUSTING THE TOKENS. Rules further down
      (notably the NIGHT SKY block) paint with `!important` and override the
      token layer completely. Changing a token does not change what that rule
      paints.

   5. THERE IS NO STAGING. Obsidian Publish goes live the moment Peregrinita
      publishes. Never publish on her behalf; hand it back and say it is ready.

   6. Revert is one command:  git -C ~/Vaults/ALittlePilgrim checkout publish.css

   Authority notes: [[alp-web-estate]] · [[alp-design-system]]
   ============================================================================ */

/* -------- FRONT MATTER ---------
** Theme: Obsidian Typewriter-Impressionist (heavily customised)
** Originally based on the Impressionist theme; edited by Gemini (v2)
** License: MIT
----------------------------------- */

/* +++ TOC
|_ FONT FACES
|_ COLOR VARIABLES
|_ LIGHT MODE
|_ DARK MODE (CANDLELIT LIBRARY — canonical; Rosé Pine Moon retired)
|_ TYPOGRAPHY & FONTS
|_ MARKDOWN FORMATTING
|_ HIGHLIGHT ACTIVE LINE
|_ SIDEBAR NOTES
|_ UI ELEMENTS
|_ GOOGLE FORM MOBILE ADJUST
|_ STYLE SETTINGS
|_ IMAGE ON TEXT
|_ BOLD & ITALIC FIX
|_ CALLOUT STYLING
*/

/* +++ FONT FACES */
@import url('https://fonts.googleapis.com/css2?family=Beth+Ellen&family=Cardo:ital,wght@0,400;0,700;1,400&display=swap');

/* +++ COLOR VARIABLES */
body {
  /* New Color Palette */
  --color-background-light: #ECE4DA;
  --color-background-secondary-light: #F6F3EC;
  --color-text-light: #36302A;
  --color-text-muted-light: #574C3F;
  --color-border-light: #B9A590;
  --color-hyperlink-light: #F6EAED;

  /* Candlelit-library night palette (dark mode) — canonical, matches
     PilgrimLetters/publish.css. Converged 2026-08-09 from the older
     red-leaning radio night palette so the whole estate agrees. */
  /* WALNUT RESTORED 2026-08-14 (Peregrinita's ruling). The 2026-08-13 charcoal
     experiment is CLOSED: neutralizing the ground made the warm text tokens
     (cream/tan, calibrated for walnut) float — "the text colors do not vibe
     with the background anymore." Diagnosis: the 30-gold-links problem was
     never the ground's fault; it was solved separately by the CREAM LINKS
     ruling (see link block below), which STAYS. Ground returns to the
     2026-08-09 candlelit walnut. Superseded charcoal values: bg #15120e,
     secondary #1e1a15, overlay #29231b, highlight-low #1c1811. */
  /* GROUND-LIFT TRIAL CLOSED 2026-08-17 (Peregrinita: "go back - definitely").
     The one-step-lighter background (bg #231a12, secondary #2f241b, overlay
     #3d2e22, highlight-low #2b2017, plus a lifted NIGHT SKY ramp) was tried
     the same day and rejected — deep walnut stays. The softened creams
     (text/link tokens above) are what fixed the dense-page glare and they
     STAY. Do not re-try lightening this background; the walnut is canon
     twice over now (2026-08-14 and 2026-08-17). */
  --color-background-dark: #19130f; /* PEREGRINITA CS: BASE BACKGROUND — deep walnut */
  --color-background-secondary-dark: #241b15;  /* PEREGRINITA CS - card / secondary surface — dark wood */
  --color-overlay-dark: #31241b;               /* lifted surface */
  --color-highlight-low-dark: #211811;
  --color-highlight-med-dark: #4a3627;         /* warm border tint (kept) */
  --color-highlight-high-dark: #6a4c35;        /* warm border tint (kept) */
  --color-muted-dark: #8f735b; /* EOYWN CS: Body text color */
  --color-subtle-dark: #b89a7b;
  /* SOFTENED 2026-08-17 (Peregrinita): on link-dense Obsidian pages the bright
     cream (#eadcc6, ~13:1 on the night ground) read as a glaring wall of
     light-on-dark. Body cream dimmed one step to ~10:1 — still very
     readable, much calmer. Link cream dimmed in step (see link block).
     Superseded value: #eadcc6. */
  --color-text-dark: #d3c2a4; /* PEREGRINITA CS: MAIN TEXT COLOR — soft parchment */
  --color-love-dark: #b86a4a;  /* terracotta */
  --color-gold-dark: #d9a35f;                  /* candle amber */
  --color-rose-dark: #b07a78;  /* PEREGRINITA CS: dusky rose — kept for the HOME HERO QUOTE only (banner wallpaper family). NO LONGER the site accent: 2026-08-14 Peregrinita ruled the jewel is candle amber GOLD (--color-gold-dark), safe now that links are cream. */
  --color-pine-dark: #6d8a63;                  /* muted vine */
  /* ***** RULE — DO NOT CHANGE THIS TO A COOL COLOUR. *****
     --color-foam-dark drives .theme-dark a:visited on this site, which means it
     paints EVERY visited link: the whole sidebar nav, the site title, the footer.
     On 2026-08-09 it was set to PilgrimLetters' #91a6b8 "rainy blue-gray" and the
     site published with a blue sidebar. Peregrinita caught it on sight and ruled: warm
     sand stays, and NO COOL TONES anywhere on the estate.
     PilgrimLetters' #91a6b8 is now the value that is out of step, not this one. */
  --color-foam-dark: #c9b087;                  /* visited links — warm sand. CANON. */
  --color-iris-dark: #d6c1a0;                  /* parchment */

  /* Font Variables */
  --font-main: 'Cardo', 'Times New Roman', serif;
  --font-headings: 'Beth Ellen', cursive;
}

/* +++ LIGHT MODE */
.theme-light {
  --background-primary: var(--color-background-light);
  --background-primary-alt: var(--color-background-secondary-light);
  --background-secondary: var(--color-background-secondary-light);
  --background-secondary-alt: var(--color-background-secondary-light);
  --background-transparent: hsla(0, 0%, 96%, 0);
  --background-translucent: rgba(255, 255, 255, 0.85);
  --background-modifier-border: var(--color-border-light);
  --background-modifier-border-hover: hsl(from var(--color-border-light) h s calc(l - 6%));
  --background-modifier-border-focus: hsl(from var(--color-border-light) h s calc(l - 12%));
  --background-modifier-form-field: hsl(from var(--color-background-light) h s calc(l + 2%));
  --background-modifier-form-field-highlighted: hsl(from var(--color-background-light) h s calc(l + 4%));

  --color-accent: var(--color-text-muted-light);
  --background-modifier-accent: var(--color-hyperlink-light);
  --vim-cursor: hsla(from var(--color-text-muted-light) h s l / 0.8);
  --text-accent: var(--color-text-muted-light);
  --text-accent-hover: var(--color-text-light);
  --text-normal: var(--color-text-light);
  --text-muted: var(--color-text-muted-light);
  --text-faint: var(--color-border-light);

  --text-highlight-bg: var(--color-hyperlink-light);
  --text-highlight-bg-active: rgba(246, 234, 237, 0.7);
  --text-selection: rgba(204, 230, 255, 0.99);
  --text-on-accent: var(--color-text-light);

  --interactive-normal: #f2f3f5;
  --interactive-hover: #e9e9e9;
  --interactive-accent: var(--color-hyperlink-light);
  --interactive-accent-hover: var(--color-text-muted-light);
  --interactive-accent-rgb: 87, 76, 63;
  --interactive-success: #197300;

  --scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2);
  --scrollbar-bg: rgba(0, 0, 0, 0.05);
  --scrollbar-thumb-bg: rgba(0, 0, 0, 0.1);
  --highlight-mix-blend-mode: darken;

  --icon-color: var(--text-muted);
  --icon-hex: 000;

  --graph-line-color: #c0c9ce;

  --code-background: #eee8d5;
}

/* Specific rule for opened/visited hyperlinks in light mode */


/* --- Improved Link Styling (Option B) --- */
.theme-light a,
.theme-light .internal-link,
.theme-light .external-link {
  color: #6c3a1f; /* readable medium-dark brown */
  text-decoration: none;
  font-weight: inherit;
}

.theme-light a:hover,
.theme-light .internal-link:hover,
.theme-light .external-link:hover,
.theme-light a:focus,
.theme-light .internal-link:focus,
.theme-light .external-link:focus {
  color: #3e1f0e; /* darker brown for hover/focus */
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.theme-light a:visited,
.theme-light .internal-link:visited,
.theme-light .external-link:visited {
  color: #85513a; /* slightly desaturated brown */
}


/* +++ DARK MODE (CANDLELIT LIBRARY — canonical)
   Rosé Pine Moon is RETIRED from deployed surfaces (ratified 2026-08-09) and
   is Peregrinita's PERSONAL Obsidian vault palette — kept as an extra, never an
   estate palette. The estate has TWO palettes, both Carmelite:
     · cream / aged parchment  (light)
     · brown / candlelit library (dark)
   Rosé Pine names survive below only as callout-accent labels, never as the
   dark theme itself. Ruled by Peregrinita 2026-08-24. */
.theme-dark {
  --background-primary: var(--color-background-dark);
  --background-primary-alt: var(--color-background-secondary-dark);
  --background-secondary: var(--color-background-secondary-dark);
  --background-secondary-alt: var(--color-overlay-dark);
  --background-transparent: hsla(32, 45%, 6%, 0);
  --background-translucent: rgba(38, 26, 28, 0.85);
  --background-modifier-border: var(--color-highlight-med-dark);
  --background-modifier-border-hover: var(--color-highlight-high-dark);
  --background-modifier-border-focus: var(--color-subtle-dark);
  --background-modifier-form-field: var(--color-overlay-dark);
  --background-modifier-form-field-highlighted: var(--color-highlight-low-dark);

  /* Accent = candle amber gold (Peregrinita 2026-08-14). Rose retired from accent
     duty; gold is safe as the jewel because links are cream, so gold appears
     only at hover/active/on-this-page — never 30 at a time. */
  --color-accent: var(--color-gold-dark);
  --background-modifier-accent: var(--color-highlight-med-dark);
  --vim-cursor: rgba(215, 162, 78, 0.8);              /* radio gold */
  --text-accent: var(--color-gold-dark);
  --text-accent-hover: var(--color-iris-dark);
  --text-normal: var(--color-text-dark);
  --text-muted: var(--color-subtle-dark);
  --text-faint: var(--color-muted-dark);

  --text-highlight-bg: rgba(215, 162, 78, 0.25);      /* gold tint */
  --text-highlight-bg-active: rgba(215, 162, 78, 0.45);
  --text-selection: rgba(90, 63, 60, 0.99);           /* highlight-med */
  --text-on-accent: var(--color-background-dark);

  --interactive-normal: var(--color-overlay-dark);
  --interactive-hover: var(--color-highlight-low-dark);
  --interactive-accent: var(--color-gold-dark);
  --interactive-accent-hover: var(--color-iris-dark);
  --interactive-accent-rgb: 217, 163, 95;       /* candle amber (rose 176,122,120 retired 2026-08-14) */
  --interactive-success: var(--color-foam-dark);

  --scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2);
  --scrollbar-bg: rgba(255, 255, 255, 0.05);
  --scrollbar-thumb-bg: rgba(255, 255, 255, 0.1);
  --highlight-mix-blend-mode: lighten;

  --icon-color: var(--text-muted);
  --icon-hex: fff;

  --graph-line-color: #46302f;

  --code-background: var(--color-overlay-dark);
  /* Inline code was var(--blue) #6c99bb — a COOL tone that slipped past the
     estate rule and painted the "cite / check / done" alias chips blue.
     Caught by Peregrinita 2026-08-14. Parchment now; light mode untouched. */
  --code-normal: var(--color-iris-dark);
}

/* --- Dark mode link styling — CREAM, gold reserved as the accent -------------
   Ruled by Peregrinita 2026-08-13 (cream), accent re-ruled to GOLD 2026-08-14.
   The reason: these are Obsidian pages — some are almost ENTIRELY links (every
   meditation, every novena day). ANY coloured link becomes a wall of colour at
   that density. So on a link-dense page colour must CALM, not carry. Links read
   in CREAM — distinguished from body text by brightness, not hue (unvisited
   brighter, visited a shade dimmer) — and GOLD (--color-gold-dark #d9a35f) is
   spent only where the eye SHOULD go: link hover, the active nav item, the
   current "on this page" entry. The home hero quote keeps its banner rose.
   Gold is the jewel, cream is the page. Warm throughout (estate rule holds).
   Supersedes for links the header's "warm sand visited" note (walnut-era):
   a:visited no longer uses --color-foam-dark (that TOKEN is untouched — still
   drives --interactive-success). */
/* ONE CREAM 2026-08-14 (Peregrinita): the visited/unvisited split (#f2e7d0 vs
   #cdbb9c) made nav lists randomly two-toned — three creams on one page read
   as "colors that do not vibe." Visited distinction removed entirely: all
   links are one cream, a whisper above body text. Hover gold is
   the only state change. */
/* SOFTENED 2026-08-17 (Peregrinita): link cream dimmed one step with the body
   cream (see token block) — the whole light side comes down together, so
   the whisper-above-body relationship is preserved. The one-cream rule and
   hover-gold rule are untouched. Superseded value: #f0e5cd. */
.theme-dark a,
.theme-dark .internal-link,
.theme-dark .external-link {
  color: #ddccab;   /* the ONE link cream — gentle lift over body */
  text-decoration: none;
  font-weight: inherit;
}

.theme-dark a:hover,
.theme-dark .internal-link:hover,
.theme-dark .external-link:hover,
.theme-dark a:focus,
.theme-dark .internal-link:focus,
.theme-dark .external-link:focus {
  color: #d9a35f;    /* candle amber — the accent, appears only on hover */
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.theme-dark a:visited,
.theme-dark .internal-link:visited,
.theme-dark .external-link:visited {
  color: #ddccab;     /* SAME as unvisited — no mottle (dim #cdbb9c retired 2026-08-14; softened with body 2026-08-17) */
}

/* +++ TYPOGRAPHY & FONTS */
body {
  --font-text-theme: var(--font-main);
  --font-interface-theme: var(--font-text-theme);
  --font-editor-theme: var(--font-main); /* Using Cardo for editor as well */
  --font-editor: var(--font-text-theme), var(--font-text-override), var(--font-editor-theme);
  --font-monospace-default: "JetBrains Mono", monospace;
  --font-monospace: var(--font-monospace-override), var(--font-monospace-theme), var(--font-monospace-default);
  font-variant-emoji: unicode !important; /* emoji will override numbers and special characters */
  --metadata-input-font-size: var(--font-small);

  --font-normal-size: 1em;
  --font-small: 0.813em;
  --font-smaller: 0.688em;
  --font-smallest: 0.625em;

  --code-size: var(--font-small);
  --code-normal: var(--blue);

  --h1: 2.3em;
  --h2: 1.85em;
  --h3: 1.45em;
  --h4: 1.1em;
  --h5: 1em;
  --h6: 0.95em;

  --h1-weight: 640;
  --h2-weight: 530;
  --h3-weight: 560;
  --h4-weight: 500;
  --h5-weight: 500;
  --h6-weight: 500;

  --h1-color: var(--text-normal);
  --h2-color: var(--text-normal);
  --h3-color: var(--text-normal);
  --h4-color: var(--text-normal);
  --h5-color: var(--text-normal);
  --h6-color: var(--text-normal);

  --normal-weight: 500;
  --bold-weight: 700;
  --line-width: 40rem; /* Maximum characters per line */
  --line-height: 1.5;
  --max-width: 88%; /* Amount of padding around the text, use 90% for narrower padding */
  --icon-muted: 0.5;
  --border-width: 1px;
  --border-width-alt: 1px;

  --radius-s: 2px;
  --radius-m: 5px;
  --radius-l: 10px;

  --input-height: 32px;
  --header-height: 40px;

  --yellow: #e5b567;
  --green: #b4d273;
  --orange: #e87d3e;
  --purple: #9e86c8;
  --pink: #b05279;
  --blue: #6c99bb;

  line-height: var(--line-height);
}

/* Apply heading font */
.markdown-preview-view h1, .cm-s-obsidian .cm-header-1,
.markdown-preview-view h2, .cm-s-obsidian .cm-header-2,
.markdown-preview-view h3, .cm-s-obsidian .cm-header-3,
.markdown-preview-view h4, .cm-s-obsidian .cm-header-4,
.markdown-preview-view h5, .cm-s-obsidian .cm-header-5,
.markdown-preview-view h6, .cm-s-obsidian .cm-header-6 {
  font-family: var(--font-headings);
  /* Beth Ellen's descenders overshoot the line box at display size;
     1.35 is the house floor (ruled 2026-08-10, migration §1.2). */
  line-height: 1.35;
}
.inline-title { line-height: 1.35; }


/* source mode */
.markdown-source-view {
  font-family: var(--font-text-theme);
}

/* live preview */
.markdown-source-view.is-live-preview {
  font-family: var(--font-editor-theme);
}

/* reading mode */
.markdown-preview-view {
  font-family: var(--font-text-theme);
}

/* +++ MARKDOWN FORMATTING */
/* fade formatting tags out */
.shrink-formatting .CodeMirror-line span.cm-formatting:not(.cm-s-obsidian span.cm-link, .cm-s-obsidian span.cm-hmd-internal-link, .cm-s-obsidian span.cm-url, .cm-s-obsidian span.cm-attribute, .cm-s-obsidian span.cm-quote, span.cm-hashtag.cm-hashtag-begin, .cm-s-obsidian span.cm-formatting-list), /* legacy editor */
.shrink-formatting .markdown-source-view.mod-cm6 .cm-line span.cm-formatting:not(.cm-s-obsidian span.cm-link, .cm-s-obsidian span.cm-hmd-internal-link, .cm-s-obsidian span.cm-url, .cm-s-obsidian span.cm-attribute, .cm-s-obsidian span.cm-quote, span.cm-hashtag.cm-hashtag-begin, .cm-s-obsidian span.cm-formatting-list) /* CM6 editor */ {
  color: var(--text-faint);
  font-size: var(--font-smaller) !important;
}

/* increase blockquote height */
.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote {
  padding-top: 7px;
  padding-bottom: 7px;
}

/* +++ HIGHLIGHT ACTIVE LINE */
.active-line-highlight .markdown-source-view .CodeMirror-activeline,
.active-line-highlight .markdown-source-view.mod-cm6 .cm-active.cm-line {
  background: var(--background-secondary);
  border-radius: 8px;
}

/* +++ SIDEBAR NOTES */
/* make sidebar notes' background var(--background-primary) */
.mod-right-split .markdown-preview-view,
.mod-left-split .markdown-preview-view,
.mod-right-split .markdown-source-view.mod-cm6 .cm-scroller,
.mod-left-split .markdown-source-view.mod-cm6 .cm-scroller {
  background-color: var(--background-primary);
}

/* +++ UI ELEMENTS */

/* make inline title equal to H1 */
.inline-title {
  font-weight: var(--h1-weight);
}

/* increase space between editor and metadata – credit to Minimal */
.metadata-container {
  --input-height: 2rem;
}
.markdown-source-view .metadata-container {
  transform: translateX(-4px);
}
.is-phone {
  --metadata-label-font-size: var(--font-adaptive-smaller);
  --metadata-input-font-size: var(--font-adaptive-smaller);
}

/* make cursor accent color */
.CodeMirror-cursor {
  background-color: var(--color-accent);
}

/* make Vim cursor transluscent and accent color */
.cm-fat-cursor-mark,
.cm-fat-cursor .CodeMirror-cursor {
  width: inherit;
  background-color: var(--vim-cursor) !important;
}

/* blur background when pop-ups are active
    (credit: Deep Work) */
body .modal {
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
body .modal .prompt-results {
  padding: calc((1rem * 2) * 1);
}
body .modal-bg {
  /* backdrop-filter: blur(8px); */ /* causes slowdowns */
  background-color: rgb(8, 8, 8);
}

/* make workspace frameless */
.workspace-tab-header-container,
.workspace-ribbon.mod-left:before,
.mod-macos.is-hidden-frameless:not(.is-popout-window)
  .sidebar-toggle-button.mod-right {
  background-color: var(--background-primary);
}

/* remove note-to-note link underline */
:root body {
  --link-decoration: none;
  --link-decoration-hover: none;
}

/* centered tables, simplified */
.markdown-rendered table {
  width: 100%;
}

.markdown-rendered table th {
  padding: calc(1em/3) calc(2em/3);
}

.markdown-rendered table td {
  padding: calc(1em/6) calc(2em/3);
}

.markdown-source-view .cm-content .cm-table-widget .table-wrapper {
  width: 100%;
}

.markdown-source-view .cm-content .cm-table-widget th .table-cell-wrapper {
  padding: calc(1em/3) calc(2em/3);
}

.markdown-source-view .cm-content .cm-table-widget td .table-cell-wrapper {
  padding: calc(1em/6) calc(2em/3);
}

/* h1 and surrounding p margin variables, thanks to FireIsGood#0733 */
:root h1 {
  margin: 0;
}
.markdown-preview-view div:has(> h1) + div > p {
  margin-top: 1em;
}
.markdown-preview-view div:has(+ div > h1) > p {
  margin-bottom: 0.33em;
}

/* FIX: margin-top funkiness present since Obsidian 1.1+ */
.markdown-source-view table {
  margin-top: 0;
}

/* FIX: background color for titlebar buttons on Windows */
div.titlebar-button-container.mod-right {
  background-color: var(--background-primary) !important;
}

/* EDITOR: font-scalable edit-block-button */
/* add header padding for button if last column is right-aligned */
.markdown-source-view table th:last-child[align="right"] {
  padding-right: 2.767527675276753em;
  padding-left: 0.8324108241082411em; /* balances padding-right */
}
/* button attributes */
.markdown-source-view.mod-cm6 .edit-block-button {
  opacity: 1;
  top: 0.3em;
  right: 0.25em;
  align-items: center;
  justify-content: center;
}
.markdown-source-view div.edit-block-button svg {
  width: 1.2em;
  height: 1em;
}

/* DARKEN GRAPH VIEW LINS */
.graph-view.color-line {
  color: var(--graph-line-color);
}

/* FOLD INDICATOR SPACING */
/* prevent overlap with text */

div.cm-fold-indicator {
  margin-right: 0;
}

.markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator {
  padding-right: 4px;
  right: 0;
}


/* +++ GOOGLE FORM MOBILE ADJUST + */

.responsive-gform-container {
  position: relative;
  overflow: hidden;
  padding-top: 80.16%; /* This is the magic number for your form's aspect ratio */
  /* Aspect Ratio Calculation: (original height / original width) * 100% */
  /* (513 / 640) * 100% = 80.15625% */
}

.responsive-gform-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* +++ END OF SECTION + */


/* +++ STYLE SETTINGS  +*/

/* @settings

name: Typewriter
id: obsidian-typewriter
settings:
    -
        id: typewriter-editor
        title: Editor
        type: heading
        level: 2
    -
        id: shrink-formatting
        title: Shrink & fade Markdown formatting symbols
        type: class-toggle
        default: on
    -
        id: active-line-highlight
        title: Highlight the active line
        type: class-toggle
        default: on

*/
/* +++ END OF SECTION ++ */


/* +++ IMAGE ON TEXT +++*/


/* For positioning text on an image */
.image-container {
  position: relative; /* This is the key to positioning child elements */
  display: inline-block; /* Makes the container wrap the image */
}

@import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap');

.image-container .image-text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #574C3F; /* warm, faded brown */
  padding: 20px; /* preserve your padding */
  border-radius: 5px;
  text-align: left; /* align text left for tweet-style layout */
  font-weight: normal;
  pointer-events: none;
  font-family: 'Special Elite', monospace;
  letter-spacing: 0.065em;
  text-shadow:
      0.6px 0.6px 0 rgba(0,0,0,0.18),
      -0.6px -0.6px 0 rgba(0,0,0,0.1),
      0.3px 0.5px 0 rgba(0,0,0,0.05);

  /* allow wrapping */
  white-space: normal;
  overflow: hidden;
  display: inline-block;
  max-width: 90%; /* so text wraps nicely within the image */

  font-size: clamp(0.75rem, 2.6vw, 1.1rem);
  line-height: 1.35;
  word-break: break-word;
  hyphens: auto;
}


/* +++ END OF SECTION ++ */

/* Explicit heading spacing */
h1 {
  margin-top: 1.6em;
  margin-bottom: 0.6em;
}
h2 {
  margin-top: 1.4em;
  margin-bottom: 0.5em;
  border-bottom: none !important; /* This overrides the hidden default underline */
}
h3 {
  margin-top: 1.2em;
  margin-bottom: 0.4em;
}

/* +++ BOLD & ITALIC FIX +++*/

/* Apply bold weight to Markdown bold elements */
.markdown-preview-view strong,
.markdown-preview-view b {
  font-weight: var(--bold-weight);
}

/* Apply bold weight in Live Preview and Source Mode */
.markdown-source-view.mod-cm6 .cm-strong {
  font-weight: var(--bold-weight);
}

/* Apply italic style to Markdown italic elements */
.markdown-preview-view em,
.markdown-preview-view i {
  font-style: italic;
}

/* Apply italic style in Live Preview and Source Mode */
.markdown-source-view.mod-cm6 .cm-em {
  font-style: italic;
}

/* +++ END OF SECTION ++ */

/* +++ CALLOUT STYLING +++ */
/* Each callout type gets its own Rosé Pine accent.
   Light mode uses Rosé Pine Dawn accents (calibrated for cream backgrounds);
   dark mode uses Rosé Pine Moon accents. --callout-color is an RGB triplet
   so Obsidian's default rgba() machinery handles tinting. */

.callout {
    border-radius: var(--radius-m);
    padding: 1rem;
    margin: 1.5rem 0;
    font-size: var(--font-normal-size);
    border: 1px solid rgba(var(--callout-color), 0.35);
    background-color: rgba(var(--callout-color), 0.08);
}

.callout-title {
    color: var(--text-normal);
    font-weight: 500;
}

/* Vertical bar to the left of the title */
.callout-title::before {
    background-color: rgb(var(--callout-color));
    width: 4px;
    height: 100%;
    margin-right: 0.5rem;
}

/* Title icon picks up the accent */
.callout-icon {
    color: rgb(var(--callout-color));
}

/* Dark mode needs a stronger pour: the shared 8% tint / 35% border was tuned
   for cream backgrounds and reads as uniform mud on walnut — every callout
   type looked the same ("blah", Peregrinita 2026-08-14). Richer tint, firmer
   hairline, and the title takes a lifted tint of its own accent so each
   type declares itself. */
.theme-dark .callout {
    border: 1px solid rgba(var(--callout-color), 0.55);
    background-color: rgba(var(--callout-color), 0.13);
}
.theme-dark .callout-title {
    color: rgb(var(--callout-color));
    filter: brightness(1.25);
}

/* --- Per-type accents: LIGHT MODE (Rosé Pine Dawn) --- */
.theme-light .callout                                       { --callout-color: 121, 117, 147; }  /* CATCH-ALL: subtle — any unlisted type lands here, never Obsidian's stock blue */
.theme-light .callout[data-callout="note"]                  { --callout-color: 121, 117, 147; }  /* subtle */
.theme-light .callout[data-callout="abstract"],
.theme-light .callout[data-callout="summary"],
.theme-light .callout[data-callout="tldr"]                  { --callout-color: 144, 122, 169; }  /* iris */
.theme-light .callout[data-callout="info"],
.theme-light .callout[data-callout="todo"]                  { --callout-color: 86, 148, 159; }   /* foam */
.theme-light .callout[data-callout="tip"],
.theme-light .callout[data-callout="hint"],
.theme-light .callout[data-callout="important"]             { --callout-color: 234, 157, 52; }   /* gold */
.theme-light .callout[data-callout="success"],
.theme-light .callout[data-callout="check"],
.theme-light .callout[data-callout="done"],
.theme-light .callout[data-callout="example"]               { --callout-color: 40, 105, 131; }   /* pine */
.theme-light .callout[data-callout="question"],
.theme-light .callout[data-callout="help"],
.theme-light .callout[data-callout="faq"]                   { --callout-color: 144, 122, 169; }  /* iris */
.theme-light .callout[data-callout="warning"],
.theme-light .callout[data-callout="caution"],
.theme-light .callout[data-callout="attention"]             { --callout-color: 215, 130, 126; }  /* rose */
.theme-light .callout[data-callout="failure"],
.theme-light .callout[data-callout="fail"],
.theme-light .callout[data-callout="missing"],
.theme-light .callout[data-callout="danger"],
.theme-light .callout[data-callout="error"],
.theme-light .callout[data-callout="bug"]                   { --callout-color: 180, 99, 122; }   /* love */
.theme-light .callout[data-callout="quote"],
.theme-light .callout[data-callout="cite"]                  { --callout-color: 121, 117, 147; }  /* subtle */

/* --- Per-type accents: DARK MODE — THE CANDLELIGHT GRADIENT (Peregrinita 2026-08-14)
   One smooth warm ramp, rose → terracotta → clay → amber → honey → parchment.
   Replaces the mixed set whose "deep gold" 185,128,47 read brownish-olive and
   whose uncovered types fell back to Obsidian's stock BLUE. The catch-all
   below guarantees no callout type can ever render cool again. */
.theme-dark .callout                                        { --callout-color: 184, 154, 123; }  /* CATCH-ALL: warm taupe — any unlisted type lands here, never blue */
.theme-dark .callout[data-callout="quote"]                  { --callout-color: 176, 122, 120; }  /* 1 · dusky rose — the jewel (hero rule below) */
.theme-dark .callout[data-callout="question"],
.theme-dark .callout[data-callout="help"],
.theme-dark .callout[data-callout="faq"]                    { --callout-color: 194, 140, 122; }  /* 2 · rose-clay — rose's neighbor */
.theme-dark .callout[data-callout="failure"],
.theme-dark .callout[data-callout="fail"],
.theme-dark .callout[data-callout="missing"],
.theme-dark .callout[data-callout="danger"],
.theme-dark .callout[data-callout="error"],
.theme-dark .callout[data-callout="bug"]                    { --callout-color: 184, 106, 74; }   /* 3 · terracotta — the ember */
.theme-dark .callout[data-callout="warning"],
.theme-dark .callout[data-callout="caution"],
.theme-dark .callout[data-callout="attention"]              { --callout-color: 201, 137, 66; }   /* 4 · bronze clay */
.theme-dark .callout[data-callout="tip"],
.theme-dark .callout[data-callout="hint"],
.theme-dark .callout[data-callout="important"]              { --callout-color: 217, 163, 95; }   /* 5 · candle amber — the site gold */
.theme-dark .callout[data-callout="success"],
.theme-dark .callout[data-callout="check"],
.theme-dark .callout[data-callout="done"],
.theme-dark .callout[data-callout="example"]                { --callout-color: 232, 190, 118; }  /* 6 · honey — olive "deep gold" retired */
.theme-dark .callout[data-callout="abstract"],
.theme-dark .callout[data-callout="summary"],
.theme-dark .callout[data-callout="tldr"],
.theme-dark .callout[data-callout="info"],
.theme-dark .callout[data-callout="todo"]                   { --callout-color: 214, 193, 160; }  /* 7 · parchment — the quiet end */
.theme-dark .callout[data-callout="note"],
.theme-dark .callout[data-callout="cite"]                   { --callout-color: 184, 154, 123; }  /* 8 · warm taupe — plainest of all */

/* --- HOME HERO QUOTE (dark) — added 2026-08-13 -----------------------------
   The [!quote] callout sits directly under the home banner and is the page's
   wow moment. Colour sampled from banner-01.png's mauve-rose wallpaper
   (#b07a78 = rgb 176,122,120 — same family as the site accent). Richer tint,
   firmer rose hairline and a soft rose halo lift it above the ordinary
   callout's 8%/35%, so it reads as the featured line, not a note box. */
.theme-dark .callout[data-callout="quote"] {
  background-color: rgba(176, 122, 120, 0.13);
  border-color: rgba(176, 122, 120, 0.45);
  box-shadow: 0 0 22px rgba(176, 122, 120, 0.14);
}
.theme-dark .callout[data-callout="quote"] .callout-title {
  color: #d9b7b2;                                   /* lifted dusky rose, legible on black */
  letter-spacing: 0.01em;
}
.theme-dark .callout[data-callout="quote"] .callout-icon { color: #c79a97; }

/* --- End of section --- */

/* Center the top logo in Publish (markdown + wiki embeds) */
.markdown-rendered img[alt="logo"],
.markdown-preview-view img[alt="logo"],
.image-embed[alt="logo"] img,
img[alt="logo"] {
  display: block;
  margin-inline: auto;
  height: auto;
  max-width: min(320px, 80vw);
}

/* Mobile fix for text-on-image */
@media (max-width: 600px) {
  .image-container .image-text-overlay {
    padding: 6px 4px;    /* lighter side padding on phones */
    max-width: 85%;      /* give the text a bit more width */
    line-height: 1.3;
    transform: translate(-58%, -50%);
  }
}

/* --- Pilgrim Guestbook --- */
.alp-guestbook-link {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 100;
  display: inline-flex;
  align-items: center;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--background-modifier-border);
  border-radius: 999px;
  background: var(--background-primary);
  box-shadow: 0 4px 18px rgb(0 0 0 / 14%);
  color: var(--text-normal);
  font-size: 0.85rem;
  text-decoration: none;
}

.alp-guestbook-link:hover,
.alp-guestbook-link:focus-visible {
  border-color: var(--interactive-accent);
  color: var(--interactive-accent);
}

.alp-guestbook-form {
  display: grid;
  gap: 1rem;
  margin: 2rem 0 3rem;
  padding: clamp(1rem, 4vw, 2rem);
  border: 1px solid var(--background-modifier-border);
  border-radius: 1rem;
  background: var(--background-secondary);
}

.alp-guestbook-form h2 {
  margin: 0;
}

.alp-guestbook-field {
  display: grid;
  gap: 0.4rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}

.alp-guestbook-field input,
.alp-guestbook-field textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem;
  border: 1px solid var(--background-modifier-border);
  border-radius: 0.5rem;
  background: var(--background-primary);
  color: var(--text-normal);
  font: inherit;
}

.alp-guestbook-field textarea {
  resize: vertical;
}

/* 2026-08-10 button skin (migration §1.4 / §2.9): gradient on the link amber,
   dark ink label in BOTH moods, tracked caps, glow by night / drop by day. */
.alp-guestbook-form button {
  justify-self: start;
  padding: 12px 14px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(160deg, #d9a35f, #a9752f);
  color: #150f08;
  box-shadow: 0 4px 14px rgba(160, 110, 40, .30);
  cursor: pointer;
  font: inherit;
  font-size: .74rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
}
.theme-dark .alp-guestbook-form button {
  box-shadow: 0 0 18px rgba(217, 163, 95, .28);
}
.alp-guestbook-form button:hover {
  filter: brightness(1.05);
}

.alp-guestbook-form button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.alp-guestbook-status {
  min-height: 1.5em;
  margin: 0;
  color: var(--text-accent);
}

.alp-guestbook-entries {
  display: grid;
  gap: 1rem;
}

.alp-guestbook-entry {
  padding: 1rem 1.1rem;
  border-left: 3px solid var(--interactive-accent);
  border-radius: 0 0.5rem 0.5rem 0;
  background: var(--background-secondary);
}

.alp-guestbook-entry p {
  margin-top: 0;
  white-space: pre-wrap;
}

.alp-guestbook-entry footer {
  color: var(--text-muted);
  font-size: 0.85rem;
}

@media (max-width: 600px) {
  .alp-guestbook-link {
    right: 0.65rem;
    bottom: 0.65rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.78rem;
  }
}

/* --- End Pilgrim Guestbook --- */

/* +++ NIGHT SKY (dark mode) — candlelit-walnut night, banner-warmed
   ***** WARNING TO AGENTS: THIS RULE OVERRIDES THE TOKEN LAYER. *****
   The `!important` below means --color-background-dark does NOT control the
   page ground — THIS does. On 2026-08-09 the tokens were converged to walnut
   while this rule still painted rosy-mauve, and the site published with walnut
   cards sitting on a mauve ground. If you change the dark background, change
   it HERE TOO or the change will not appear.

   ***** MAIN-SITE ONLY — DO NOT COPY THIS TO OTHER SURFACES. *****
   Ratified by Peregrinita 2026-08-09: the warm-sand/no-cool-tones palette rule is
   estate-wide, but this starry sky belongs to alittlepilgrim.org's own
   character. Other surfaces may not adopt it by default.

   Rewarmed 2026-08-09 from the original rosy-mauve (#261619 / #170f11 /
   #0f0a0b).

   RESHAPED 2026-08-10 per the Claude Design rulings (design/migration-2026-08-10.md §1.3):
   1. The ground is now the estate-wide CANDLE-GLOW treatment — deeper ramp
      (#1d1610 → #150f09 → #0c0805) + a drifting radial amber glow + a low
      under-warmth + 3.5% SVG noise (which kills gradient banding).
      The glow borrows Radio's TECHNIQUE, not Radio's gold.
   2. THE STARS ARE HOME-PAGE ONLY (ratified 2026-08-10): the two star layers
      are scoped to body.alp-home, a class publish.js adds on the home page.
      "The sky is that page's welcome, not a house texture."
   Star pattern, twinkle timings and the reduced-motion fallback unchanged.
   Superseded ramp archived: linear-gradient(180deg,#241b15 0%,#19130f 50%,#0e0a07 100%). */

/* WALNUT RESTORED 2026-08-14 (Peregrinita's ruling) — the 2026-08-13 charcoal
   experiment is closed. The neutral ground made the warm text tokens float;
   the gold-wall problem it tried to solve was already solved by cream links.
   Candlelit walnut ramp returns, estate re-converged with PilgrimLetters.
   Superseded charcoal ramp: linear-gradient(180deg,#1a1610 0%,#15120e 55%,#100c08 100%).
   Revert: git -C ~/Vaults/ALittlePilgrim checkout publish.css */
/* GROUND-LIFT TRIAL CLOSED 2026-08-17 (Peregrinita: "go back - definitely") —
   the one-step-lighter ramp (#271e15/#1f1710/#16100a) was tried and
   rejected the same day. The deep walnut ramp below is canon; the
   dense-page glare was fixed by the softened creams instead. */
body.theme-dark {
  background:
    linear-gradient(180deg, #1d1610 0%, #150f09 55%, #0c0805 100%) fixed !important;
}
/* Peregrinita's CHEAT SHEET - this is what actually paints the black/near-black background. Edit here to change the base dark background, not the token. - candle glow — a blurred amber halo drifting from the top-left.
   REGRADED 2026-08-10 after Peregrinita's real-screen look ("a dark line and then
   like a brown rainbow"): the under-warmth layer's 80%-height cutoff drew the
   line and the glow's radial stops banded into rings. Warmth layer REMOVED,
   glow softened (smaller alpha, longer falloff, heavier blur), noise raised
   to 5% and made full-bleed — the noise, not the eye, absorbs the banding. */
body.theme-dark::before {
  content: "";
  position: fixed;
  z-index: 0;
  pointer-events: none;
  width: 80vmax;
  height: 80vmax;
  top: -30vmax;
  left: -26vmax;
  /* Glow restored to warm-ground strength 2026-08-14 with the walnut ramp
     (charcoal-era damped values .06/.02, opacity .06 superseded). The heavy
     blur + long falloff from the 08-10 regrade stay — those are what fixed
     the "brown rainbow" banding, not the damping. */
  background: radial-gradient(circle, rgba(217,163,95,.12) 0%, rgba(217,163,95,.05) 40%, transparent 70%);
  filter: blur(60px);
  opacity: .12;
  animation: alp-glow-drift 70s ease-in-out infinite alternate;
}
/* 5% SVG noise over the whole ground — kills gradient banding */
body.theme-dark::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/></svg>");
  background-repeat: repeat;
  background-size: 140px 140px;
}
@keyframes alp-glow-drift {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(9vmax, 6vmax) scale(1.12); }
}
/* +++ THE STARS — home page only (body.alp-home set by publish.js) */
body.theme-dark.alp-home .published-container::before,
body.theme-dark.alp-home .published-container::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-repeat: repeat;
  background-size: 900px 700px;
}
body.theme-dark.alp-home .published-container::before {
  background-image:
    radial-gradient(1.4px 1.4px at 40px 60px,  #ffe9c4 50%, transparent 51%),
    radial-gradient(1px 1px     at 190px 320px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1.7px 1.7px at 320px 140px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1px 1px     at 480px 500px, #ffdfc4 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 620px 260px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1px 1px     at 780px 90px,  #f5d3c8 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 850px 610px, #ffe9c4 50%, transparent 51%);
  animation: alp-twinkle 5s ease-in-out infinite;
}
body.theme-dark.alp-home .published-container::after {
  background-image:
    radial-gradient(1px 1px     at 100px 480px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 250px 40px,  #f5d3c8 50%, transparent 51%),
    radial-gradient(1px 1px     at 400px 640px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 560px 380px, #ffdfc4 50%, transparent 51%),
    radial-gradient(1px 1px     at 700px 550px, #ffe9c4 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 830px 200px, #ffe9c4 50%, transparent 51%);
  animation: alp-twinkle 7s ease-in-out 2.5s infinite;
}
@keyframes alp-twinkle {
  0%, 100% { opacity: .15; }
  50%      { opacity: .8; }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-dark::before { animation: none; }
  body.theme-dark.alp-home .published-container::before,
  body.theme-dark.alp-home .published-container::after { animation: none; opacity: .4; }
}
/* let the sky show through, keep content above the stars */
.theme-dark .app-container,
.theme-dark .horizontal-main-container,
.theme-dark .workspace,
.theme-dark .published-container,
.theme-dark .site-body,
.theme-dark .markdown-preview-view,
.theme-dark .markdown-rendered {
  background: transparent !important;
}
.theme-dark .app-container,
.theme-dark .published-container {
  position: relative;
  z-index: 1;
}

/* +++ TYPE LADDER ROLES — Claude Design rulings 2026-08-10 (migration §1.2)
   Tracked caps at the TOP (overline), the hand at the BOTTOM (signature).
   Never swap them; never set the signature in tracked caps. */

/* Brand / site title — the EXACT H1 recipe, so the sidebar wordmark and the
   page-title wordmark are one voice (Peregrinita, 2026-08-10: "needs to match"). */
.site-body-left-column-site-name,
.published-container .site-name {
  font-family: var(--font-headings);
  font-weight: var(--h1-weight);
  color: var(--text-normal);
  line-height: 1.35;
}
/* The wordmark is an <a>, so the link rules were repainting it link-cream and
   it stopped matching the page H1 (Peregrinita caught it 2026-08-14). Force the
   link inside to heading cream in every state — one voice with the title. */
.theme-dark .site-body-left-column-site-name a,
.theme-dark .site-body-left-column-site-name a:visited,
.theme-dark .published-container .site-name a,
.theme-dark .published-container .site-name a:visited {
  color: var(--text-normal);
}

/* Overline — "A LITTLE PILGRIM" above a page title */
.alp-overline {
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}
.theme-light .alp-overline { color: var(--color-text-muted-light); }
.theme-dark  .alp-overline { color: #d6c1a0; }

/* Lede — one italic line, then stop */
.alp-lede {
  font-style: italic;
  line-height: 1.6;
}
.theme-dark .alp-lede { color: #d8c8a6; }

/* Signature — Beth Ellen, small, 70%, links home. */
.alp-signature {
  font-family: var(--font-headings);
  font-size: .76rem;
  opacity: .7;
  line-height: 1.35;
}
.alp-signature a { text-decoration: none; }

/* The "Published with Obsidian Publish" credit overlapped the guestbook
   button — removed at Peregrinita's instruction, 2026-08-10. */
.site-footer,
.published-container .publish-footer {
  display: none !important;
}

/* --- SIDEBARS SPEAK THE SAME CREAM (Peregrinita, 2026-08-14) ---------------------
   The explorer and "On this page" trees are NOT painted by the link rules —
   Publish draws them with its own nav/tree variables (muted tan fallbacks),
   so the sides sat in a different cream than the content. And the two sides
   disagreed about "you are here": explorer underlined it, outline turned it
   gold. Unified: every tree item is the ONE link cream; the active item is
   the gold lamp, no underline, on both sides. */
.theme-dark .published-container .tree-item-self,
.theme-dark .published-container .tree-item-self .tree-item-inner,
.theme-dark .published-container .nav-file-title,
.theme-dark .published-container .nav-folder-title,
.theme-dark .published-container .outline .tree-item-self {
  color: #ddccab;   /* softened with the ONE link cream 2026-08-17 (was #f0e5cd) */
  text-decoration: none;
}
.theme-dark .published-container .tree-item-self.is-active,
.theme-dark .published-container .tree-item-self.mod-active,
.theme-dark .published-container .tree-item-self.is-active .tree-item-inner,
.theme-dark .published-container .tree-item-self.mod-active .tree-item-inner {
  color: var(--color-gold-dark);
  text-decoration: none;
}

/* The left nav stays flat — the glow and the sky never run behind it
   (ruled 2026-08-10; the sidebar is deliberately NOT in the transparency list above).
   MATCHED TO THE GROUND 2026-08-13 (Peregrinita): the nav was reading a lighter charcoal
   than the page and looked like a seam. Paint both side columns the same warm
   near-black as the ground — FLAT, not transparent, so this still honours the
   "no sky/glow behind the nav" rule while removing the two-tone split. */
.theme-dark .site-body-left-column,
.theme-dark .site-body-right-column,
.theme-dark .site-body-left-column-inner,
.theme-dark .site-body-right-column-inner {
  background: var(--background-primary) !important;   /* = deep walnut #19130f */
}
