/* ============================================================
   NewDawn.ai Design System — colors & type
   ND-DS · V1.0 · ENHANCED-UX VARIANT
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;1,9..144,400&display=swap');

:root {
  /* paper & ink (default = light) */
  --paper:        #F5F1EA;
  --paper-2:      #EDE7DB;
  --paper-3:      #E2DBCB;
  --ink:          #141311;
  --ink-2:        #3A3631;
  --ink-3:        #6B6357;
  --rule:         #C9C2B3;
  --rule-soft:    #DDD6C6;

  /* dawn palette — ember accent + horizon bands */
  --ember:         #C96F3B;
  --ember-bright:  #E8844A;
  --ember-deep:    #8F4A25;
  --dawn-rose:     #D56A7A;
  --horizon-peach: #F2B27A;
  --horizon-gold:  #E9C46A;
  --night-indigo:  #2B2A52;
  --night-deep:    #191834;
  --signal-cyan:   #6AB8C4;
  --phosphor:      #6BA86E;
  --amber:         #B88A2A;
  --alert:         #A33C2A;

  /* per-shape accent tokens — bind one hue per service */
  --shape-copilots:   var(--ember);
  --shape-rag:        var(--signal-cyan);
  --shape-agents:     var(--dawn-rose);
  --shape-voice:      var(--horizon-gold);
  --shape-automation: var(--phosphor);
  --shape-integrate:  #5A5FB8;   /* lightened indigo for dark-bg legibility */

  --dawn-gradient:
    linear-gradient(180deg,
      var(--night-deep)    0%,
      var(--night-indigo)  24%,
      var(--dawn-rose)     55%,
      var(--horizon-peach) 78%,
      var(--horizon-gold)  92%,
      var(--paper)        100%);

  --dawn-halo:
    radial-gradient(ellipse 80% 60% at 50% 70%,
      var(--horizon-peach) 0%,
      var(--dawn-rose)    30%,
      var(--night-indigo) 70%,
      var(--night-deep)   100%);

  /* status */
  --status-shipping: var(--phosphor);
  --status-build:    var(--amber);
  --status-alert:    var(--alert);
  --status-live:     var(--ember);

  /* type */
  --font-mono:  'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --font-serif: 'Fraunces', 'Iowan Old Style', Georgia, serif;

  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   22px;
  --fs-xl:   28px;
  --fs-2xl:  36px;
  --fs-3xl:  48px;
  --fs-4xl:  64px;
  --fs-5xl:  88px;

  --lh-tight:  1.05;
  --lh-snug:   1.25;
  --lh-normal: 1.55;
  --lh-loose:  1.7;

  --tracking-tight:  -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.08em;
  --tracking-wider:  0.14em;

  /* spacing — 4px base */
  --sp-1:    4px;
  --sp-2:    8px;
  --sp-3:   12px;
  --sp-4:   16px;
  --sp-5:   24px;
  --sp-6:   32px;
  --sp-7:   48px;
  --sp-8:   64px;
  --sp-9:   96px;
  --sp-10: 128px;

  --gutter:      24px;
  --gutter-lg:   48px;
  --max-w-prose: 720px;
  --max-w-wide: 1120px;

  /* borders / corners / shadows */
  --border-hair: 1px solid var(--rule);
  --border-ink:  1px solid var(--ink);
  --border-soft: 1px solid var(--rule-soft);

  --radius-none: 0;
  --radius-chip: 2px;
  --radius-cta:  4px;

  --shadow-stamp:        2px 2px 0 rgba(20,19,17,0.08);
  --shadow-stamp-strong: 3px 3px 0 rgba(20,19,17,0.16);

  /* motion */
  --ease:     cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur-fast: 150ms;
  --dur:      250ms;
  --dur-slow: 400ms;

  /* z-index */
  --z-base:    1;
  --z-raised: 10;
  --z-nav:   100;
  --z-modal: 1000;
}

/* Dark mode — opt-in via [data-theme="dark"] */
[data-theme="dark"] {
  --paper:    #0C0C0B;
  --paper-2:  #17161A;
  --paper-3:  #1F1D1F;
  --ink:      #EDE7DB;
  --ink-2:    #C9C2B3;
  --ink-3:    #8B8478;
  --rule:     #2A2723;
  --rule-soft:#1F1D1A;
}

/* prose helper */
.nd-body, html.nd-body {
  font-family: var(--font-mono);
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--ink);
  background: var(--paper);
  font-feature-settings: "ss01","ss02","cv02","cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.nd-eyebrow {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-family: var(--font-mono); font-size: var(--fs-xs);
  font-weight: 500; text-transform: uppercase;
  letter-spacing: var(--tracking-wider); color: var(--ink-2);
}
.nd-chip {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  padding: var(--sp-1) var(--sp-3);
  font-family: var(--font-mono); font-size: var(--fs-xs);
  font-weight: 500; text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  border: var(--border-hair); border-radius: var(--radius-chip);
  color: var(--ink-2); background: transparent;
}
.nd-chip--live     { color: var(--ember);   border-color: var(--ember); }
.nd-chip--shipping { color: var(--phosphor); border-color: var(--phosphor); }
.nd-chip--build    { color: var(--amber);   border-color: var(--amber); }

.nd-rule { border:0; height:1px; background:var(--rule); margin:var(--sp-7) 0; }
.nd-tabular { font-variant-numeric: tabular-nums; }
