/* ============================================================
   Michael Ross — notes.ross-michael.com
   publish.css 261029 — approved by Michael 29/10
   (previous version: publish.css.bak-261029)
   Palette: "04 · טורקיז וטרקוטה" from his Banias design pack
   (Codex 2026-10-28 design-preview, משבצות ואבן).
   Type: Frank Ruhl Libre (body + headings, Hebrew+Latin),
         Assistant (navigation/UI, Hebrew+Latin),
         IBM Plex Mono (small meta accents only).
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300..900&family=Assistant:wght@300..700&family=IBM+Plex+Mono:wght@400;500&display=swap");

/* ---------- tokens ---------- */
body {
  --mr-paper:      #f9f3e9;   /* warm notebook paper */
  --mr-paper-2:    #fffdfa;
  --mr-ink:        #273c3a;   /* deep green-graphite ink */
  --mr-ink-soft:   #476562;
  --mr-accent:     #006e70;   /* turquoise */
  --mr-warm:       #dc9377;   /* terracotta */
  --mr-rule:       #abc4be;
  --mr-grid:       rgba(0, 110, 112, 0.075);
  --mr-grid-major: rgba(0, 110, 112, 0.11);
  --mr-cell: 24px;

  --font-text-theme: "Frank Ruhl Libre", "David Libre", Georgia, serif;
  --font-interface-theme: "Assistant", "Segoe UI", system-ui, sans-serif;
  --font-monospace-theme: "IBM Plex Mono", ui-monospace, monospace;
  --font-text-size: 19px;
  --line-height-normal: 1.72;
  --file-line-width: 42rem;
}
.theme-dark {
  --mr-paper:      #17211f;
  --mr-paper-2:    #1c2826;
  --mr-ink:        #e9e2d4;
  --mr-ink-soft:   #a9bab5;
  --mr-accent:     #5fc2bd;
  --mr-warm:       #e3a68c;
  --mr-rule:       #33504b;
  --mr-grid:       rgba(95, 194, 189, 0.06);
  --mr-grid-major: rgba(95, 194, 189, 0.11);
}
.theme-light, .theme-dark {
  --background-primary:   var(--mr-paper);
  --background-secondary: var(--mr-paper);
  --text-normal:  var(--mr-ink);
  --text-muted:   var(--mr-ink-soft);
  --text-accent:  var(--mr-accent);
  --text-accent-hover: var(--mr-warm);
  --link-color:   var(--mr-accent);
  --link-color-hover: var(--mr-warm);
  --link-external-color: var(--mr-accent);
  --interactive-accent: var(--mr-accent);
  --background-modifier-border: var(--mr-rule);
  --h1-font: "Frank Ruhl Libre", Georgia, serif;
  --h2-font: "Frank Ruhl Libre", Georgia, serif;
  --h3-font: "Frank Ruhl Libre", Georgia, serif;
}

/* ---------- graph paper (דף משבצות) ---------- */
body, .published-container { background-color: var(--mr-paper); }
.site-body, .site-body-center-column, .site-body-right-column,
.markdown-preview-view { background: transparent !important; }
.published-container {
  background-image:
    linear-gradient(var(--mr-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--mr-grid-major) 1px, transparent 1px),
    linear-gradient(var(--mr-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--mr-grid) 1px, transparent 1px);
  background-size:
    calc(var(--mr-cell) * 5) calc(var(--mr-cell) * 5),
    calc(var(--mr-cell) * 5) calc(var(--mr-cell) * 5),
    var(--mr-cell) var(--mr-cell),
    var(--mr-cell) var(--mr-cell);
  background-attachment: fixed;
}
/* the reading column sits on a calmer sheet so text never fights the grid */
.markdown-preview-view .markdown-preview-sizer,
.markdown-rendered .markdown-preview-sizer {
  background: color-mix(in srgb, var(--mr-paper-2) 88%, transparent);
  border-inline-start: 2px solid var(--mr-warm);   /* notebook margin line */
  padding: 2.5rem 2.75rem 4rem !important;
  box-shadow: 0 1px 0 var(--mr-rule);
}

/* ---------- typography ---------- */
.markdown-rendered {
  font-family: var(--font-text-theme);
  color: var(--mr-ink);
  font-feature-settings: "kern", "liga";
}
.markdown-rendered h1, .page-header {
  font-family: var(--h1-font);
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: -0.015em;
  line-height: 1.15;
}
.markdown-rendered h2 { font-weight: 500; font-size: 1.7rem; margin-top: 2.2em; }
.markdown-rendered h3 { font-weight: 600; font-size: 1.25rem; }
.markdown-rendered h2::before {
  content: "§";
  font-family: var(--font-monospace-theme);
  color: var(--mr-warm);
  font-size: .8em;
  margin-inline-end: .45em;
}
.markdown-rendered a.internal-link {
  text-decoration: none;
  background-image: linear-gradient(var(--mr-warm), var(--mr-warm));
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
}
.markdown-rendered a.internal-link:hover { background-size: 100% 2px; color: var(--mr-warm); }
.markdown-rendered blockquote {
  border-inline-start: 3px solid var(--mr-accent);
  border-inline-end: none;
  font-style: normal;
  color: var(--mr-ink-soft);
}
.markdown-rendered code, .frontmatter-container, .metadata-container, time {
  font-family: var(--font-monospace-theme);
  font-size: .82em;
}

/* ---------- sidebar = PARA index card ---------- */
.site-body-left-column {
  background: color-mix(in srgb, var(--mr-paper) 92%, transparent);
  border-inline-end: 1px solid var(--mr-rule);
  font-family: var(--font-interface-theme);
}
.site-body-left-column-site-name {
  font-family: "Frank Ruhl Libre", Georgia, serif;
  font-weight: 600;
  font-size: 1.35rem;
  letter-spacing: .01em;
}
/* belt and braces: never show a big image logo in the sidebar (favicon only) */
.site-body-left-column-site-logo { display: none !important; }

.nav-view-outer .tree-item-self {
  font-family: var(--font-interface-theme);
  font-size: 15px;
  border-radius: 0;
  border-inline-start: 2px solid transparent;
}
.nav-view-outer .tree-item-self:hover {
  background: transparent;
  border-inline-start-color: var(--mr-warm);
  color: var(--mr-ink);
}
.nav-view-outer .tree-item-self.mod-active {
  background: var(--mr-grid-major);
  border-inline-start-color: var(--mr-accent);
  color: var(--mr-ink);
}
/* top-level folders (language) read like section tabs */
.nav-view-outer > .tree-item > .tree-item-self,
.nav-view-outer .nav-view > .tree-item > .tree-item-self {
  font-family: var(--font-monospace-theme);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--mr-ink-soft);
}
.nav-view-outer .tree-item-inner { unicode-bidi: plaintext; }
/* Hebrew folders in the menu read right-to-left */
.nav-view-outer .tree-item-self[data-path^="עברית"] { direction: rtl; text-align: right; }

/* ---------- RTL for Hebrew pages (frontmatter: cssclasses: rtl) ---------- */
.markdown-preview-view.rtl,
.markdown-rendered.rtl,
.rtl .markdown-preview-sizer { direction: rtl; text-align: right; }
.rtl ul, .rtl ol { padding-right: 1.6em; padding-left: 0; }
.rtl .markdown-rendered h1, .rtl h1, .rtl .page-header { letter-spacing: 0; }
.rtl .markdown-rendered h2::before, .rtl h2::before { content: "§"; }

/* ---------- small screens ---------- */
@media (max-width: 750px) {
  .markdown-preview-view .markdown-preview-sizer { padding: 1.5rem 1.25rem 3rem !important; }
  body { --font-text-size: 18px; }
}
