@font-face { font-family: "Press Start 2P"; src: url("/assets/fonts/press-start-2p-latin-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/assets/fonts/inter-latin-var.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("/assets/fonts/jetbrains-mono-latin-var.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }

:root {
  /* Palette — from the HiveDesk icon (see DESIGN.md). */
  --night-0: #0b0920; --night-1: #120f2a; --night-2: #1e1850; --night-3: #2e2466; --night-4: #3f3290;
  --violet-0: #5745ad; --violet-1: #8a7cf0; --violet-2: #c9c2ff;
  --mint-0: #2a7f78; --mint-1: #6cc3b4; --mint-2: #a4e3d2; --mint-3: #e2fbef;
  --amber: #ffc24d; --coral: #ff7a6b;
  --paper-0: #f4f1ea; --paper-1: #e9e3d6; --ink: #1e1a2e;

  /* Semantic — night office (default). */
  --bg: var(--night-1);
  --bg-deep: var(--night-0);
  --surface: var(--night-2);
  --surface-2: var(--night-3);
  --line: var(--night-4);
  --text: #eeeaff;
  --text-muted: #b3acd9;
  --accent: var(--mint-1);
  --accent-ink: var(--night-0);
  --link: var(--mint-2);
  --focus: var(--amber);
  --sky-top: #0b0920; --sky-bottom: #231c5c;
  --window-lit: var(--amber); --window-dark: #251f55;

  /* Type */
  --font-pixel: "Press Start 2P", ui-monospace, monospace;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;

  /* Space & layout */
  --px: 2px;                /* one art pixel at 1x */
  --gutter: 16px;
  --max: 1120px;
  --header-h: 64px;

  /* Motion */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --dur-press: 120ms; --dur-hover: 160ms; --dur-menu: 220ms; --dur-door: 280ms;

  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: var(--paper-0);
  --bg-deep: var(--paper-1);
  --surface: #ffffff;
  --surface-2: #f0ebfb;
  --line: #cdc4ea;
  --text: var(--ink);
  --text-muted: #56506e;
  --accent: var(--mint-0);
  --accent-ink: #ffffff;
  --link: #3d2f9b;
  --focus: #b3530a;
  --sky-top: #9fd8f2; --sky-bottom: #e2fbef;
  --window-lit: #ffe39a; --window-dark: #8a7cf0;
  color-scheme: light;
}

@media (min-width: 720px) { :root { --gutter: 24px; --header-h: 72px; } }
