/* ============================================================================
 * SZL HOLDINGS — KANCHAY Design System v1.1.0  ·  szl-design-system.css
 * One self-contained file. 0 runtime CDN. No Google Fonts. No Inter default.
 * No purple gradients. Self-hosted system-font stack only.
 *
 * EVOLVES (does not replace) the canonical KANCHAY token scales:
 *   yawar (blood/red), yuyay (teal — WCAG-AA focus ring), hatun (gold/premium),
 *   gray (neutral), plus the a11oy dark surfaces.
 * ADDS the founder-approved logo palette: space navy #030F29, coral node
 *   #DF735F (accent, used SPARINGLY), silver linework #E9EEF6->#9AA7BD->#5C6B86.
 *
 * Aesthetic: Anthropic calm restraint + Ollama dev-clean + defense-tech
 * gravitas + our own orbital/khipu motif. Generous whitespace. Serious, human,
 * honest. WCAG AA throughout. ADDITIVE only — no v11 LOCKED number changed.
 *
 * Brand assets (c) 2026 SZL Holdings · CC BY 4.0 · code Apache-2.0
 * Attribution: ORCID 0009-0001-0110-4173
 * ========================================================================== */

/* --- 0 · Self-hosted font stack (NO CDN, NO webfont download required) ----- */
:root {
  --font-body:
    system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Liberation Sans",
    Arial, sans-serif;
  --font-display:
    system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Liberation Sans",
    Arial, sans-serif;
  --font-heading: var(--font-display);
  --font-mono:
    ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", "IBM Plex Mono",
    "Liberation Mono", Menlo, Consolas, monospace;
}

/* --- 1 · COLOR — full palette (KANCHAY scales KEPT; logo palette ADDED) ---- */
:root {
  /* yawar (blood / circulatory receipt ledger) — KEEP */
  --color-yawar-50:#fdecec; --color-yawar-100:#f9cfcf; --color-yawar-200:#f0a3a3;
  --color-yawar-300:#e57373; --color-yawar-400:#d65151; --color-yawar-500:#c0392b;
  --color-yawar-600:#a32a1f; --color-yawar-700:#822018; --color-yawar-800:#5e1712;
  --color-yawar-900:#3d0f0c;
  /* yuyay (thought / 13-axis heart gate) — KEEP; focus ring lives here */
  --color-yuyay-50:#e6f7f6; --color-yuyay-100:#bfeae8; --color-yuyay-200:#8fd9d5;
  --color-yuyay-300:#5cc4bf; --color-yuyay-400:#34aaa4; --color-yuyay-500:#168f89;
  --color-yuyay-600:#0f726e; --color-yuyay-700:#0b5957; --color-yuyay-800:#083f3e;
  --color-yuyay-900:#052827;
  /* hatun (great / premium accent, doctrine governance) — KEEP */
  --color-hatun-50:#faf5e9; --color-hatun-100:#f0e3c4; --color-hatun-200:#e4cf99;
  --color-hatun-300:#d7b96b; --color-hatun-400:#cda64a; --color-hatun-500:#c08f2f;
  --color-hatun-600:#a3741f; --color-hatun-700:#825a18; --color-hatun-800:#5e4012;
  --color-hatun-900:#3d290b;
  /* neutral gray scale — KEEP */
  --color-gray-50:#f5f7fa; --color-gray-100:#e6eaf1; --color-gray-200:#c9d2df;
  --color-gray-300:#a4b1c4; --color-gray-400:#76859b; --color-gray-500:#525f73;
  --color-gray-600:#3c4757; --color-gray-700:#2a3340; --color-gray-800:#1b222c;
  --color-gray-900:#10151c; --color-gray-950:#0a0f1e;
  /* NEW · canonical logo palette (founder-approved) */
  --color-space-900:#030F29; --color-space-800:#061536;
  --color-space-700:#0a1e47; --color-space-600:#102a5e;
  --color-coral-300:#F0917E; --color-coral-400:#DF735F; --color-coral-500:#C4543F;
  --color-silver-100:#E9EEF6; --color-silver-300:#9AA7BD; --color-silver-500:#5C6B86;
  --color-white:#FFFFFF; --color-ink:#0a0f1e; --color-ink-soft:#2a3340;
  /* semantic (status) — KEEP */
  --color-success:#1f9d57; --color-success-strong:#116b3d; --color-success-light:#3fce82;
  --color-warning:#c08f2f; --color-warning-light:#e4cf99;
  --color-error:#c0392b;   --color-error-light:#f0a3a3;
  --color-info:#2f7fb5;    --color-info-light:#7cb8e0;
}

/* --- 2 · SEMANTIC SURFACES — the "polarities" (dark operator default) ------ */
:root {
  --bg:var(--color-space-900); --bg-deep:#02091c;
  --surface:var(--color-gray-800); --surface-alt:#18202b;
  --surface-raised:var(--color-gray-700);
  --border:var(--color-gray-600);
  --border-subtle:color-mix(in srgb, var(--color-gray-600) 55%, transparent);
  --hairline:color-mix(in srgb, var(--color-silver-500) 38%, transparent);
  --text:var(--color-gray-50); --text-sub:var(--color-gray-200); --text-ghost:var(--color-gray-400);
  --accent:var(--color-coral-400); --accent-hover:var(--color-coral-300);
  --accent-press:var(--color-coral-500); --accent-ink:var(--color-space-900);
  --premium:var(--color-hatun-300);
  --link:var(--color-yuyay-200); --link-hover:var(--color-yuyay-100);
  --focus:var(--color-yuyay-400);
  color-scheme:dark;
}
[data-surface="light"] {
  --bg:var(--color-gray-50); --bg-deep:#eef1f6;
  --surface:var(--color-white); --surface-alt:#fbfcfe; --surface-raised:var(--color-white);
  --border:var(--color-gray-200);
  --border-subtle:color-mix(in srgb, var(--color-gray-300) 50%, transparent);
  --hairline:color-mix(in srgb, var(--color-silver-500) 30%, transparent);
  --text:var(--color-gray-900); --text-sub:var(--color-gray-600); --text-ghost:var(--color-gray-500);
  --accent:var(--color-coral-500); --accent-hover:var(--color-coral-400);
  --accent-press:#a8442f; --accent-ink:var(--color-white);
  --premium:var(--color-hatun-700);
  --link:var(--color-yuyay-700); --link-hover:var(--color-yuyay-800);
  --focus:var(--color-yuyay-600);
  color-scheme:light;
}

/* --- 3 · TYPE SCALE — Major Third (1.25), base 16px (KANCHAY scale) -------- */
:root {
  --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem; --text-lg:1.25rem;
  --text-xl:1.563rem; --text-2xl:1.953rem; --text-3xl:2.441rem;
  --text-4xl:3.052rem; --text-5xl:3.815rem; --text-6xl:4.768rem;
  --leading-tight:1.1; --leading-snug:1.2; --leading-normal:1.6; --leading-mono:1.5;
  --tracking-tight:-0.011em; --tracking-normal:0; --tracking-caps:0.08em;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;
}

/* --- 4 · SPACING / RADIUS / SHADOW / MOTION / Z — KEEP canonical tokens ----- */
:root {
  --space-px:1px; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
  --space-16:4rem; --space-20:5rem; --space-24:6rem;
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px;
  --radius-2xl:24px; --radius-full:9999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.40); --shadow-md:0 2px 8px rgba(0,0,0,.45);
  --shadow-lg:0 8px 24px rgba(0,0,0,.50); --shadow-xl:0 16px 48px rgba(0,0,0,.55);
  --shadow-focus:0 0 0 3px color-mix(in srgb, var(--focus) 55%, transparent);
  --shadow-glow-hatun:0 0 0 1px var(--color-hatun-500),
                      0 0 16px color-mix(in srgb, var(--color-hatun-400) 30%, transparent);
  --shadow-node:0 0 0 1px var(--color-coral-500),
                0 0 18px color-mix(in srgb, var(--color-coral-400) 32%, transparent);
  --ease-standard:cubic-bezier(.2,0,0,1); --ease-emphasized:cubic-bezier(.3,0,.1,1);
  --ease-out:cubic-bezier(0,0,.2,1); --ease-in:cubic-bezier(.4,0,1,1);
  --ease-orbit:cubic-bezier(.45,.05,.25,1);
  --duration-instant:75ms; --duration-fast:150ms; --duration-base:250ms;
  --duration-slow:400ms; --duration-slower:600ms; --duration-orbit:24s;
  --z-base:0; --z-raised:10; --z-dropdown:1000; --z-sticky:1100; --z-overlay:1200;
  --z-modal:1300; --z-popover:1400; --z-toast:1500; --z-max:2147483000;
  --z-control-dock:var(--z-popover);
  --border-hairline:1px; --border-thick:2px; --border-focus:3px;
  --measure:68ch; --container:1200px;
  --safe-area-top:env(safe-area-inset-top,0px);
  --safe-area-right:env(safe-area-inset-right,0px);
  --safe-area-bottom:env(safe-area-inset-bottom,0px);
  --safe-area-left:env(safe-area-inset-left,0px);
  --target-size-min:24px; --target-size-coarse:44px;
  --control-dock-max-inline-size:24rem;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}

/* --- 5 · BASE / RESET ------------------------------------------------------ */
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:var(--text-base);
  line-height:var(--leading-normal); font-weight:var(--weight-regular);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4 { font-family:var(--font-display); color:var(--text);
  letter-spacing:var(--tracking-tight); margin:0 0 var(--space-4); }
h1 { font-size:var(--text-4xl); line-height:var(--leading-tight); font-weight:var(--weight-bold); }
h2 { font-size:var(--text-3xl); line-height:var(--leading-snug); font-weight:var(--weight-semibold); }
h3 { font-size:var(--text-2xl); line-height:var(--leading-snug); font-weight:var(--weight-semibold); }
h4 { font-size:var(--text-xl);  line-height:var(--leading-snug); font-weight:var(--weight-semibold); }
p  { margin:0 0 var(--space-4); max-width:var(--measure); color:var(--text-sub); }
a  { color:var(--link); text-decoration:none; text-underline-offset:3px;
     transition:color var(--duration-fast) var(--ease-standard); }
a:hover { color:var(--link-hover); text-decoration:underline; }
small,.text-sm { font-size:var(--text-sm); }
code,kbd,samp { font-family:var(--font-mono); font-size:.92em; }
hr { border:0; border-top:var(--border-hairline) solid var(--border); margin:var(--space-8) 0; }
::selection { background:color-mix(in srgb, var(--accent) 30%, transparent); }
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:var(--border-focus) solid transparent;
  box-shadow:var(--shadow-focus); border-radius:var(--radius-sm);
}
.tabular,[data-tabular] { font-variant-numeric:tabular-nums lining-nums; }

/* --- 6 · TYPE UTILITIES ---------------------------------------------------- */
.display  { font-family:var(--font-display); font-size:var(--text-5xl);
            line-height:var(--leading-tight); letter-spacing:var(--tracking-tight);
            font-weight:var(--weight-bold); }
.eyebrow  { font-size:var(--text-sm); font-weight:var(--weight-semibold);
            letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--text-ghost); }
.lead     { font-size:var(--text-lg); color:var(--text); max-width:var(--measure); }
.muted    { color:var(--text-sub); }
.ghost    { color:var(--text-ghost); }
.mono     { font-family:var(--font-mono); }

/* --- 7 · LAYOUT HELPERS ---------------------------------------------------- */
.container { width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--space-6); }
.stack > * + * { margin-top:var(--space-4); }
.cluster { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; }
.grid-auto { display:grid; gap:var(--space-6); grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.safe-area-inline {
  padding-inline-start:calc(var(--space-6) + var(--safe-area-left));
  padding-inline-end:calc(var(--space-6) + var(--safe-area-right));
}
.safe-area-block-end {
  padding-block-end:calc(var(--space-6) + var(--safe-area-bottom));
}
.control-target {
  display:inline-flex; align-items:center; justify-content:center;
  min-inline-size:var(--target-size-min); min-block-size:var(--target-size-min);
}
.control-dock {
  position:fixed; isolation:isolate; z-index:var(--z-control-dock);
  inset-inline-end:calc(var(--space-4) + var(--safe-area-right));
  inset-block-end:calc(var(--space-4) + var(--safe-area-bottom));
  display:grid; gap:var(--space-3); inline-size:max-content;
  max-inline-size:min(var(--control-dock-max-inline-size),
    calc(100vw - var(--space-4) - var(--space-4) - var(--safe-area-left) - var(--safe-area-right)));
}
.control-dock > * { min-inline-size:0; max-inline-size:100%; }

@media (max-width:640px) {
  .grid-auto { grid-template-columns:minmax(0,1fr); }
  .control-dock {
    inset-inline-start:calc(var(--space-4) + var(--safe-area-left));
    inline-size:auto;
  }
}

/* --- 8 · BUTTONS (coral primary = the single accent, used sparingly) ------- */
.btn {
  --_pad-y:.625rem; --_pad-x:1.125rem;
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  min-inline-size:var(--target-size-min); min-block-size:var(--target-size-min);
  padding:var(--_pad-y) var(--_pad-x);
  font-family:var(--font-body); font-size:var(--text-sm); font-weight:var(--weight-semibold);
  line-height:1; letter-spacing:.005em; white-space:nowrap;
  border:var(--border-hairline) solid transparent; border-radius:var(--radius-md);
  cursor:pointer; user-select:none; text-decoration:none;
  transition:background var(--duration-fast) var(--ease-standard),
             border-color var(--duration-fast) var(--ease-standard),
             color var(--duration-fast) var(--ease-standard),
             transform var(--duration-instant) var(--ease-standard);
}
.btn:active { transform:translateY(1px); }
.btn:disabled,.btn[aria-disabled="true"] { opacity:.5; cursor:not-allowed; transform:none; }
.btn-primary { background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
.btn-primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.btn-primary:active { background:var(--accent-press); }
.btn-secondary { background:transparent; color:var(--text); border-color:var(--border); }
.btn-secondary:hover { border-color:var(--text-ghost); background:color-mix(in srgb, var(--text) 6%, transparent); }
.btn-ghost { background:transparent; color:var(--text-sub); border-color:transparent; }
.btn-ghost:hover { color:var(--text); background:color-mix(in srgb, var(--text) 7%, transparent); }
.btn-premium { background:transparent; color:var(--premium);
  border-color:color-mix(in srgb, var(--premium) 55%, transparent); }
.btn-premium:hover { box-shadow:var(--shadow-glow-hatun);
  background:color-mix(in srgb, var(--premium) 10%, transparent); }
.btn-lg { --_pad-y:.85rem; --_pad-x:1.5rem; font-size:var(--text-base); }
.btn-sm { --_pad-y:.4rem;  --_pad-x:.8rem;  font-size:var(--text-xs); }
@media (pointer:coarse) {
  .btn,.control-target {
    min-inline-size:var(--target-size-coarse); min-block-size:var(--target-size-coarse);
  }
}

/* --- 9 · CARDS (dark-first, optional orbital arc accent) ------------------- */
.card {
  background:var(--surface); border:var(--border-hairline) solid var(--border);
  border-radius:var(--radius-lg); padding:var(--space-6); box-shadow:var(--shadow-sm);
  transition:border-color var(--duration-base) var(--ease-standard),
             box-shadow var(--duration-base) var(--ease-standard);
}
.card:hover { box-shadow:var(--shadow-md); border-color:var(--border-subtle); }
.card-raised { background:var(--surface-raised); box-shadow:var(--shadow-md); }
.card-title { font-family:var(--font-display); font-size:var(--text-lg);
  font-weight:var(--weight-semibold); margin:0 0 var(--space-2); color:var(--text); }
.card-orbit { position:relative; overflow:hidden; }
.card-orbit::before { content:""; position:absolute; inset:-40% -30% auto auto;
  width:140%; aspect-ratio:1; border-radius:var(--radius-full);
  border:1px solid color-mix(in srgb, var(--color-silver-300) 22%, transparent);
  transform:rotate(-22deg); pointer-events:none; }

/* --- 10 · BADGES + PROOF-STATUS CHIPS (honest vocabulary; never color-only) - */
.badge { display:inline-flex; align-items:center; gap:var(--space-1);
  padding:.2rem .55rem; font-size:var(--text-xs); font-weight:var(--weight-semibold);
  letter-spacing:.02em; border-radius:var(--radius-sm);
  border:var(--border-hairline) solid var(--border);
  background:color-mix(in srgb, var(--text) 5%, transparent); color:var(--text-sub); }
.badge-accent  { color:var(--accent);  border-color:color-mix(in srgb,var(--accent) 45%,transparent);
                 background:color-mix(in srgb,var(--accent) 10%,transparent); }
.badge-premium { color:var(--premium); border-color:color-mix(in srgb,var(--premium) 45%,transparent);
                 background:color-mix(in srgb,var(--premium) 10%,transparent); }
.chip { display:inline-flex; align-items:center; gap:var(--space-2);
  padding:.25rem .6rem; font-family:var(--font-mono); font-size:var(--text-xs);
  border-radius:var(--radius-sm); border:var(--border-hairline) solid var(--border);
  background:var(--surface-alt); color:var(--text-sub);
  font-variant-numeric:tabular-nums lining-nums; }
.chip::before { content:""; width:.5rem; height:.5rem; border-radius:var(--radius-full);
  background:currentColor; flex:0 0 auto; }
.chip-proven     { color:var(--color-success-light); }
.chip-conjecture { color:var(--color-warning-light); }
.chip-sorry      { color:var(--color-error-light); }
.chip-axiom      { color:var(--link); }
.chip-live       { color:var(--color-success-light); }
.chip-sample     { color:var(--text-ghost); }
.chip-simulated  { color:var(--color-warning-light); }
.chip-unavailable { color:var(--color-error-light); }
[data-surface="light"] .chip-proven,
[data-surface="light"] .chip-live { color:var(--color-success-strong); }
[data-surface="light"] .chip-conjecture,
[data-surface="light"] .chip-simulated { color:#6b4f00; }
[data-surface="light"] .chip-sorry,
[data-surface="light"] .chip-unavailable { color:#9f281e; }

/* --- 11 · RECEIPT / PROOF chip (signature component) ----------------------- */
.receipt { display:inline-flex; align-items:center; gap:var(--space-3);
  padding:var(--space-2) var(--space-3); font-family:var(--font-mono); font-size:var(--text-xs);
  background:var(--surface-alt); color:var(--text-sub);
  border:var(--border-hairline) solid var(--border); border-radius:var(--radius-sm);
  font-variant-numeric:tabular-nums lining-nums; }
.receipt__dot { width:.55rem; height:.55rem; border-radius:var(--radius-full);
  background:var(--color-success-light); flex:0 0 auto;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--color-success-light) 22%, transparent); }
.receipt__root { color:var(--text); letter-spacing:.02em; }
.receipt__label { color:var(--text-ghost); text-transform:uppercase;
  letter-spacing:var(--tracking-caps); font-size:10px; }
.receipt[data-state="unverified"] .receipt__dot { background:var(--color-warning-light);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--color-warning-light) 22%, transparent); }
.receipt[data-state="failed"] .receipt__dot { background:var(--color-error-light);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error-light) 22%, transparent); }

/* --- 12 · CODE BLOCK (Ollama-clean, copy-paste-first) ---------------------- */
.code { position:relative; display:block; font-family:var(--font-mono);
  font-size:var(--text-sm); line-height:var(--leading-mono);
  background:var(--bg-deep); color:var(--text);
  border:var(--border-hairline) solid var(--border); border-radius:var(--radius-md);
  padding:var(--space-4) var(--space-5); overflow-x:auto; white-space:pre; tab-size:2; }
.code::before { content:attr(data-lang); position:absolute; top:var(--space-2); right:var(--space-3);
  font-size:10px; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--text-ghost); }
.code .tok-comment { color:var(--text-ghost); }
.code .tok-key     { color:var(--link); }
.code .tok-str     { color:var(--color-success-light); }
.code .tok-num     { color:var(--premium); }
.code__copy { position:absolute; bottom:var(--space-2); right:var(--space-2); }

/* --- 13 · NAV (sticky, hairline, calm) ------------------------------------- */
.nav { position:sticky; top:0; z-index:var(--z-sticky);
  display:flex; align-items:center; gap:var(--space-6); height:64px; padding-inline:var(--space-6);
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:var(--border-hairline) solid var(--border); }
.nav__brand { display:flex; align-items:center; gap:var(--space-3);
  font-family:var(--font-display); font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-tight); color:var(--text); text-decoration:none; }
.nav__brand img,.nav__brand svg { height:28px; width:auto; display:block; }
.nav__links { display:flex; align-items:center; gap:var(--space-5); margin-left:auto; }
.nav__link { font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--text-sub); }
.nav__link:hover,.nav__link[aria-current="page"] { color:var(--text); text-decoration:none; }
.nav__link[aria-current="page"] { position:relative; }
.nav__link[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-21px;
  height:2px; background:var(--accent); border-radius:var(--radius-full); }

/* --- 14 · HERO (deep-space; one orbital arc + one coral node) -------------- */
.hero { position:relative; overflow:hidden; isolation:isolate; padding:clamp(4rem,10vw,8rem) 0;
  background:radial-gradient(120% 80% at 70% -10%,
      color-mix(in srgb, var(--color-space-700) 60%, transparent), transparent 60%), var(--bg); }
.hero__inner { max-width:var(--container); margin-inline:auto; padding-inline:var(--space-6);
  position:relative; z-index:1; }
.hero__title { font-family:var(--font-display); font-weight:var(--weight-bold);
  font-size:clamp(2.4rem,5vw,var(--text-6xl)); line-height:1.05;
  letter-spacing:var(--tracking-tight); margin:0 0 var(--space-5); max-width:18ch; }
.hero__sub { font-size:var(--text-lg); color:var(--text-sub); max-width:54ch; margin-bottom:var(--space-8); }
.hero__orbit { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.hero__orbit::before { content:""; position:absolute; top:8%; right:-6%;
  width:min(54vw,760px); aspect-ratio:1.9/1; transform:rotate(-22deg);
  border:1px solid color-mix(in srgb, var(--color-silver-300) 26%, transparent);
  border-radius:var(--radius-full); }
.hero__node { position:absolute; top:11%; right:14%; width:14px; height:14px;
  border-radius:var(--radius-full); background:var(--accent); box-shadow:var(--shadow-node);
  animation:orbit-drift var(--duration-orbit) linear infinite; }
@keyframes orbit-drift { to { transform:rotate(360deg) translateX(2px) rotate(-360deg); } }

/* --- 15 · ORBIT DIVIDER (orbital/khipu motif as a section rule) ------------ */
.orbit-rule { display:flex; align-items:center; gap:var(--space-3); margin:var(--space-12) 0; color:var(--text-ghost); }
.orbit-rule::before,.orbit-rule::after { content:""; height:1px; flex:1;
  background:linear-gradient(to right, transparent,
    color-mix(in srgb, var(--color-silver-300) 40%, transparent), transparent); }

/* --- 16 - EVIDENCE CARD + DECISION METRIC --------------------------------- */
.evidence-card { display:grid; gap:var(--space-4); background:var(--surface);
  border:var(--border-hairline) solid var(--border); border-radius:var(--radius-lg);
  padding:var(--space-6); }
.evidence-card__header { display:flex; align-items:flex-start; justify-content:space-between;
  gap:var(--space-4); }
.evidence-card__title { margin:0; font-size:var(--text-lg); }
.evidence-card__meta { display:grid; gap:var(--space-2); margin:0; }
.evidence-card__meta > div { display:grid; grid-template-columns:minmax(7rem,.35fr) 1fr;
  gap:var(--space-3); padding-top:var(--space-2); border-top:1px solid var(--hairline); }
.evidence-card__meta dt { color:var(--text-ghost); font-size:var(--text-xs);
  font-weight:var(--weight-semibold); letter-spacing:var(--tracking-caps); text-transform:uppercase; }
.evidence-card__meta dd { margin:0; color:var(--text); overflow-wrap:anywhere; }
.metric { display:grid; gap:var(--space-1); }
.metric__value { color:var(--text); font:var(--weight-bold) var(--text-2xl)/1 var(--font-display);
  font-variant-numeric:tabular-nums lining-nums; }
.metric__label { color:var(--text-ghost); font-size:var(--text-xs);
  letter-spacing:var(--tracking-caps); text-transform:uppercase; }

@media (max-width:640px) {
  .evidence-card__header { display:grid; }
  .evidence-card__meta > div { grid-template-columns:1fr; gap:var(--space-1); }
}

@media (forced-colors:active) {
  .chip::before,.receipt__dot,.hero__node { border:1px solid currentColor; }
}
.orbit-rule__node { width:7px; height:7px; border-radius:var(--radius-full);
  background:var(--accent); flex:0 0 auto; }

/* --- 16 · TABLE (audit / count data) --------------------------------------- */
.table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
.table th { text-align:left; font-weight:var(--weight-semibold); color:var(--text-sub);
  font-size:var(--text-xs); letter-spacing:var(--tracking-caps); text-transform:uppercase;
  padding:var(--space-3) var(--space-4); border-bottom:var(--border-hairline) solid var(--border); }
.table td { padding:var(--space-3) var(--space-4);
  border-bottom:var(--border-hairline) solid var(--border-subtle); color:var(--text); }
.table td.num { font-family:var(--font-mono); font-variant-numeric:tabular-nums lining-nums; text-align:right; }

/* --- 17 · SKIP LINK (a11y) ------------------------------------------------- */
.skip-link { position:absolute; left:-9999px; z-index:var(--z-max);
  background:var(--surface); color:var(--text); padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-md); border:var(--border-hairline) solid var(--border); }
.skip-link:focus { left:var(--space-4); top:var(--space-4); }

/* End — szl-design-system.css · CC BY 4.0 · ORCID 0009-0001-0110-4173 · ADDITIVE only */
