/* SPDX-License-Identifier: Apache-2.0
 * SPDX-FileCopyrightText: 2026 RustSys contributors
 */
/* RustEDA Signal Forge: circuit ink, copper logic, teal signals, warm paper. */
:root {
  --rusteda-ink: #101923;
  --rusteda-copper: #ef8b52;
  --rusteda-teal: #57d6be;
  --rusteda-paper: #f4f1e9;
  --md-primary-fg-color: #101923;
  --md-primary-fg-color--light: #23313d;
  --md-primary-fg-color--dark: #0a1017;
  --md-accent-fg-color: #a44818;
  --md-text-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #fcfbf8;
  --md-default-fg-color: #182633;
  --md-default-fg-color--light: #4f5e69;
  --md-typeset-a-color: #974214;
  --md-code-bg-color: #f0eee7;
  --md-footer-bg-color: #101923;
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: #101923;
  --md-default-fg-color: #f4f1e9;
  --md-default-fg-color--light: #b3c0c7;
  --md-typeset-a-color: #ef8b52;
  --md-accent-fg-color: #57d6be;
  --md-code-bg-color: #182430;
  --md-footer-bg-color: #0a1017;
}

.md-header, .md-tabs { color: var(--rusteda-paper); }
.md-header__button.md-logo img { width: 1.65rem; height: 1.65rem; }
.md-header__topic:first-child { font-weight: 750; letter-spacing: -.025em; }
.md-grid { max-width: 74rem; }
.md-typeset { line-height: 1.65; }
.md-typeset picture > img { display: block; max-width: 100%; height: auto; }
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: 700; letter-spacing: -.025em; }
.md-typeset h1 { color: var(--md-default-fg-color); }
.md-typeset h2 { margin-top: 1.9em; }
.md-typeset code { border-radius: .2rem; }
.md-typeset pre > code { border-radius: .55rem; }
.md-typeset .md-button { border-radius: .35rem; font-size: .78rem; padding: .65em 1.25em; }
.md-typeset .md-button:not(.md-button--primary) {
  color: var(--md-default-fg-color);
  border-color: var(--md-default-fg-color--light);
}
.md-typeset .md-button:not(.md-button--primary):hover,
.md-typeset .md-button:not(.md-button--primary):focus {
  background: var(--md-code-bg-color);
  border-color: var(--md-typeset-a-color);
  color: var(--md-typeset-a-color);
}
.md-typeset .md-button--primary {
  background: var(--rusteda-copper);
  border-color: var(--rusteda-copper);
  color: var(--rusteda-ink);
}
.md-typeset .md-button--primary:hover, .md-typeset .md-button--primary:focus {
  background: var(--rusteda-teal);
  border-color: var(--rusteda-teal);
  color: var(--rusteda-ink);
}
.md-typeset table:not([class]) { font-size: .69rem; }
.md-typeset table:not([class]) th { background: rgba(127, 127, 127, .06); }
.rustsys-comparison {
  --comparison-id-width: 5.2rem;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.rustsys-comparison:focus-visible { outline: 2px solid var(--md-typeset-a-color); outline-offset: 2px; }
.md-typeset .rustsys-comparison .md-typeset__scrollwrap { margin: 0; overflow: visible; }
.md-typeset .rustsys-comparison .md-typeset__table { display: block; width: 100%; padding: 0; }
.md-typeset .rustsys-comparison table:not([class]) {
  display: table;
  width: 100%;
  min-width: 60rem;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}
.md-typeset .rustsys-comparison table:not([class]) th,
.md-typeset .rustsys-comparison table:not([class]) td { padding: .55em 1em; }
.md-typeset .rustsys-comparison table:not([class]) th { padding-inline: .7em; }
.rustsys-comparison th:nth-child(-n+2) { width: var(--comparison-id-width); }
.rustsys-comparison th:nth-child(-n+2),
.rustsys-comparison td:nth-child(-n+2) {
  position: sticky;
  z-index: 1;
  box-sizing: border-box;
  background: var(--md-default-bg-color);
}
.md-typeset .rustsys-comparison table:not([class]) th:nth-child(-n+2) {
  z-index: 2;
  background: var(--md-code-bg-color);
}
.rustsys-comparison :is(th, td):first-child { left: 0; }
.rustsys-comparison :is(th, td):nth-child(2) { left: var(--comparison-id-width); }
.rustsys-comparison td { white-space: nowrap; }
.rustsys-comparison td:nth-child(5) { color: var(--md-typeset-a-color); }
.rustsys-comparison-hint { display: none; }

.rustsys-audit { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.rustsys-audit:focus-visible { outline: 2px solid var(--md-typeset-a-color); outline-offset: 2px; }
.md-typeset .rustsys-audit .md-typeset__scrollwrap { margin: 0; overflow: visible; }
.md-typeset .rustsys-audit .md-typeset__table { display: block; width: 100%; padding: 0; }
.md-typeset .rustsys-audit table:not([class]) {
  display: table;
  width: 100%;
  min-width: 32rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.rustsys-audit :is(th, td):first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--md-default-bg-color);
}
.md-typeset .rustsys-audit table:not([class]) th:first-child {
  z-index: 2;
  background: var(--md-code-bg-color);
}

.rustsys-hero { padding: 1.2rem 0 1.05rem; max-width: 58rem; }
.rustsys-hero h1 {
  font-size: clamp(2rem, 4.8vw, 3.4rem);
  font-weight: 780;
  line-height: 1.1;
  letter-spacing: -.055em;
  margin: .3rem 0 1rem;
}
.rustsys-hero > p:not(.rustsys-eyebrow):not(.rustsys-release) { max-width: 45rem; font-size: 1rem; }
.rustsys-eyebrow {
  color: var(--md-typeset-a-color);
  font-family: var(--md-code-font);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.rustsys-release { font-family: var(--md-code-font); font-size: .62rem; color: var(--md-default-fg-color--light); }
.md-typeset .rustsys-banner { margin: .2rem 0 1.8rem; width: 100%; max-width: none; }
.rustsys-banner img { display: block; width: 100%; height: auto; border-radius: .7rem; background: #101923; }
.md-typeset .rustsys-banner figcaption { font-size: .62rem; max-width: 100%; margin-top: .4rem; color: var(--md-default-fg-color--light); }
.rustsys-motion-control { color: var(--md-typeset-a-color); cursor: pointer; text-decoration: underline; margin-left: .4rem; font: inherit; }
.rustsys-motion-control:focus-visible { outline: 2px solid var(--md-typeset-a-color); outline-offset: 3px; }
.md-typeset .grid.cards > ul > li { border-radius: .55rem; padding: 1rem; }
.md-typeset .grid.cards > ul > li:hover { border-color: var(--rusteda-copper); box-shadow: none; }

@media (max-width: 600px) {
  .rustsys-comparison {
    --comparison-id-width: 4.75rem;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: calc(2 * var(--comparison-id-width));
  }
  .md-typeset .rustsys-comparison .md-typeset__table {
    /* Two pinned identifiers; each of nine metrics fills the remaining viewport. */
    width: calc(900% - 16 * var(--comparison-id-width));
    max-width: none;
  }
  .md-typeset .rustsys-comparison table:not([class]) { width: 100%; min-width: 0; }
  .rustsys-comparison th:nth-child(n+3) { scroll-snap-align: start; }
  .md-typeset .rustsys-comparison table:not([class]) th,
  .md-typeset .rustsys-comparison table:not([class]) td { padding-inline: .6em; }
  .md-typeset .rustsys-comparison-hint { display: block; font-size: .7rem; color: var(--md-default-fg-color--light); }
  .rustsys-hero { padding-top: .2rem; }
  .rustsys-hero .md-button { display: block; text-align: center; margin: .5rem 0; }
  .rustsys-release { line-height: 1.8; }
}

@media (max-width: 360px) {
  .rustsys-comparison { --comparison-id-width: 4.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
