@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;700&display=swap');
/* Substrate theme: Administrative Decay
 * Cross-theme variable convention: --sub-teal carries Rust, --sub-amber
 * carries Cold, --sub-violet carries Warning, --sub-ember carries Stamp.
 * See instructions_visual_style_guide_administrative_decay.md, "Semantic
 * Mapping to Transit Guide". */

[data-theme="decay"] {
  color-scheme: light;
  --sub-bg:           #F4F1EB;
  --sub-surface:      #EDEAE3;
  --sub-border:       #C8C3B8;
  --sub-text:         #2C2A26;
  --sub-muted:        #6B6760;

  --sub-teal:         #8B4513;   /* Rust */
  --sub-teal-light:   #F0E4D8;   /* Rust Light */
  --sub-amber:        #4A6670;   /* Cold */
  --sub-amber-light:  #E2EAED;   /* Cold Light */
  --sub-violet:       #6B3848;   /* Warning */
  --sub-violet-light: #EFE4E8;   /* Warning Light */
  --sub-iron:         #5A5852;
  --sub-ember:        #A01818;   /* Stamp */
  --sub-ember-light:  #F4DCDC;   /* Stamp Light */

  /* Semantic state tokens */
  --sub-success:      #5A6840;
  --sub-danger:       var(--sub-ember);
  --sub-danger-light: var(--sub-ember-light);

  /* Spec-stamp tokens — Decay maps differently from Transit because the
   * semantic-to-hue mapping reshuffles (see guide's mapping table). */
  --sub-stamp-flagged:    var(--sub-amber);   /* Cold — institutional attention */
  --sub-stamp-restricted: var(--sub-violet);  /* Warning */
  --sub-stamp-audited:    var(--sub-teal);    /* Rust — under institutional review */
  --sub-stamp-frozen:     var(--sub-iron);
  --sub-stamp-disputed:   var(--sub-ember);   /* Stamp */

  --sub-roll-critical: var(--sub-success);
  --sub-roll-fumble:   var(--sub-ember);

  --font-primary:       'IBM Plex Sans', sans-serif;
  --font-institutional: 'IBM Plex Mono', monospace;

/* ─── Rim system contract ─────────────────────────────────────────────
 * Consumed by every component stylesheet (css/substrate-nav.css documents
 * the contract). The theme keeps its own faces and palette; the discipline
 * — three type roles, a heading range, 1px rules, 2px control corners —
 * is shared. */
  --font-display:       'IBM Plex Sans', sans-serif;
  --h1-color:           #8B4513;   /* Rust */
  --h2-color:           #4A6670;   /* Cold */
  --h3-color:           #6B3848;   /* Warning — headings only */
  --h4-color:           #8B4513;
  --rule-weight:        1px;
  --radius-control:     2px;
  --radius-plate:       0;
  --track-body:         0;
  --track-inst:         0.06em;
}

@media screen {
  [data-theme="decay"][data-color-mode="dark"] {
    color-scheme: dark;
    --sub-bg:           #1C1B18;
    --sub-surface:      #252420;
    --sub-border:       #4A4740;
    --sub-text:         #D8D4CC;
    --sub-muted:        #8A8580;

    --sub-teal:         #C4875A;   /* Rust dark */
    --sub-teal-light:   #2E2218;
    --sub-amber:        #7A9DAA;   /* Cold dark */
    --sub-amber-light:  #1C2628;
    --sub-violet:       #B07888;   /* Warning dark */
    --sub-violet-light: #2C1A20;
    --sub-iron:         #8A8880;
    --sub-ember:        #D46060;   /* Stamp dark */
    --sub-ember-light:  #2C1A1A;

    --sub-success:      #88A070;
    --h1-color:         #C4875A;
    --h2-color:         #7A9DAA;
    --h3-color:         #B07888;
    --h4-color:         #C4875A;
  }
}

@media screen and (prefers-color-scheme: dark) {
  [data-theme="decay"]:not([data-color-mode="light"]) {
    color-scheme: dark;
    --sub-bg:           #1C1B18;
    --sub-surface:      #252420;
    --sub-border:       #4A4740;
    --sub-text:         #D8D4CC;
    --sub-muted:        #8A8580;

    --sub-teal:         #C4875A;
    --sub-teal-light:   #2E2218;
    --sub-amber:        #7A9DAA;
    --sub-amber-light:  #1C2628;
    --sub-violet:       #B07888;
    --sub-violet-light: #2C1A20;
    --sub-iron:         #8A8880;
    --sub-ember:        #D46060;
    --sub-ember-light:  #2C1A1A;

    --sub-success:      #88A070;
    --h1-color:         #C4875A;
    --h2-color:         #7A9DAA;
    --h3-color:         #B07888;
    --h4-color:         #C4875A;
  }
}

