/* ==============================
   Baseline-inspired site styling
   ============================== */
:root, .theme-light {
  --font-text-theme: Iwona, "NewComputerModern08", "Latin Modern Roman 10", Inter, serif;
  --font-interface-theme: Inter, Iwona, sans-serif;
  --background-primary: #ffffff;
  --background-secondary: #f5f5f5;
  --text-normal: #0f0f0f;
  --text-muted: #757575;
  --background-modifier-border: #e6e6e6;
  --text-accent: #356bd1;
  --link-color: #356bd1;
  --file-line-width: 70rem;
}
.theme-dark {
  --background-primary: #262626;
  --background-secondary: #212121;
  --text-normal: #d4d4d4;
  --text-muted: #999999;
  --background-modifier-border: #363636;
  --text-accent: #8ab0ff;
  --link-color: #8ab0ff;
}
body { font-family: var(--font-text-theme); }
.published-container .markdown-preview-view,
.published-container .markdown-rendered { color: var(--text-normal); }
.published-container .markdown-preview-sizer { max-width: min(100% - 2rem, var(--file-line-width)); }
.published-container h1, .published-container h2, .published-container h3 {
  font-family: Iwona, Inter, serif;
  line-height: 1.22;
  letter-spacing: -0.015em;
}
.published-container h1 { font-weight: 900; }
.published-container .markdown-preview-sizer h1.page-header {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  margin-block: 0.5rem 0.75rem;
}
.published-container a { color: var(--link-color); }
.published-container blockquote { border-left-color: var(--background-modifier-border); }
.published-container pre, .published-container code { border-radius: 6px; }
.published-container table { margin-top: 0; }
.published-container th, .published-container td { border-color: var(--background-modifier-border); }

/* ==============================
   Callouts
   ============================== */
.published-container .callout {
  --publish-callout-padding: 0.5rem;
  border: 1px solid rgba(var(--callout-color), 0.4);
  border-radius: var(--callout-radius, 8px);
  background: color-mix(in srgb, var(--background-secondary) 40%, transparent);
  padding: 0;
}
.published-container .callout-title {
  padding: var(--publish-callout-padding);
  background: rgba(var(--callout-color), 0.1);
}
.published-container .callout-title-inner { font-weight: 500; }
.published-container .callout-content { padding: 0.5rem 0.75rem 0.65rem; }

/* ==============================
   Image positioning
   ============================== */
.published-container img { max-width: 100%; height: auto; }
.published-container {
  --image-micro: 70px; --image-tiny: 100px; --image-small: 200px;
  --image-small-med: 300px; --image-med-small: 400px;
  --image-medium: 500px; --image-med-tall: 600px; --image-tall: 700px;
}
.published-container img[alt*="wmicro"] { width: var(--image-micro); }
.published-container img[alt*="wtiny"] { width: var(--image-tiny); }
.published-container img[alt*="wsmall"] { width: var(--image-small); }
.published-container img[alt*="ws-med"] { width: var(--image-small-med); }
.published-container img[alt*="wm-sm"] { width: var(--image-med-small); }
.published-container img[alt*="wmed"] { width: var(--image-medium); }
.published-container img[alt*="wm-tl"] { width: var(--image-med-tall); }
.published-container img[alt*="wtall"] { width: var(--image-tall); }
.published-container img[alt*="wfull"] { width: 100%; }
.published-container img[alt*="hmicro"] { height: var(--image-micro); }
.published-container img[alt*="htiny"] { height: var(--image-tiny); }
.published-container img[alt*="hsmall"] { height: var(--image-small); }
.published-container img[alt*="hs-med"] { height: var(--image-small-med); }
.published-container img[alt*="hm-sm"] { height: var(--image-med-small); }
.published-container img[alt*="hmed"] { height: var(--image-medium); }
.published-container img[alt*="hm-tl"] { height: var(--image-med-tall); }
.published-container img[alt*="htall"] { height: var(--image-tall); }
.published-container img:is([alt*="ctr"], [alt*="center"]),
.published-container .image-embed:is([alt*="ctr"], [alt*="center"]) img {
  display: block;
  margin-inline: auto;
}
.published-container :is(img, .image-embed):is([alt*="left"], [alt*="locl"], [src*="#left"], [src*="#locl"]) {
  float: left;
  margin: 0 2% 0.6rem 0;
}
.published-container :is(img, .image-embed):is([alt*="right"], [alt*="locr"], [src*="#right"], [src*="#locr"]) {
  float: right;
  margin: 0 0 0.6rem 2%;
}
.published-container :is(img, .image-embed):is([alt*="clear"], [src*="#clear"]) { clear: both; }
.published-container img:is([alt*="cover"], [alt*="cvr"]) { object-fit: cover; }
.theme-dark .published-container img[alt*="invertb"],
.theme-light .published-container img[alt*="invertw"] { filter: invert(1) hue-rotate(180deg); }
.theme-dark .published-container img[alt*="invertbc"] { filter: invert(1) hue-rotate(180deg) contrast(1.5); }
.theme-light .published-container img[alt*="invertwc"] { filter: invert(1) hue-rotate(180deg) contrast(1.45); }
.published-container img:is([alt*="flip-x"], [alt*="flip-horizontal"]) { transform: scale(-1, 1); }
.published-container img:is([alt*="flip-y"], [alt*="flip-vertical"]) { transform: scale(1, -1); }
.published-container img:is([alt*="flip-xy"], [alt*="flip-vertical-horizontal"]) { transform: scale(-1, -1); }
.published-container img[alt*="circle"], .published-container img[alt*="profile"] { border-radius: 50%; }
.published-container img[alt*="square"] { border-radius: 0; }
.published-container img[alt*="portrait"] { object-fit: cover; }
.published-container img[alt*="banner"] { display: block; width: 100%; object-fit: cover; clear: both; }
.published-container img[alt*="border"] { border: 1px solid var(--background-modifier-border); padding: 8px; }
@media (max-width: 600px) {
  .published-container { --image-small: 150px; --image-small-med: 200px; --image-med-small: 250px; --image-medium: 300px; --image-med-tall: 450px; --image-tall: 500px; }
  .published-container :is(img, .image-embed):is([alt*="left"], [alt*="locl"], [alt*="right"], [alt*="locr"], [src*="#left"], [src*="#locl"], [src*="#right"], [src*="#locr"]) {
    float: none;
    display: block;
    max-width: 100%;
    margin: 0.5rem auto;
  }
}

/* ==============================
   Folder/index pages
   ============================== */
.published-container .callout[data-callout="publish-index"] {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin-block: 1rem;
}
.published-container .callout[data-callout="publish-index"] > .callout-title { display: none; }
.published-container .callout[data-callout="publish-index"] > .callout-content { padding: 0; }
.published-container .callout[data-callout="publish-index"] h2 {
  font: 600 0.95rem var(--font-interface-theme);
  color: var(--text-muted);
  margin: 1.25rem 0 0.35rem;
}
.published-container .callout[data-callout="publish-index"] ul {
  margin: 0;
  padding-left: 1.2rem;
}
.published-container .callout[data-callout="publish-index"] li {
  margin: 0;
  padding: 0.16rem 0;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.published-container .callout[data-callout="publish-index"] li::marker { color: var(--text-muted); }
.published-container .callout[data-callout="publish-index"] li { color: var(--text-muted); }
.published-container .callout[data-callout="publish-index"] li a { color: var(--link-color); }
/* Folder Notes keep their Markdown dividers in the desktop vault. */
.published-container .markdown-rendered:has(.callout[data-callout="publish-index"]) .el-hr {
  display: none;
}
/* Bases run in the desktop app only. Keep their raw fenced code out of Publish. */
.published-container pre:has(> code.language-base),
.published-container pre:has(code[class*="language-base"]) { display: none; }

/* Applied only when publish.js runs on a custom-domain Publish site. */
.published-container .nav-view-outer .tree-item:not(.publish-folder-open)
  > .tree-item-self.mod-collapsible + .tree-item-children {
  display: none;
}
.published-container .publish-folder-note-nav-entry { display: none; }
.published-container .publish-folder-note-link {
  display: block;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.published-container .publish-folder-note-link:hover { color: var(--text-accent); }
.published-container .publish-folder-note-link:focus-visible {
  outline: 2px solid var(--text-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
.published-container .publish-pdf-nav-entry .tree-item-inner a {
  display: block;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.published-container .publish-pdf-nav-entry .tree-item-inner a:hover { color: var(--text-accent); }

/* ==============================
   Other active snippets
   ============================== */
/* The desktop table snippet's reading-view rule is useful on Publish; its
   Live Preview rule and Hearth, Canvas, and graph controls target app UI only. */
.published-container .markdown-rendered p { margin-bottom: 0.75em; }
