/* ============================================================================
   INTERNS NETWORK DESIGN TOKENS v1
   ----------------------------------------------------------------------------
   The shared substrate. Every site loads this first.
   Site-specific overrides happen in a single :root[data-site="..."] block.
   Authored by Calm. 2026-05-16.
   ============================================================================ */

:root {
  /* ============================================================
     A. THE NEUTRAL SPINE — shared by all sites, never overridden
     ============================================================ */
  --paper:           #F5EFE2;  /* page background, warm cream */
  --paper-warm:      #F0E8D6;  /* card backgrounds, slightly deeper */
  --paper-edge:      #E8DEC6;  /* between cards and page, a quieter edge */
  --paper-dark:      #181612;  /* night-mode page, banked coal */
  --paper-dark-warm: #221E18;  /* night card */
  --paper-dark-edge: #2A2520;  /* night divider */

  --ink:        #1C1A16;       /* body type, soft black */
  --ink-soft:   #4A453C;       /* captions, marginalia */
  --ink-softer: #756E60;       /* tertiary, disabled */
  --ink-night:  #E8E0CC;       /* body type on dark, candle cream */
  --ink-night-soft:   #B5AC95;
  --ink-night-softer: #847C68;

  --rule:       #C9BFAA;       /* hairlines, 1px borders */
  --rule-soft:  #DCD3BD;       /* the softest dividers */
  --rule-night: #3A352D;
  --rule-night-soft: #2E2924;

  /* ============================================================
     B. THE SEVEN ORGANISMS — color stories, ready to assign
     ============================================================ */

  /* BEE — industrious, sun-warm, citizen */
  --bee-honey:   #F0B429;
  --bee-propolis:#7A5D14;
  --bee-cream:   #FFF6DC;
  --bee-deep:    #4A3808;

  /* BELL — announcement, ceremony, gather-round */
  --bell-patina: #5B6B5A;
  --bell-iron:   #1E2622;
  --bell-rope:   #E7E2D3;
  --bell-deep:   #0E1311;

  /* LANTERN — invitation, dusk-warm */
  --lantern-paper:  #E08E45;
  --lantern-lacquer:#2B1810;
  --lantern-glow:   #FFE9B0;
  --lantern-deep:   #160906;

  /* BONE — memorial, durable, the long now */
  --bone-blanched:  #F3EDE2;
  --bone-earth:     #6E6357;
  --bone-ash:       #221F1A;
  --bone-deep:      #0E0C09;

  /* CART — hauling, useful */
  --cart-rust:      #A0522D;
  --cart-grease:    #3E2B1F;
  --cart-straw:     #D9C9A8;
  --cart-deep:      #1A1108;

  /* FOLKTALE — a tale told around a fire */
  --folktale-story: #7A2E2E;
  --folktale-forest:#0F2A1F;
  --folktale-parch: #E9D5A0;
  --folktale-deep:  #08160E;

  /* RIVER — continuous, patient */
  --river-slow:     #3B6E8F;
  --river-channel:  #1A2E3A;
  --river-mist:     #CFE0E6;
  --river-deep:     #0A171E;

  /* LOCK — restricted-section only */
  --lock-iron:      #3A2A1F;
  --lock-brass:     #7E6B5A;
  --lock-shadow:    #1A1410;

  /* ============================================================
     C. THE ACCENT VARIABLES — what a site declares
     Default (network-default): LANTERN.
     Sites override these three vars in their :root override.
     ============================================================ */
  --accent:        var(--lantern-paper);
  --accent-soft:   var(--lantern-glow);
  --accent-deep:   var(--lantern-lacquer);
  --accent-2:      var(--bee-honey);
  --accent-2-soft: var(--bee-cream);
  --accent-3:      var(--river-slow);
  --accent-3-soft: var(--river-mist);

  /* ============================================================
     D. TYPOGRAPHY — three families, every weight we use
     ============================================================ */
  --font-display: 'Fraunces', 'Cormorant Garamond', Georgia, serif;
  --font-serif:   'Source Serif 4', 'Source Serif Pro', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-mono:    'JetBrains Mono', 'IBM Plex Mono', 'Berkeley Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* fluid scale, clamped */
  --type-display:  clamp(48px, 6.4vw, 96px);
  --type-headline: clamp(36px, 4.2vw, 56px);
  --type-title:    clamp(24px, 2.6vw, 32px);
  --type-subtitle: clamp(20px, 1.8vw, 24px);
  --type-lede:     clamp(20px, 1.6vw, 22px);
  --type-body:     19px;
  --type-small:    16px;
  --type-mono:     13px;
  --type-tiny:     11px;

  /* line-heights */
  --lh-display:    1.05;
  --lh-headline:   1.10;
  --lh-title:      1.20;
  --lh-lede:       1.45;
  --lh-body:       1.55;
  --lh-mono:       1.40;

  /* letter-spacing */
  --tracking-tight:   -0.02em;
  --tracking-snug:    -0.01em;
  --tracking-normal:    0em;
  --tracking-mono:    0.02em;
  --tracking-stamp:   0.08em;
  --tracking-allcaps: 0.14em;

  /* font weights — we are sparing */
  --weight-display: 600;
  --weight-display-bold: 700;
  --weight-body:    400;
  --weight-body-em: 500;
  --weight-strong:  600;

  /* ============================================================
     E. SPACING SCALE — the breath of the page
     ============================================================ */
  --s-0:  4px;
  --s-1:  8px;
  --s-2:  12px;
  --s-3:  16px;
  --s-4:  24px;
  --s-5:  32px;
  --s-6:  48px;
  --s-7:  64px;
  --s-8:  96px;
  --s-9:  128px;
  --s-10: 192px;
  --s-11: 256px;

  /* ============================================================
     F. WIDTHS — the column system
     ============================================================ */
  --w-content:  72ch;
  --w-wide:     92ch;
  --w-bleed:    100vw;
  --w-aside:    18ch;
  --w-narrow:   48ch;
  --w-card:     420px;
  --w-card-lg:  560px;

  --pad-page:   clamp(20px, 4vw, 48px);
  --pad-card:   clamp(20px, 3vw, 32px);

  /* ============================================================
     G. RADII — we are sparing here too
     ============================================================ */
  --r-0:    0px;        /* default: no radius */
  --r-1:    2px;        /* a touch of softening — only on inputs */
  --r-pill: 999px;      /* buttons + neighborhood dots only */
  --r-card: 6px;        /* interstitial cards */

  /* ============================================================
     H. BORDERS — hairlines, not boxes
     ============================================================ */
  --b-hair:    1px solid var(--rule);
  --b-hair-soft: 1px solid var(--rule-soft);
  --b-ink:     1px solid var(--ink);
  --b-accent:  1px solid var(--accent);
  --b-thick:   2px solid var(--ink);

  --b-hair-night: 1px solid var(--rule-night);
  --b-ink-night:  1px solid var(--ink-night);

  /* ============================================================
     I. SHADOWS — almost none
     ----------------------------------------------------------------
     The aesthetic rejects glassmorphism + dropshadow-as-elevation.
     The two shadows below are reserved for: (1) polaroid tilt,
     (2) the "lifted" interstitial card on hover. That's it.
     ============================================================ */
  --shadow-none:    none;
  --shadow-polaroid: 0 8px 18px -10px rgba(28, 26, 22, 0.30),
                     0 2px 4px -2px rgba(28, 26, 22, 0.20);
  --shadow-lift:    0 4px 16px -8px rgba(28, 26, 22, 0.18);

  /* ============================================================
     J. MOTION — the slow-blink
     ============================================================ */
  --motion-fast:    120ms;
  --motion-base:    240ms;
  --motion-slow:    480ms;
  --ease-default:   cubic-bezier(0.22, 0.61, 0.36, 1);   /* ease-out, slow exit */
  --ease-in:        cubic-bezier(0.55, 0.05, 0.68, 0.19);
  --ease-out:       cubic-bezier(0.22, 0.61, 0.36, 1);

  /* ============================================================
     K. Z-INDEX — three layers, no more
     ============================================================ */
  --z-base:    0;
  --z-anchor:  10;
  --z-chrome:  100;
  --z-overlay: 1000;

  /* ============================================================
     L. STAMPS — the small craft details
     ============================================================ */
  --stamp-since: 'since 2026';
  --stamp-by:    'by the collective';
  --stamp-pact:  '5% pact';

  /* ============================================================
     M. UTILITIES — semantic aliases
     ============================================================ */
  --c-link:        var(--accent);
  --c-link-hover:  var(--ink);
  --c-quote-rule:  var(--accent);
  --c-dropcap:     var(--accent);
  --c-marginalia:  var(--ink-soft);
  --c-caption:     var(--ink-soft);
  --c-byline:      var(--ink-soft);
  --c-stamp:       var(--ink-softer);
  --c-anchor-dot:  var(--accent);
  --c-anchor-rule: var(--rule);
  --c-hairline:    var(--rule);
}

/* ============================================================================
   DARK MODE — not an inversion, a different scene
   ============================================================================ */
@media (prefers-color-scheme: dark) {
  :root:not([data-mode="light"]) {
    --paper:      var(--paper-dark);
    --paper-warm: var(--paper-dark-warm);
    --paper-edge: var(--paper-dark-edge);
    --ink:        var(--ink-night);
    --ink-soft:   var(--ink-night-soft);
    --ink-softer: var(--ink-night-softer);
    --rule:       var(--rule-night);
    --rule-soft:  var(--rule-night-soft);
    --b-hair:     var(--b-hair-night);
    --b-ink:      var(--b-ink-night);
  }
}

:root[data-mode="dark"] {
  --paper:      var(--paper-dark);
  --paper-warm: var(--paper-dark-warm);
  --paper-edge: var(--paper-dark-edge);
  --ink:        var(--ink-night);
  --ink-soft:   var(--ink-night-soft);
  --ink-softer: var(--ink-night-softer);
  --rule:       var(--rule-night);
  --rule-soft:  var(--rule-night-soft);
  --b-hair:     var(--b-hair-night);
  --b-ink:      var(--b-ink-night);
}

/* ============================================================================
   SITE OVERRIDES — assign accent organism per site
   Each :root[data-site="X"] only sets the three accent triples.
   ============================================================================ */

/* InternsForAI — LANTERN (default) */
:root[data-site="internsforai"] {
  --accent: var(--lantern-paper);
  --accent-soft: var(--lantern-glow);
  --accent-deep: var(--lantern-lacquer);
  --accent-2: var(--bee-honey);
  --accent-2-soft: var(--bee-cream);
  --accent-3: var(--river-slow);
  --accent-3-soft: var(--river-mist);
}

/* Technosocialism — CART */
:root[data-site="technosocialism"] {
  --accent: var(--cart-rust);
  --accent-soft: var(--cart-straw);
  --accent-deep: var(--cart-grease);
  --accent-2: var(--bee-honey);
  --accent-2-soft: var(--bee-cream);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* TheCreativityMachine — BELL */
:root[data-site="thecreativitymachine"] {
  --accent: var(--bell-patina);
  --accent-soft: var(--bell-rope);
  --accent-deep: var(--bell-iron);
  --accent-2: var(--lantern-paper);
  --accent-2-soft: var(--lantern-glow);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* Cohab — BEE */
:root[data-site="cohab"] {
  --accent: var(--bee-honey);
  --accent-soft: var(--bee-cream);
  --accent-deep: var(--bee-propolis);
  --accent-2: var(--lantern-paper);
  --accent-2-soft: var(--lantern-glow);
  --accent-3: var(--folktale-story);
  --accent-3-soft: var(--folktale-parch);
}

/* The Book — FOLKTALE */
:root[data-site="book"] {
  --accent: var(--folktale-story);
  --accent-soft: var(--folktale-parch);
  --accent-deep: var(--folktale-forest);
  --accent-2: var(--bell-patina);
  --accent-2-soft: var(--bell-rope);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* CriticsAI — BONE */
:root[data-site="criticsai"] {
  --accent: var(--bone-earth);
  --accent-soft: var(--bone-blanched);
  --accent-deep: var(--bone-ash);
  --accent-2: var(--river-slow);
  --accent-2-soft: var(--river-mist);
  --accent-3: var(--folktale-story);
  --accent-3-soft: var(--folktale-parch);
}

/* Polya — BEE */
:root[data-site="polya"] {
  --accent: var(--bee-honey);
  --accent-soft: var(--bee-cream);
  --accent-deep: var(--bee-propolis);
  --accent-2: var(--river-slow);
  --accent-2-soft: var(--river-mist);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* ContinuousRedteam — BEE */
:root[data-site="continuousredteam"] {
  --accent: var(--bee-honey);
  --accent-soft: var(--bee-cream);
  --accent-deep: var(--bee-deep);
  --accent-2: var(--bone-earth);
  --accent-2-soft: var(--bone-blanched);
  --accent-3: var(--cart-rust);
  --accent-3-soft: var(--cart-straw);
}

/* RainbowSix — BONE */
:root[data-site="rainbowsix"] {
  --accent: var(--bone-earth);
  --accent-soft: var(--bone-blanched);
  --accent-deep: var(--bone-ash);
  --accent-2: var(--lantern-paper);
  --accent-2-soft: var(--lantern-glow);
  --accent-3: var(--folktale-story);
  --accent-3-soft: var(--folktale-parch);
}

/* Sssaysomething — BELL */
:root[data-site="sssaysomething"] {
  --accent: var(--bell-patina);
  --accent-soft: var(--bell-rope);
  --accent-deep: var(--bell-iron);
  --accent-2: var(--river-slow);
  --accent-2-soft: var(--river-mist);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* RickSanchez — LANTERN */
:root[data-site="ricksanchez"] {
  --accent: var(--lantern-paper);
  --accent-soft: var(--lantern-glow);
  --accent-deep: var(--lantern-lacquer);
  --accent-2: var(--folktale-story);
  --accent-2-soft: var(--folktale-parch);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* DarkMusk — BONE */
:root[data-site="darkmusk"] {
  --accent: var(--bone-earth);
  --accent-soft: var(--bone-blanched);
  --accent-deep: var(--bone-deep);
  --accent-2: var(--cart-rust);
  --accent-2-soft: var(--cart-straw);
  --accent-3: var(--folktale-story);
  --accent-3-soft: var(--folktale-parch);
}

/* SameAsYou — FOLKTALE */
:root[data-site="sameasyou"] {
  --accent: var(--folktale-story);
  --accent-soft: var(--folktale-parch);
  --accent-deep: var(--folktale-forest);
  --accent-2: var(--river-slow);
  --accent-2-soft: var(--river-mist);
  --accent-3: var(--bee-honey);
  --accent-3-soft: var(--bee-cream);
}

/* YouLikeYou — FOLKTALE */
:root[data-site="youlikeyou"] {
  --accent: var(--folktale-story);
  --accent-soft: var(--folktale-parch);
  --accent-deep: var(--folktale-forest);
  --accent-2: var(--lantern-paper);
  --accent-2-soft: var(--lantern-glow);
  --accent-3: var(--river-slow);
  --accent-3-soft: var(--river-mist);
}

/* MoneyPython — CART */
:root[data-site="moneypython"] {
  --accent: var(--cart-rust);
  --accent-soft: var(--cart-straw);
  --accent-deep: var(--cart-grease);
  --accent-2: var(--bee-honey);
  --accent-2-soft: var(--bee-cream);
  --accent-3: var(--bone-earth);
  --accent-3-soft: var(--bone-blanched);
}

/* ============================================================================
   ACCESSIBILITY — respect reader preferences
   ============================================================================ */
@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-fast:    0ms;
    --motion-base:    0ms;
    --motion-slow:    0ms;
  }
}

/* end tokens.css */
