/* PyFlange documentation theme.
 *
 * Colours are taken from the PyFlange logo (Python blue and yellow). Dark
 * mode ("slate") is the default scheme, see mkdocs.yml.
 */

:root,
[data-md-color-scheme="default"] {
  --md-primary-fg-color:        #1f4e85;
  --md-primary-fg-color--light: #3776ab;
  --md-primary-fg-color--dark:  #163a63;
  --md-accent-fg-color:         #c99700;
  --md-typeset-a-color:         #1f63b0;
  --pf-card-bg:                 #f5f7fa;
  --pf-card-border:             #dde3ea;
}

[data-md-color-scheme="slate"] {
  --md-hue: 215;
  --md-default-bg-color:        #11151c;
  --md-primary-fg-color:        #161c26;
  --md-primary-fg-color--light: #232c3a;
  --md-primary-fg-color--dark:  #0d1117;
  --md-accent-fg-color:         #ffd43b;
  --md-typeset-a-color:         #79b0ef;
  --md-code-bg-color:           #19202b;
  --pf-card-bg:                 #171e29;
  --pf-card-border:             #2a3444;
}

/* Header: thin yellow line under the dark bar, as a subtle brand accent */
[data-md-color-scheme="slate"] .md-header,
[data-md-color-scheme="slate"] .md-tabs {
  background-color: var(--md-primary-fg-color);
}
.md-header {
  border-bottom: 2px solid var(--md-accent-fg-color);
}

/* Slightly wider content area for tables and API signatures */
.md-grid {
  max-width: 1360px;
}

/* Landing-page hero */
.pf-hero {
  padding: 1.2rem 0 0.4rem 0;
}
.pf-hero h1 {
  margin-bottom: 0.3rem;
  font-weight: 700;
}
.pf-hero .pf-tagline {
  font-size: 1.05rem;
  opacity: 0.85;
  margin-top: 0;
}

/* Cards (Material "grid cards") */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  background-color: var(--pf-card-bg);
  border: 1px solid var(--pf-card-border);
  border-radius: 6px;
}
.md-typeset .grid.cards > ul > li:hover {
  border-color: var(--md-accent-fg-color);
}

/* Tables: compact, full width, readable in both schemes */
.md-typeset table:not([class]) {
  font-size: 0.72rem;
}
.md-typeset table:not([class]) th {
  white-space: nowrap;
}

/* Keyboard keys and terminal blocks */
.md-typeset .highlight .gp {
  user-select: none;   /* do not copy the prompt of console examples */
}

/* mkdocstrings: separate the members of a module visually */
.doc.doc-object.doc-class,
.doc.doc-object.doc-function {
  border-top: 1px solid var(--pf-card-border);
  padding-top: 0.6rem;
  margin-top: 1.4rem;
}
.doc-heading code {
  font-weight: 600;
}
.md-typeset .doc-symbol-module::after   { content: "mod"; }
.md-typeset .doc-symbol-class::after    { content: "class"; }
.md-typeset .doc-symbol-function::after { content: "func"; }
.md-typeset .doc-symbol-method::after   { content: "meth"; }
.md-typeset .doc-symbol-attribute::after{ content: "attr"; }
.md-typeset .doc-symbol {
  border-radius: 3px;
  padding: 0 0.3em;
  font-size: 0.75em;
}

/* Technical drawings (inline SVG, docsrc/assets/img/*-geometry.svg).
 * The colours follow the active scheme. */
:root,
[data-md-color-scheme="default"] {
  --pf-draw-line:  #2b3440;
  --pf-draw-steel: #c9d3de;
  --pf-draw-bolt:  #8796a8;
  --pf-draw-dim:   #1f63b0;
  --pf-draw-force: #b3261e;
}
[data-md-color-scheme="slate"] {
  --pf-draw-line:  #c3ccd8;
  --pf-draw-steel: #2c394b;
  --pf-draw-bolt:  #56677e;
  --pf-draw-dim:   #79b0ef;
  --pf-draw-force: #ff8a80;
}
.pf-drawing {
  display: block;
  width: 100%;
  max-width: 560px;
  margin: 1em auto;
  font-family: var(--md-text-font-family), sans-serif;
  font-size: 15px;
}
.pf-drawing .pf-steel  { fill: var(--pf-draw-steel); stroke: var(--pf-draw-line); stroke-width: 1.6; }
.pf-drawing .pf-bolt   { fill: var(--pf-draw-bolt);  stroke: var(--pf-draw-line); stroke-width: 1.2; }
.pf-drawing .pf-hole   { fill: var(--md-default-bg-color); stroke: var(--pf-draw-line); stroke-width: 0.8; stroke-dasharray: 3 2; }
.pf-drawing .pf-thin   { stroke: var(--pf-draw-line); stroke-width: 1; }
.pf-drawing .pf-center { stroke: var(--pf-draw-line); stroke-width: 0.8; stroke-dasharray: 12 3 2 3; opacity: 0.7; }
.pf-drawing .pf-ext    { stroke: var(--pf-draw-dim); stroke-width: 0.7; opacity: 0.8; }
.pf-drawing .pf-dimline { stroke: var(--pf-draw-dim); stroke-width: 1.1; }
.pf-drawing .pf-dim-fill { fill: var(--pf-draw-dim); }
.pf-drawing .pf-dim-text { fill: var(--pf-draw-dim); font-style: italic; font-weight: 600; }
.pf-drawing .pf-force  { stroke: var(--pf-draw-force); stroke-width: 2.4; }
.pf-drawing .pf-force-fill { fill: var(--pf-draw-force); }
.pf-drawing .pf-force-text { fill: var(--pf-draw-force); font-style: italic; font-weight: 700; }
.pf-drawing .pf-label  { fill: var(--md-default-fg-color); font-size: 13px; }
.pf-drawing .pf-muted  { fill: var(--md-default-fg-color--light); }

/* Images drawn for one colour scheme only */
[data-md-color-scheme="slate"] img[src$="#only-light"],
[data-md-color-scheme="default"] img[src$="#only-dark"] {
  display: none;
}
