/* Project Daylight — design tokens */
:root {
  /* Paper & ink — warm cream, not white */
  --paper: #f8f3e8;
  --paper-2: #f1e9d6;
  --paper-rule: #e4d7b8;
  --ink: #1c1a15;
  --ink-2: #3a362c;
  --ink-3: #6b6350;
  --ink-4: #9a9079;

  /* Daylight — the signal color */
  --daylight: #d89614;     /* amber core */
  --daylight-deep: #a66a08;
  --daylight-pale: #f4d88a;
  --daylight-wash: #fbe9b8;

  /* Dusk — the slate counterweight */
  --dusk: #2a3240;
  --dusk-2: #485365;
  --dusk-3: #7b8699;

  /* Severity — muted, earned */
  --sev-info: #7b8699;
  --sev-concern: #b9932c;
  --sev-serious: #c5701f;
  --sev-urgent: #a5391b;
  --sev-critical: #7a1b15;

  /* Status (timeline) */
  --st-proposed: #9a9079;
  --st-planned:  #3a6185;
  --st-progress: #a66a08;
  --st-blocked:  #7a1b15;
  --st-done:     #3e6b3b;
  --st-abandoned:#4a4a4a;

  /* Persona domain hues — paired with ink foreground */
  --d-labor:     #c5701f;
  --d-climate:   #3e6b3b;
  --d-civil:     #7a3b6b;
  --d-democracy: #3a6185;
  --d-health:    #a5391b;
  --d-housing:   #8a6a2f;
  --d-economy:   #2d5a5a;
  --d-education: #684d99;

  /* Type */
  --serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Scale */
  --gutter: 24px;
  --rule: 1px solid var(--paper-rule);
  --rule-ink: 1px solid var(--ink);
  --rule-strong: 2px solid var(--ink);
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* Utility: mono meta label */
.meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.meta-strong { color: var(--ink); }

/* Serif display */
.display {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.02;
}
.display-italic { font-style: italic; }

/* Rules */
.hr { border: 0; border-top: var(--rule); margin: 0; }
.hr-ink { border: 0; border-top: var(--rule-ink); margin: 0; }

/* Severity chip */
.sev {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink);
}
.sev::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: var(--sev-info);
  box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px currentColor;
}
.sev[data-sev="info"]::before { background: var(--sev-info); }
.sev[data-sev="concern"]::before { background: var(--sev-concern); }
.sev[data-sev="serious"]::before { background: var(--sev-serious); }
.sev[data-sev="urgent"]::before { background: var(--sev-urgent); }
.sev[data-sev="critical"]::before { background: var(--sev-critical); }

/* Status pill */
.st {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--st-planned);
}
.st[data-st="proposed"] { color: var(--st-proposed); }
.st[data-st="planned"]  { color: var(--st-planned); }
.st[data-st="in-progress"], .st[data-st="progress"] { color: var(--st-progress); }
.st[data-st="blocked"]  { color: var(--st-blocked); }
.st[data-st="done"]     { color: var(--st-done); }
.st[data-st="abandoned"]{ color: var(--st-abandoned); }

/* Category tag */
.cat {
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Focus */
:focus-visible { outline: 2px solid var(--daylight); outline-offset: 2px; }
