/* 2026-09-11 15:12 */
/* Design tokens, font faces, and base element styling. */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/vendor/fonts/jetbrains_mono_400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/vendor/fonts/jetbrains_mono_700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  --bg: #fbf5f7;
  --panel: #ffffff;
  --panel_alt: #fdf1f4;
  --border: #f0d6de;
  --accent: #d9476f;
  --accent_soft: #f6c9d6;
  --text: #2a2226;
  --text_muted: #9a7f88;
  --danger: #c62828;

  --radius: 14px;
  --radius_pill: 999px;
  --gap: 12px;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --shadow: 0 1px 2px rgba(42, 34, 38, 0.06), 0 6px 20px rgba(217, 71, 111, 0.06);
  --tag_font: 14px;
  --card_font: 14px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0; height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent); text-underline-offset: 2px; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 6px;
}

::selection { background: var(--accent_soft); }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
