/* Shared by every page: fonts, Bone tokens, reset, nav, footer. */
@font-face { font-family: "Geist"; src: url("/fonts/geist-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("/fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }

/* Bone tokens, copied from axernel frontend/apps/web/src/index.css (ADR 0006: copied, not depended on).
   Radius rule: panels 12px, controls and cells 8px, the runtime pill is full. */
:root {
  color-scheme: light dark;
  --background: #F5F4F1;
  --card: #FFFFFF;
  --foreground: #191714;
  --fg-2: #5C574E;
  --fg-muted: #6D675E;
  --primary: #191714;
  --primary-hover: #33302A;
  --primary-press: #0D0C0A;
  --primary-foreground: #FFFFFF;
  --line-ink: 53 35 0;
  --border: rgb(var(--line-ink) / 0.11);
  --border-strong: rgb(var(--line-ink) / 0.18);
  --well: rgba(25, 23, 20, 0.04);
  --ring: #3B6FE0;
  --brand: #FF6007; /* a voice (runtime label), never an action */
  --brand-ink: #191714;
  --destructive: #BE3B2D;
  --success: #04814A;
  --font-sans: "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --background: oklch(18.3% 0.004 85);
    --card: oklch(22.2% 0.004 85);
    --foreground: oklch(95% 0.008 85);
    --fg-2: oklch(71.8% 0.008 85);
    --fg-muted: oklch(65.5% 0.008 85);
    --primary: #F1EEE8;
    --primary-hover: #FFFFFF;
    --primary-press: #D8D3CA;
    --primary-foreground: #0D0C0A;
    --line-ink: 255 253 247;
    --border: rgb(var(--line-ink) / 0.10);
    --border-strong: rgb(var(--line-ink) / 0.20);
    --well: rgba(0, 0, 0, 0.22);
    --ring: #6E9BFF;
    --brand: #FF7A2E;
    --brand-ink: #0D0C0A;
    --destructive: #F27F6F;
    --success: #4BD190;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font: 400 16px/1.5 var(--font-sans);
  -webkit-font-smoothing: antialiased;
}
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 24px; }
a { color: inherit; text-underline-offset: 4px; }
:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 4px; }
h1, h2, p { margin: 0; }

/* Nav */
.nav { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.wordmark { font: 500 17px/1 var(--font-sans); letter-spacing: 0.4em; text-decoration: none; }
.nav a:not(.wordmark) { font-size: 14px; color: var(--fg-2); text-decoration: none; }
.nav a:not(.wordmark):hover { color: var(--foreground); }
.nav .links { display: flex; gap: 28px; }
.nav a[aria-current] { color: var(--foreground); }


/* Footer */
footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0 40px; border-top: 1px solid var(--foreground); font-size: 14px; color: var(--fg-2); }
footer .domain { font: 400 13px/1 var(--font-mono); letter-spacing: 0.3em; color: var(--foreground); }
footer .from { display: flex; align-items: center; gap: 10px; text-decoration: none; }
footer .sd { height: 30px; width: auto; color: var(--foreground); }

@media (max-width: 480px) { .wrap { padding: 0 16px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
