/* Amri docs — brand overlay for mkdocs-material.
   Palette mirrors the GUI design system (gui-design-system.md); IBM Plex self-hosted
   from amri-business. Reserved-amber discipline: amber appears ONLY in the m-mark logo,
   never as a UI accent — links/nav/active states use the neutral ramp. */

/* ---- IBM Plex (self-hosted; theme.font:false disables Google Fonts) ---- */
@font-face { font-family:"IBM Plex Sans"; font-weight:400; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Sans"; font-weight:600; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Sans"; font-weight:700; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexSans-Bold.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Mono"; font-weight:400; font-style:normal; font-display:swap;
  src:url("../fonts/IBMPlexMono-Regular.ttf") format("truetype"); }

:root {
  --md-text-font:"IBM Plex Sans";
  --md-code-font:"IBM Plex Mono";
}

/* ---- Light (default scheme) ---- */
[data-md-color-scheme="default"] {
  --md-default-bg-color:#F1F1F3;
  --md-default-fg-color:#0E0E10;
  --md-default-fg-color--light:#3A3A40;
  --md-default-fg-color--lighter:#6E6E76;
  --md-default-fg-color--lightest:#D6D6DC;
  --md-primary-fg-color:#FFFFFF;      /* header background */
  --md-primary-bg-color:#0E0E10;      /* header text + icons */
  --md-accent-fg-color:#0E0E10;
  --md-typeset-a-color:#0E0E10;
  --md-code-bg-color:#E7E7EB;
  --md-code-fg-color:#0E0E10;
  --md-typeset-mark-color:#F5A62333;
  --brand-border:#D6D6DC;
  --brand-border-strong:#A8A8B0;
}

/* ---- Dark (slate scheme) ---- */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:#0E0E10;
  --md-default-fg-color:#F6F6F7;
  --md-default-fg-color--light:#C7C7CC;
  --md-default-fg-color--lighter:#8C8C94;
  --md-default-fg-color--lightest:#3A3A40;
  --md-primary-fg-color:#1F1F23;
  --md-primary-bg-color:#F6F6F7;
  --md-accent-fg-color:#F6F6F7;
  --md-typeset-a-color:#F6F6F7;
  --md-code-bg-color:#1F1F23;
  --md-code-fg-color:#F6F6F7;
  --md-default-fg-color--lightest:#2A2A2E;
  --brand-border:#3A3A40;
  --brand-border-strong:#5A5A60;
}

/* links: typographic (underline in the neutral ramp), never an amber/colour accent */
.md-typeset a { text-decoration:underline; text-underline-offset:2px;
  text-decoration-color:var(--brand-border-strong); text-decoration-thickness:1px; }
.md-typeset a:hover { text-decoration-color:var(--md-default-fg-color); }

/* header: neutral with a hairline rule, not a coloured bar */
.md-header { border-bottom:1px solid var(--brand-border); box-shadow:none !important; }
.md-header__title { font-weight:600; }
.md-logo img, .md-header__button.md-logo img { height:1.5rem; width:auto; }

/* nav / toc active + hover: neutral ink, no accent colour */
.md-nav__link--active, .md-nav__link--active:focus, .md-nav__link:focus, .md-nav__link:hover {
  color:var(--md-default-fg-color); }
.md-nav__item .md-nav__link--active { font-weight:600; }

/* code + admonitions sit on the neutral surface */
.md-typeset code { border-radius:4px; }
.md-typeset pre > code { border:1px solid var(--brand-border); }

/* search accent -> neutral */
.md-search__input { background:var(--md-code-bg-color); }

/* ---- no pictograms (brand rule): Material's chrome icons become words; only the
   m-mark logo and the nav disclosure carets (an allowed typographic affordance) stay ---- */
.md-header label[for="__palette_0"] svg,
.md-header label[for="__palette_1"] svg { display:none; }
.md-header label[for="__palette_0"],
.md-header label[for="__palette_1"] { width:auto; padding:0 .45rem; font-size:.7rem;
  font-weight:600; letter-spacing:.03em; text-transform:uppercase; }
.md-header label[for="__palette_1"]::after { content:"Dark"; }
.md-header label[for="__palette_0"]::after { content:"Light"; }

.md-search__icon svg { display:none; }
.md-search__icon { width:0; overflow:hidden; }
.md-header label.md-header__button[for="__search"] svg,
.md-header label.md-header__button[for="__drawer"] svg { display:none; }
.md-header label.md-header__button[for="__drawer"]::after { content:"Menu";
  font-size:.7rem; font-weight:600; text-transform:uppercase; }

/* admonitions + collapsible details: word + colour carry state, no icon glyph */
.md-typeset .admonition-title, .md-typeset summary { padding-left:.8rem; }
.md-typeset .admonition-title::before, .md-typeset summary::before { display:none; }

/* links: the word shifts to a softer neutral, plus the underline — no colour accent.
   (Tune --link-fg per taste; kept in the neutral ramp so amber stays reserved.) */
.md-typeset a { color:var(--md-default-fg-color--light); font-weight:500;
  text-decoration:underline; text-underline-offset:2px;
  text-decoration-color:var(--brand-border-strong); text-decoration-thickness:1px; }
.md-typeset a:hover { color:var(--md-default-fg-color); text-decoration-color:var(--md-default-fg-color); }

/* header: theme-adaptive wordmark replaces the icon + text lockup (dark uses the
   light-ink mark so it reads on the dark header). */
.md-header__title { display:none; }
.md-header__button.md-logo { width:96px; height:30px; padding:0; margin-right:.5rem;
  background:left center/contain no-repeat; }
.md-header__button.md-logo img { display:none; }
[data-md-color-scheme="default"] .md-header__button.md-logo { background-image:url(../assets/wordmark-light.svg); }
[data-md-color-scheme="slate"] .md-header__button.md-logo { background-image:url(../assets/wordmark-dark.svg); }

/* buttons: neutral + bordered, no colour accent, no underline */
.md-typeset .md-button { color:var(--md-default-fg-color); border-color:var(--brand-border-strong);
  font-weight:600; text-decoration:none; }
.md-typeset .md-button:hover, .md-typeset .md-button--primary:hover {
  background:var(--md-default-fg-color); color:var(--md-default-bg-color);
  border-color:var(--md-default-fg-color); }
.md-typeset .md-button--primary { background:transparent; color:var(--md-default-fg-color);
  border:1px solid var(--brand-border-strong); }

/* ---- left nav: indentation + neutral background selection, never a colour accent (issue #15) ---- */
/* nested levels indent so the hierarchy reads at a glance */
.md-nav--primary .md-nav .md-nav__link { padding-left:.9rem; }
.md-nav--primary .md-nav .md-nav .md-nav__link { padding-left:1.8rem; }
/* selection + hover carry a neutral background fill (text stays in the neutral ramp) */
.md-nav__link { border-radius:4px; }
.md-nav__link:hover { color:var(--md-default-fg-color);
  background:color-mix(in srgb, var(--md-default-fg-color--lightest) 55%, transparent); }
.md-nav__link--active, .md-nav__item .md-nav__link--active {
  color:var(--md-default-fg-color); font-weight:600;
  background:var(--md-default-fg-color--lightest); }

/* ---- status badges [PRELIMINARY] / [WIP]: words, no icon, no amber (issue #15) ---- */
.doc-status { display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .7rem;
  margin:0 0 1.1rem; padding:.45rem .7rem; border:1px solid var(--brand-border);
  border-radius:6px; background:var(--md-default-fg-color--lightest);
  font-size:.72rem; line-height:1.45; }
.doc-status__tag { font-family:"IBM Plex Mono", ui-monospace, monospace; font-weight:700;
  letter-spacing:.04em; color:var(--md-default-fg-color); }
.doc-status__note { color:var(--md-default-fg-color--light); }
.doc-status__row { display:block; flex:1 1 100%; }
@media (min-width:30em){ .doc-status__row { flex:0 1 auto; } }

/* ---- build-time version + status marker (#14): small, muted, neutral ramp,
   consistent with the badge styling; amber stays reserved to the m-mark ---- */
.doc-version { margin:0 0 .8rem; font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:.68rem; letter-spacing:.03em; color:var(--md-default-fg-color--lighter);
  text-transform:uppercase; }

/* ---- runtime out-of-support banner (#14): neutral surface, bordered, no icon,
   text-only Dismiss control (issue #15 no-pictogram rule) ---- */
.support-banner { display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem .9rem;
  margin:0; padding:.6rem 1rem; border-bottom:1px solid var(--brand-border);
  background:var(--md-default-fg-color--lightest);
  font-size:.78rem; line-height:1.5; }
.support-banner__msg { color:var(--md-default-fg-color); flex:1 1 auto; }
.support-banner__dismiss { color:var(--md-default-fg-color--light); font-weight:600;
  text-decoration:underline; text-underline-offset:2px;
  text-decoration-color:var(--brand-border-strong); white-space:nowrap; }
.support-banner__dismiss:hover { color:var(--md-default-fg-color);
  text-decoration-color:var(--md-default-fg-color); }
