
:root{
  --font-text-size:16px; --font-text:"Space Grotesk",ui-serif,Georgia,serif;
  --font-interface:-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-monospace:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --line-height-normal:1.5; --file-line-width:42rem;
  --p-spacing:1rem; --h1-size:1.9em; --h2-size:1.55em; --h3-size:1.3em;
  --h4-size:1.1em; --h5-size:.95em; --h6-size:.9em;
  --radius-m:8px; --radius-l:12px;
  /* fallbacks so the page is never unstyled if the theme fails to load */
  --background-primary:#fff; --background-secondary:#f6f7f9;
  --background-modifier-border:#e5e7eb;
  --text-normal:#222; --text-muted:#6b7280; --text-faint:#9ca3af;
  --text-accent:#5c7bf5; --link-color:#5c7bf5; --link-color-hover:#5c7bf5;
  --interactive-accent:#5c7bf5; --text-on-accent:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background-color:var(--background-primary)}
body{margin:0;background-color:var(--background-primary);color:var(--text-normal);
  font-family:var(--font-text);font-size:var(--font-text-size);line-height:var(--line-height-normal)}

/* reading-view layout (mirror of Obsidian's container chain) */
.app-container,.markdown-reading-view,.markdown-preview-view{background-color:var(--background-primary)}
.app-container{display:block}
.markdown-preview-view{padding:0 1.2rem 6rem}
.markdown-preview-sizer{max-width:var(--file-line-width);margin:0 auto;padding-top:1.5rem}

/* base typography for rendered markdown (theme overrides colors) */
.markdown-rendered h1{font-size:var(--h1-size)} .markdown-rendered h2{font-size:var(--h2-size)}
.markdown-rendered h3{font-size:var(--h3-size)} .markdown-rendered h4{font-size:var(--h4-size)}
.markdown-rendered h5{font-size:var(--h5-size)} .markdown-rendered h6{font-size:var(--h6-size)}
.markdown-rendered h1,.markdown-rendered h2,.markdown-rendered h3,
.markdown-rendered h4,.markdown-rendered h5,.markdown-rendered h6{line-height:1.25;margin:1.4em 0 .5em;font-weight:700}
.markdown-rendered p{margin:0 0 var(--p-spacing)}
.markdown-rendered ul,.markdown-rendered ol{margin:0 0 var(--p-spacing);padding-left:1.6em}
.markdown-rendered li{margin:.2em 0}
.markdown-rendered hr{border:none;border-top:1px solid var(--background-modifier-border);margin:1.8em 0}
.markdown-rendered img.embed{max-width:100%;height:auto;border-radius:var(--radius-m)}
.markdown-rendered .embed-missing{color:var(--text-faint);font-family:var(--font-interface);font-size:.85em}

/* links — let the theme color them; we provide structure */
.markdown-rendered a{color:var(--link-color);text-decoration:none}
.markdown-rendered a:hover{text-decoration:underline}
.markdown-rendered .internal-link{color:var(--link-color);cursor:pointer}
.markdown-rendered .internal-link.is-unresolved{color:var(--text-muted);opacity:.7;text-decoration:underline dotted}
.markdown-rendered sup a{text-decoration:none}

/* tables */
.markdown-rendered table{border-collapse:collapse;width:100%;font-family:var(--font-interface);
  font-size:.86em;margin:1rem 0;display:block;overflow-x:auto}
.markdown-rendered th,.markdown-rendered td{border:1px solid var(--background-modifier-border);
  padding:.45rem .6rem;vertical-align:top;text-align:left}
.markdown-rendered th{background:var(--background-secondary)}

/* code */
.markdown-rendered pre{background:var(--background-secondary);padding:1rem;border-radius:var(--radius-m);
  overflow:auto;font-family:var(--font-monospace);font-size:.85em}
.markdown-rendered code{font-family:var(--font-monospace);font-size:.9em}
.markdown-rendered pre.mermaid{background:transparent;padding:0;text-align:center}

/* blockquote (theme also styles this) */
.markdown-rendered blockquote{margin:1rem 0;padding:.2rem 1rem;
  border-left:3px solid var(--interactive-accent)}

/* callouts (theme restyles via .callout / [data-callout]; this is the base structure) */
.markdown-rendered .callout{margin:1em 0;padding:.75em 1em;border-radius:var(--radius-m);
  background-color:var(--background-secondary);border:1px solid var(--background-modifier-border);
  border-left:4px solid var(--callout-color,var(--interactive-accent));overflow:hidden}
.markdown-rendered .callout-title{display:flex;align-items:center;gap:.4em;font-weight:700;
  font-family:var(--font-interface);margin-bottom:.35em}
.markdown-rendered .callout-content > :last-child{margin-bottom:0}

/* hover popover base (theme styles .popover.hover-popover) */
.popover.hover-popover{position:fixed;z-index:50;max-width:34rem;max-height:24rem;overflow:auto;
  background:var(--background-primary);border:1px solid var(--background-modifier-border);
  border-radius:var(--radius-l);box-shadow:0 16px 44px rgba(0,0,0,.22);padding:.4rem 1.1rem}
.popover.hover-popover .markdown-preview-sizer{padding-top:.4rem;max-width:none}
.popover.hover-popover .markdown-preview-view{padding:.2rem .2rem 1rem}
