/* =========================================================
   GN PDF — Theme Tokens
   Royal Purple #84039e primary + premium light/dark themes.
   ========================================================= */

:root {
  /* Brand */
  --brand:           #84039e;
  --brand-deep:      #5a0270;
  --brand-soft:      #f4e7f7;
  --gold:            #c9a227;
  --gold-soft:       #f6ecc8;
  --maroon:          #7a1f2b;

  /* Status */
  --ok:              #1f9d55;
  --warn:            #c97b1a;
  --err:             #c0392b;

  /* Typography */
  --font-ui:         'Plus Jakarta Sans', 'Noto Sans Devanagari', system-ui, -apple-system, sans-serif;
  --font-brand:      'Playfair Display', Georgia, serif;
  --font-mono:       'JetBrains Mono', ui-monospace, monospace;

  /* Radius / shadows */
  --radius-sm:       6px;
  --radius:          10px;
  --radius-lg:       18px;
  --radius-xl:       24px;
  --shadow-sm:       0 1px 2px rgba(20, 10, 30, 0.06);
  --shadow:          0 4px 14px rgba(60, 20, 80, 0.08);
  --shadow-lg:       0 20px 50px rgba(60, 20, 80, 0.14);
  --shadow-purple:   0 10px 28px rgba(132, 3, 158, 0.28);

  /* Transitions */
  --t-fast:          120ms ease;
  --t:               220ms cubic-bezier(.2,.7,.2,1);
}

/* ---------- LIGHT THEME ---------- */
html[data-theme="light"] {
  --bg:              #fbf8fc;
  --bg-soft:         #f3edf7;
  --surface:         #ffffff;
  --surface-2:       #faf6fc;
  --border:          #ebe2f0;
  --border-strong:   #d5c4de;
  --text:            #1a0f24;
  --text-soft:       #5a4a66;
  --text-muted:      #8a7c92;
  --link:            #84039e;
  --link-hover:      #5a0270;

  --header-bg:       rgba(255,255,255,0.85);
  --header-border:   #ece3f1;

  --tool-bg:         #ffffff;
  --tool-border:     #e7dded;
  --tool-active:     #f4e7f7;

  --canvas-bg:       #f6f1f9;
  --canvas-page:     #ffffff;
  --canvas-shadow:   0 8px 30px rgba(60,20,80,0.10);

  --ad-bg:           #f6efea;
  --ad-border:       #ecd9c6;
  --ad-text:         #8a6b3f;

  /* v2 aliases used by tools grid / mega menu / search */
  --bg-card:         #ffffff;
}

/* ---------- DARK THEME ---------- */
html[data-theme="dark"] {
  --bg:              #15101b;
  --bg-soft:         #1c1525;
  --surface:         #1f1729;
  --surface-2:       #261c32;
  --border:          #2f2240;
  --border-strong:   #432f57;
  --text:            #f1eaf6;
  --text-soft:       #c2b5cf;
  --text-muted:      #8b7d99;
  --link:            #d28be3;
  --link-hover:      #ffffff;

  --header-bg:       rgba(21, 16, 27, 0.85);
  --header-border:   #2a1f3a;

  --tool-bg:         #221830;
  --tool-border:     #382749;
  --tool-active:     #3a1e4a;

  --canvas-bg:       #0f0a16;
  --canvas-page:     #f6f0f9; /* page itself stays light for PDF rendering */
  --canvas-shadow:   0 8px 30px rgba(0,0,0,0.55);

  --ad-bg:           #2a2031;
  --ad-border:       #3b2a47;
  --ad-text:         #c9b8d4;

  /* v2 aliases */
  --bg-card:         #1f1729;
}

/* ---------- Global element resets that use the tokens ---------- */
html, body { background: var(--bg); color: var(--text); }
a { color: var(--link); }
a:hover { color: var(--link-hover); }
::selection { background: var(--brand); color: #fff; }

/* Smooth theme change */
html, body, .gn-header, .gn-footer, .gn-toolbar, .gn-card, .gn-panel {
  transition: background-color var(--t), color var(--t), border-color var(--t);
}
