@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500&family=Geist+Mono:wght@400;500&display=swap');

:root {
  --red:      #C0392B;

  --bg:       #F7F4EF;
  --surface:  #EFECE6;
  --surface2: #E6E2DA;
  --text:     #0F0E0D;
  --text-sub: #3A3530;
  --text-dim: #857C74;
  --border:   rgba(15,14,13,0.10);
  --shadow:   rgba(192,57,43,0.08);

  --radius: 3px;
  --ease:   cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-theme="dark"] {
  --bg:       #0E0D0B;
  --surface:  #1C1A16;
  --surface2: #272420;
  --text:     #F2EDE4;
  --text-sub: #D4CCC4;
  --text-dim: #A89F96;
  --border:   rgba(242,237,228,0.18);
  --shadow:   rgba(192,57,43,0.22);
  --red:      #E8574A;
}

/* Semantic tokens derived from palette */
:root {
  --backdrop:       rgba(15,14,13,0.65);
  --shadow-panel:   rgba(0,0,0,0.18);
  --shadow-float:   rgba(0,0,0,0.12);

  --diff-add-bg:    rgba(63,185,80,0.10);
  --diff-add-text:  #3fb950;
  --diff-del-bg:    rgba(248,81,73,0.10);
  --diff-del-text:  #f85149;
  --diff-hunk-bg:   rgba(192,57,43,0.06);
}

[data-theme="dark"] {
  --backdrop:       rgba(0,0,0,0.72);
  --shadow-panel:   rgba(0,0,0,0.48);
  --shadow-float:   rgba(0,0,0,0.32);

  --diff-add-bg:    rgba(63,185,80,0.14);
  --diff-add-text:  #56d364;
  --diff-del-bg:    rgba(248,81,73,0.14);
  --diff-del-text:  #ff7b72;
  --diff-hunk-bg:   rgba(200,80,60,0.10);
}
