/* GENERATED by scripts/generate-forge-tokens.mjs. Do not hand-edit.
 * HEPHforge suite chrome (dark only). Pair with forges/{slug}.tokens.css for
 * the service accent. Contract: TOKENS.md. */
:root {
  color-scheme: dark;
  --n-50: #F5F7F7;
  --n-100: #E8EDEC;
  --n-200: #CED5D4;
  --n-300: #AFB9B8;
  --n-400: #909C9B;
  --n-500: #707D7C;
  --n-600: #46524F;
  --n-700: #34403F;
  --n-800: #263032;
  --n-850: #1F2729;
  --n-900: #1A2123;
  --n-950: #151B1C;
  /* semantic */
  --void: var(--n-950);
  --panel: var(--n-900);
  --panel-2: var(--n-850);
  --raised: var(--n-800);
  --line: var(--n-700);
  --line-soft: color-mix(in srgb, var(--n-700) 55%, var(--n-950));
  --ink: var(--n-100);
  --text-2: var(--n-300);
  --muted: var(--n-400);
  --faint: var(--n-500);
  --forge-white: var(--n-50);
  --danger: #F0836F;
  --warn: #F5A524;
  --ok: #4ADE80;
  --radius-card: 18px;
  --radius-ctl: 10px;
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --grid-line: rgba(232, 237, 236, 0.026);
  --grid-node: rgba(232, 237, 236, 0.075);
  /* shell names used by service product chrome */
  --bg: var(--void);
  --surface: var(--panel);
  --surface-raised: var(--panel-2);
  --surface-high: var(--raised);
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.14);
  --text: var(--ink);
  --input-bg: var(--void);
  --btn-bg: var(--raised);
  --hover-overlay: color-mix(in srgb, var(--forge-accent, #4ADE80) 9%, transparent);
  --chart-1: #c97600; --chart-2: #1f9e94; --chart-3: #9b6dff; --chart-4: #5aa36a;
  --chart-5: #c93d16; --chart-6: #4a7fd4; --chart-other: #6f6f78; --chart-grid: rgba(255, 255, 255, 0.07);
  /* legacy Haephestus names, pointed at suite values so older CSS keeps working */
  --accent-gold: var(--forge-accent-hover, var(--forge-accent));
  --ember: var(--warn);
}
.wm { font-family: var(--font-display); font-weight: 700; letter-spacing: -.01em; }
.wm .forge { font-weight: 500; }
/* Node-graph backdrop: a 56px grid with a node at every crossing. Lines sit
   at x = 50% + 56k and y = --grid-y + 56k so decorations can snap to it. */
.node-grid { position: relative; isolation: isolate; }
.node-grid::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(circle, var(--grid-node) 1.3px, transparent 1.8px),
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 56px 56px;
  background-position: 50% calc(var(--grid-y, 0px) - 28px), calc(50% + 28px) var(--grid-y, 0px), calc(50% + 28px) var(--grid-y, 0px);
  -webkit-mask-image: linear-gradient(#000 0, rgba(0,0,0,.7) 900px, rgba(0,0,0,.4) 100%);
  mask-image: linear-gradient(#000 0, rgba(0,0,0,.7) 900px, rgba(0,0,0,.4) 100%);
}
