/* RLQuantOpt docs: a quiet, paper-like look. */
:root {
  --rlq-accent: #2b4c7e;
  --rlq-accent-soft: #e8eef7;
  --rlq-ink: #1f2328;
  --md-primary-fg-color: #1f3a5f;
  --md-primary-fg-color--light: #2b4c7e;
  --md-primary-fg-color--dark: #16283f;
  --md-accent-fg-color: #b5651d;
  --md-typeset-a-color: #2b4c7e;
}
[data-md-color-scheme="slate"] {
  --rlq-accent-soft: #1d2735;
  --md-typeset-a-color: #8fb3e8;
  --md-accent-fg-color: #e0a15c;
}

/* Typography */
.md-typeset { font-size: 0.86rem; line-height: 1.72; }
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: "Source Serif 4", Georgia, serif;
  letter-spacing: -0.01em;
  color: var(--md-typeset-color);
}
.md-typeset h1 { font-weight: 600; font-size: 2.1em; margin-bottom: 0.6em; }
.md-typeset h2 {
  font-weight: 600; margin-top: 2.2em; padding-bottom: 0.25em;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.md-typeset h3 { font-weight: 600; font-style: italic; }
.md-typeset code { font-size: 0.82em; }

/* Hero on the home page */
.hero {
  margin: -0.4rem 0 1.6rem;
  padding: 2.2rem 2rem 1.6rem;
  border-radius: 10px;
  background: linear-gradient(135deg, #16283f 0%, #2b4c7e 60%, #3f6aa6 100%);
  color: #f5f7fb;
}
.hero h1 { color: #fff !important; margin: 0 0 0.3em; font-size: 2.6em; }
.hero p { color: #dfe7f3; font-size: 1.05em; max-width: 42em; }
.hero .md-button { color: #fff; border-color: rgba(255,255,255,0.6); margin: 0.3em 0.4em 0.3em 0; }
.hero .md-button--primary { background: #b5651d; border-color: #b5651d; }
.hero .md-button:hover { background: rgba(255,255,255,0.15); border-color: #fff; }

/* Layout: a wider page, so that figures get room */
.md-grid { max-width: 1800px; }

/* Figures: click to enlarge (glightbox); a hint on hover */
.md-typeset figure { margin: 1.6em auto; }
.md-typeset a.glightbox { cursor: zoom-in; display: block; }
.md-typeset a.glightbox img { transition: box-shadow 0.15s; }
.md-typeset a.glightbox:hover img { box-shadow: 0 2px 14px rgba(0,0,0,0.28); }
/* Panels of a split figure: stacked, each at a readable size */
.md-typeset .panels { display: flex; flex-direction: column; align-items: center; gap: 1.4em; margin: 1.4em 0; }
.md-typeset .panels img { width: 100%; max-width: 900px; }
.md-typeset .panels p { margin: 0; width: 100%; text-align: center; }
.md-typeset figure img, .md-typeset p > img {
  border-radius: 6px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.12);
  background: #fff;
}
.md-typeset figcaption {
  font-size: 0.78em; line-height: 1.5; color: var(--md-default-fg-color--light);
  max-width: 38em; margin: 0.6em auto 0;
}

/* Tables */
.md-typeset table:not([class]) { font-size: 0.78rem; border-radius: 6px; }
.md-typeset table:not([class]) th {
  background: var(--rlq-accent-soft); font-weight: 600;
}

/* Admonitions and banner */
.md-typeset .admonition, .md-typeset details { border-width: 0 0 0 3px; font-size: 0.8rem; }
.md-banner { background: #b5651d; }
.md-banner a { color: #fff; text-decoration: underline; }

/* Cards for "at a glance" blocks */
.md-typeset .grid.cards > ul > li { border-radius: 8px; }

/* Home page: 2 x 2 cards, no edit button over the hero */
.md-typeset .grid.cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
article:has(.hero) > .md-content__button { display: none; }


/* Idea status stamps (Working ideas): active, concluded, archived */
.md-typeset .stamp {
  display: inline-block; margin: 0 0.4em 0.2em 0; padding: 0.05em 0.55em;
  border: 2px solid currentColor; border-radius: 4px;
  font-family: "JetBrains Mono", monospace; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.6;
  transform: rotate(-2deg); opacity: 0.9; white-space: nowrap;
}
.md-typeset td .stamp { font-size: 0.6rem; margin: 0; transform: none; }
.md-typeset .stamp--active { color: #1a7f37; }
.md-typeset .stamp--concluded { color: #2b4c7e; }
.md-typeset .stamp--archived { color: #6e7781; border-style: dashed; }
[data-md-color-scheme="slate"] .md-typeset .stamp--active { color: #4ac26b; }
[data-md-color-scheme="slate"] .md-typeset .stamp--concluded { color: #8fb3e8; }
[data-md-color-scheme="slate"] .md-typeset .stamp--archived { color: #9ea7b3; }
