/**
 * fleet.rstew.art — PR-ready design tokens (Artificer → Cartographer)
 * Locked 2026-09-24 · Public title: Fleet · rstew.art
 * Family: rstew.art personal proving-ground (NOT Texture Said commercial)
 * Copy SoT: ../fleet-rstew-art-copy-v1.1.md (Buoy)
 * Visual SoT: ../fleet-rstew-art-visual-system.md
 */

:root {
  /* —— Color (match live rstew.art triad + Keep/Know/Park) —— */
  --fleet-navy: #1c4e9e;          /* KEEP nodes, header, callouts */
  --fleet-light-blue: #6d8ac6;    /* KNOW nodes */
  --fleet-orange: #f37123;        /* Accent rule, tier labels, X, owner accent */
  --fleet-charcoal: #585757;      /* Body / PARK titles */
  --fleet-blue-grey: #54656f;     /* Role lines / secondary */
  --fleet-light-grey: #d2d2d2;    /* Connectors / hairlines */
  --fleet-off-white: #eaeaea;     /* Page ground */
  --fleet-park-fill: #f3f3f3;     /* PARK node fill */
  --fleet-park-stroke: #a8a8a8;   /* PARK node border */
  --fleet-white: #ffffff;         /* Type on KEEP/KNOW */

  /* Aliases aligned to common rstew.art root.css names */
  --blue: var(--fleet-navy);
  --light-blue: var(--fleet-light-blue);
  --orange: var(--fleet-orange);
  --charcoal: var(--fleet-charcoal);
  --blue-grey: var(--fleet-blue-grey);
  --light-grey: var(--fleet-light-grey);
  --off-white: var(--fleet-off-white);

  /* —— Type —— */
  --fleet-display: "Museo Slab", "Museo", Georgia, "Times New Roman", serif;
  --fleet-sans: "Museo Sans", "Museo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --museo: var(--fleet-display);
  --museo-sans: var(--fleet-sans);

  /* —— Layout —— */
  --fleet-radius-node: 0.5rem;    /* ~8px */
  --fleet-radius-card: 0.75rem;
  --fleet-header-h: 3rem;
  --fleet-accent-rule: 4px;
  --fleet-connector: 1.25px;
  --fleet-space-1: 0.5rem;
  --fleet-space-2: 1rem;
  --fleet-space-3: 1.5rem;
  --fleet-space-4: 2.5rem;
  --fleet-max: 72rem;
}

/* Document chrome */
.fleet-page {
  margin: 0;
  background: var(--fleet-off-white);
  color: var(--fleet-charcoal);
  font-family: var(--fleet-sans);
  line-height: 1.45;
}

.fleet-header {
  background: var(--fleet-navy);
  color: var(--fleet-white);
  min-height: var(--fleet-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fleet-space-2);
  padding: 0.75rem 1.5rem;
  box-shadow: inset 0 calc(-1 * var(--fleet-accent-rule)) 0 var(--fleet-orange);
}

.fleet-header__title {
  font-family: var(--fleet-display);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  margin: 0;
}

.fleet-header__meta {
  font-size: 0.75rem;
  opacity: 0.9;
}

/* Public wordmark lock (Ryan 2026-09-24): Fleet · rstew.art */
.fleet-wordmark {
  font-family: var(--fleet-display);
  font-weight: 700;
  color: var(--fleet-white);
}
.fleet-wordmark__dot {
  color: var(--fleet-orange);
  padding: 0 0.35em;
  font-weight: 300; /* kit qfz2bgl has 300 and 700, not 400 */
}

/* Tier legend */
.fleet-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  padding: var(--fleet-space-2) 1.5rem;
  font-size: 0.8125rem;
}
.fleet-legend__swatch {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 2px;
  display: inline-block;
  margin-right: 0.4rem;
  vertical-align: -1px;
}
.fleet-legend__swatch--keep { background: var(--fleet-navy); }
.fleet-legend__swatch--know { background: var(--fleet-light-blue); }
.fleet-legend__swatch--park {
  background: var(--fleet-park-fill);
  box-shadow: inset 0 0 0 1px var(--fleet-park-stroke);
}

/* Org nodes */
.fleet-node {
  border-radius: var(--fleet-radius-node);
  padding: 0.55rem 0.75rem;
  text-align: center;
  min-width: 7.5rem;
  box-sizing: border-box;
}
.fleet-node__name {
  font-family: var(--fleet-sans);
  font-weight: 700;
  font-size: 0.9375rem;
  margin: 0;
}
.fleet-node__role {
  font-size: 0.6875rem;
  margin: 0.2rem 0 0;
  opacity: 0.95;
}

.fleet-node--owner {
  background: var(--fleet-orange);
  color: var(--fleet-white);
}
.fleet-node--keep {
  background: var(--fleet-navy);
  color: var(--fleet-white);
}
.fleet-node--know {
  background: var(--fleet-light-blue);
  color: var(--fleet-white);
}
.fleet-node--park {
  background: var(--fleet-park-fill);
  color: var(--fleet-charcoal);
  box-shadow: inset 0 0 0 1px var(--fleet-park-stroke);
}
.fleet-node--park .fleet-node__role {
  color: var(--fleet-blue-grey);
}

.fleet-connector {
  stroke: var(--fleet-light-grey);
  stroke-width: var(--fleet-connector);
  fill: none;
}

/* Tier section labels (quick ref) — orange, Museo Sans Bold */
.fleet-tier-label {
  font-family: var(--fleet-sans);
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fleet-orange);
  margin: 0 0 0.5rem;
}

/* Standing-orders / how-work-moves callout */
.fleet-callout {
  background: var(--fleet-navy);
  color: var(--fleet-white);
  border-radius: var(--fleet-radius-card);
  padding: var(--fleet-space-3);
}
.fleet-callout h2,
.fleet-callout h3 {
  font-family: var(--fleet-display);
  margin-top: 0;
}

.fleet-footer {
  background: var(--fleet-light-grey);
  color: var(--fleet-blue-grey);
  font-size: 0.75rem;
  padding: 0.75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.fleet-footer__x {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

/* Prefer system stack until Museo webfonts are wired on this subnet */
@supports not (font-variation-settings: normal) {
  /* no-op placeholder — Cartographer wires @font-face from rstew.art or local */
}
