/*
 * SPDX-FileCopyrightText: 2026 The Axis Authors <authors@axis.pub>
 * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
 *
 * Licensed under the PolyForm Noncommercial License 1.0.0.
 * Provided "as is", without warranty or condition of any kind.
 * See LICENSE.md for the full terms:
 * https://polyformproject.org/licenses/noncommercial/1.0.0/
 */

/* Axis Markdown theme. Import this file in your Markdown viewer.
 * Self-contained: no web fonts, scripts or other stylesheets are required.
 * Mermaid rendering belongs to the viewer; this stylesheet styles its SVG.
 */
:root {
  --bg: #f7f7f5;
  --fg: #171716;

  --muted: #737370;
  --faint: #a3a3a0;

  --surface: #efefec;
  --surface-hover: #e9e9e5;

  --diagram-node-bg: #ecece8;
  --diagram-line: #858581;

  --line: #d9d9d5;
  --selection: #d9e7ff;

  --sans:
    "Geist",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  --mono:
    "Geist Mono",
    "SFMono-Regular",
    Consolas,
    monospace;

  --optical-x-height: 0.52;

  --page-width: 760px;
  --diagram-width: 1120px;
  --diagram-font-size: 14px;

  --gutter: 24px;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #10100f;
    --fg: #eeeeeb;

    --muted: #969691;
    --faint: #686864;

    --surface: #191918;
    --surface-hover: #20201e;

    --diagram-node-bg: #1e1e1c;
    --diagram-line: #777772;

    --line: #2c2c29;
    --selection: #263a58;

    color-scheme: dark;
  }
}



/* Works in standalone documents and common Markdown preview containers. */
body, .markdown-body, .markdown-preview-view, .markdown-preview {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss03" 1;
}
body { margin: 0; }
article, .markdown-body, .markdown-preview-view, .markdown-preview {
  box-sizing: border-box;
  max-width: var(--page-width);
  margin-inline: auto;
  padding: 48px var(--gutter) 80px;
}
/* Avoid compounding spacing when a viewer nests these containers. */
:is(.markdown-body, .markdown-preview-view, .markdown-preview) article {
  padding: 0;
}
::selection { background: var(--selection); }
h1, h2, h3, h4 {
  font-family: var(--sans);
  color: var(--fg);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
h1 { margin: 0 0 28px; padding-top: .125em; border-top: 1px solid; font-size: 1.8rem; }
h2 { margin: 48px 0 18px; font-size: 1.35rem; }
h3 { margin: 32px 0 14px; font-size: 1.1rem; }
p { margin: 0 0 18px; }
ul, ol { margin: 18px 0 22px; padding-left: 1.35rem; }
li { margin: 8px 0; }
strong { font-weight: 600; }
a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 28%, transparent);
  text-underline-offset: .17em;
}
a:hover { text-decoration-color: currentColor; }
code {
  font-family: var(--mono);
  font-size: .95em;
  color: inherit;
  background: transparent;
  font-variant-ligatures: none;
}
pre {
  padding: 20px 22px;
  margin: 28px 0;
  overflow-x: auto;
  border-radius: 8px;
  background: var(--surface);
  font-size: .875rem;
  tab-size: 2;
}
pre code { font-size: inherit; }
table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 24px 0; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
blockquote { margin-inline: 0; padding-left: 20px; border-left: 2px solid var(--line); color: var(--muted); }
hr { border: 0; border-top: 1px solid var(--line); }
.mermaid {
  max-width: 100%;
  overflow-x: auto;
  margin: 32px 0;
  padding: 12px 0;
  background: transparent;
}
.mermaid svg {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  background: transparent !important;
}
/* Nodes */

.mermaid .node rect,
.mermaid .node polygon,
.mermaid .node circle,
.mermaid .node ellipse,
.mermaid .node path {
  fill: var(--diagram-node-bg) !important;

  stroke: none !important;
  stroke-width: 0 !important;
}

.mermaid .node rect {
  rx: 10px !important;
  ry: 10px !important;
}


/* Node labels */

.mermaid .node,
.mermaid .node .nodeLabel,
.mermaid .node .nodeLabel *,
.mermaid .node text,
.mermaid .node tspan {
  color: var(--fg) !important;
  fill: var(--fg) !important;

  font-family: var(--sans) !important;
  font-size: var(--diagram-font-size) !important;
  font-size-adjust: var(--optical-x-height) !important;
  font-weight: 400 !important;

  letter-spacing: -0.015em !important;
}


/* Program nodes */

.mermaid .node.program,
.mermaid .node.program *,
.mermaid .node.program text,
.mermaid .node.program tspan {
  font-family: var(--mono) !important;
  font-size: var(--diagram-font-size) !important;
  font-size-adjust: var(--optical-x-height) !important;
  font-weight: 400 !important;

  letter-spacing: 0 !important;
  font-variant-ligatures: none !important;
}


/* Connections */

.mermaid .flowchart-link,
.mermaid .edgePath path {
  fill: none !important;

  stroke: var(--diagram-line) !important;
  stroke-width: 1px !important;

  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.mermaid marker path,
.mermaid .arrowheadPath {
  fill: var(--diagram-line) !important;
  stroke: var(--diagram-line) !important;
  stroke-width: 0 !important;
}


/* Relationship labels */

.mermaid .edgeLabel {
  color: var(--muted) !important;

  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-size-adjust: var(--optical-x-height) !important;
  font-weight: 400 !important;

  letter-spacing: -0.01em !important;
}

.mermaid .edgeLabel text,
.mermaid .edgeLabel tspan {
  fill: var(--muted) !important;

  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-size-adjust: var(--optical-x-height) !important;
  font-weight: 400 !important;
}

.mermaid .edgeLabel rect,
.mermaid .labelBkg {
  fill: var(--bg) !important;
  stroke: none !important;

  opacity: 1 !important;
}


/* Subgraphs */

.mermaid .cluster rect {
  fill: transparent !important;

  stroke: var(--line) !important;
  stroke-width: 1px !important;

  rx: 8px;
  ry: 8px;
}



/* BEGIN GENERATED CONCEPT COLORS */
/* Generated by tools/concept-colors.py from the CLI palette. */
.axis-os { --concept: #55b982; }
.axis-package { --concept: #619ce8; }
.axis-target { --concept: #d7ac50; }
.axis-builder { --concept: #aa88db; }
.axis-environment { --concept: #51b8c7; }
.axis-toolchain { --concept: #de965f; }
.axis-artifact { --concept: #d9c66b; }
.axis-recipe { --concept: #c487ac; }
.axis-instance { --concept: #888ee0; }
.axis-executor { --concept: #6ca6ad; }
.axis-operation { --concept: #a7a9b5; }
.axis-build { --concept: #b0aa66; }
.axis-os,
.axis-package,
.axis-target,
.axis-builder,
.axis-environment,
.axis-toolchain,
.axis-artifact,
.axis-recipe,
.axis-instance,
.axis-executor,
.axis-operation,
.axis-build {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--concept) 55%, transparent);
  text-decoration-thickness: 2px;
  text-underline-offset: .22em;
}

/* END GENERATED CONCEPT COLORS */
