/* base.css — variables, reset, html, shared body decoration */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --ink:      #0f0e0d;
  --paper:    #f5f0e8;
  --cream:    #ede8de;
  --rule:     #d4cec2;
  --mid:      #8a8278;
  --ok:       #1a7a4a;
  --err:      #c0392b;
  --warn:     #b8860b;
  --mastodon: #6364ff;
  --bsky:     #0285ff;
  --threads:  #0f0e0d;
  --linkedin: #0a66c2;
  --serif: 'Instrument Serif', Georgia, serif;
  --sans:  'Syne', sans-serif;
  --mono:  'Azeret Mono', monospace;
}

html { font-size: 16px; }

body::before {
  content: '';
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 999;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}
