/* CPRa components use the shared palette copied from main/brand/dist/palette.css. */
@font-face {
  font-family: "Roboto Slab";
  src: url("../fonts/RobotoSlab-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root, [data-md-color-scheme="default"], [data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--cpra-surface);
  --md-primary-fg-color--light: var(--cpra-inset);
  --md-primary-fg-color--dark: var(--cpra-canvas);
  --md-primary-bg-color: var(--cpra-text);
  --md-primary-bg-color--light: var(--cpra-secondary);
  --md-accent-fg-color: var(--cpra-accent);
  --md-accent-fg-color--transparent: var(--cpra-inset);
  --md-accent-bg-color: var(--cpra-surface);
  --md-accent-bg-color--light: var(--cpra-secondary);
  --md-default-bg-color: var(--cpra-canvas);
  --md-default-bg-color--light: var(--cpra-surface);
  --md-default-bg-color--lighter: var(--cpra-inset);
  --md-default-bg-color--lightest: var(--cpra-inset);
  --md-default-fg-color: var(--cpra-text);
  --md-default-fg-color--light: var(--cpra-secondary);
  --md-default-fg-color--lighter: var(--cpra-muted);
  --md-default-fg-color--lightest: var(--cpra-border);
  --md-typeset-a-color: var(--cpra-accent);
  --md-typeset-color: var(--cpra-text);
  --md-typeset-table-color: var(--cpra-border);
  --md-typeset-table-color--light: var(--cpra-inset);
  --md-code-bg-color: var(--cpra-inset);
  --md-code-fg-color: var(--cpra-text);
  --md-code-hl-color: var(--cpra-border);
  --md-code-hl-color--light: var(--cpra-inset);
  --md-code-hl-number-color: var(--cpra-info);
  --md-code-hl-special-color: var(--cpra-danger);
  --md-code-hl-function-color: var(--cpra-accent);
  --md-code-hl-constant-color: var(--cpra-info);
  --md-code-hl-keyword-color: var(--cpra-danger);
  --md-code-hl-string-color: var(--cpra-success);
  --md-code-hl-name-color: var(--cpra-text);
  --md-code-hl-operator-color: var(--cpra-secondary);
  --md-code-hl-punctuation-color: var(--cpra-secondary);
  --md-code-hl-comment-color: var(--cpra-muted);
  --md-code-hl-generic-color: var(--cpra-secondary);
  --md-code-hl-variable-color: var(--cpra-text);
  --md-footer-bg-color: var(--cpra-surface);
  --md-footer-bg-color--dark: var(--cpra-inset);
  --md-footer-fg-color: var(--cpra-text);
  --md-footer-fg-color--light: var(--cpra-secondary);
  --md-footer-fg-color--lighter: var(--cpra-muted);
  --md-admonition-bg-color: var(--cpra-inset);
  --md-admonition-fg-color: var(--cpra-text);
  --md-text-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: ui-monospace, SFMono-Regular, Consolas, monospace;
  color-scheme: light;
}
[data-md-color-scheme="slate"] { color-scheme: dark; }
.md-header, .md-tabs { box-shadow: none; border-bottom: 1px solid var(--cpra-border); }
.md-tabs__link { opacity: 1; color: var(--cpra-secondary); }
.md-tabs__item--active .md-tabs__link { color: var(--cpra-text); border-bottom: 2px solid var(--cpra-accent); }
.md-banner { background: var(--cpra-inset); color: var(--cpra-secondary); }
.md-banner a { color: var(--cpra-accent); text-decoration: underline; }
.md-header__button.md-logo img { width: 1.9rem; height: 1.9rem; }
[data-md-color-scheme="default"] img.cpra-logo-dark, [data-md-color-scheme="slate"] img.cpra-logo-light { display: none; }
.md-content { background: var(--cpra-surface); border: 1px solid var(--cpra-border); border-radius: .45rem; }
.md-content__inner { padding: .6rem 1.2rem 1.2rem; }
.md-sidebar__scrollwrap { background: var(--cpra-surface); border-radius: .3rem; }
.md-nav__link--active { color: var(--cpra-text); background: var(--cpra-inset); border-left: 3px solid var(--cpra-accent); padding-left: .4rem; }
.md-nav--primary .md-nav__title, .md-nav--primary .md-nav__title[for="__drawer"] { background: var(--cpra-surface); color: var(--cpra-text); box-shadow: none; }
.md-search__form { background: var(--cpra-inset); color: var(--cpra-text); border: 1px solid var(--cpra-control); }
.md-search__input { color: var(--cpra-text); }
.md-search__input::placeholder { color: var(--cpra-muted); }
.md-search__icon, .md-search__input + .md-search__icon { color: var(--cpra-secondary); }
.md-search__output, .md-search-result { background: var(--cpra-surface); color: var(--cpra-text); }
.md-search-result__meta { background: var(--cpra-inset); color: var(--cpra-secondary); }
.md-search-result__link:is(:hover, :focus) { background: var(--cpra-inset); }
.md-search-result mark { background: var(--cpra-inset); color: var(--cpra-accent); }
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-family: "Roboto Slab", Georgia, serif; color: var(--cpra-text); }
.md-typeset h1 { font-weight: 700; letter-spacing: -.035em; }
.md-typeset h2 { font-weight: 700; letter-spacing: -.015em; }
.md-typeset a { text-decoration: underline; text-underline-offset: .2em; }
.md-typeset .md-button { background: var(--cpra-surface); color: var(--cpra-accent); border-color: var(--cpra-control); border-radius: .3rem; margin: .25rem .25rem .5rem 0; text-decoration: none; }
.md-typeset .md-button--primary { background: var(--cpra-gold); border-color: var(--cpra-accent); color: var(--cpra-on-gold); }
.md-typeset .md-button:is(:hover, :focus-visible) { background: var(--cpra-inset); border-color: var(--cpra-accent); color: var(--cpra-accent); }
.md-typeset .md-button--primary:is(:hover, :focus-visible) { background: var(--cpra-gold); color: var(--cpra-on-gold); outline: 1px solid var(--cpra-accent); }
.md-typeset .grid.cards > ul > li { border-color: var(--cpra-border); border-radius: .45rem; background: var(--cpra-surface); }
.md-typeset table:not([class]) { background: var(--cpra-surface); font-size: .72rem; }
.md-typeset pre > code { font-size: .7rem; }
.md-typeset .admonition, .md-typeset details { --cpra-callout: var(--cpra-info); background: var(--cpra-inset); border-color: var(--cpra-callout); box-shadow: none; }
.md-typeset :is(.warning, .caution, .attention) { --cpra-callout: var(--cpra-warning); }
.md-typeset :is(.danger, .failure, .error, .bug) { --cpra-callout: var(--cpra-danger); }
.md-typeset :is(.success, .check, .done, .tip, .hint) { --cpra-callout: var(--cpra-success); }
.md-typeset :is(.admonition, details) > :is(.admonition-title, summary) { background: var(--cpra-inset); color: var(--cpra-text); }
.md-typeset :is(.admonition, details) > :is(.admonition-title, summary)::before { background-color: var(--cpra-callout); }
.md-tooltip__inner, .md-top { background: var(--cpra-surface); color: var(--cpra-text); border: 1px solid var(--cpra-border); }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 2px solid var(--cpra-accent); outline-offset: 3px; }
.cpra-hero { margin: .5rem 0 1.75rem; }
.cpra-hero img { display: block; width: min(23.2rem, 100%); height: auto; }
.md-typeset .cpra-hero h1 { font-size: clamp(1.35rem, 3vw, 1.65rem); letter-spacing: -.02em; line-height: 1.3; margin: 1rem 0 .6rem; }
.md-typeset .cpra-hero__description { font-size: 1rem; margin: 0 0 .6rem; }
.md-typeset .cpra-hero__meta { color: var(--cpra-secondary); font-size: .75rem; margin: 0 0 1rem; }
@media (max-width: 76.234375em) { .md-nav--primary { background: var(--cpra-surface); } }
@media (max-width: 44.984375em) { .md-content__inner { padding: .4rem .2rem; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
