// Shared site tokens & primitives used across the neutral landing,
// the Studio side, and the Labs side. Brand tokens come from brand.jsx (window.*).

const INK = '#0E0E0E';
const PAPER = '#F1EEE6';
const MUTED_C = 'rgba(14,14,14,0.55)';
const RULE = 'rgba(14,14,14,0.14)';
const RULE_SOFT = 'rgba(14,14,14,0.07)';
const ACCENT_FOREST = '#1F3B2E';
const ACCENT_BLUE = '#4E6FA9';
const SERIF_FF = '"EB Garamond", "Cormorant Garamond", Georgia, "Times New Roman", serif';
const MONO_FF = '"JetBrains Mono", ui-monospace, Menlo, monospace';

// Labs register — ink-dark, cooler, more system-panel
const LABS_INK = '#0A0D10';
const LABS_PAPER = '#E8E6DF';
const LABS_MUTED = 'rgba(232,230,223,0.55)';
const LABS_RULE = 'rgba(232,230,223,0.14)';
const LABS_RULE_SOFT = 'rgba(232,230,223,0.07)';

const EMAIL_USER = 'contact';
const EMAIL_DOMAIN = 'generative-studio.nl';

function MonoLabel({ children, color = MUTED_C, size = 10, track = '0.28em' }) {
  return (
    <span style={{
      fontFamily: MONO_FF, fontSize: size, letterSpacing: track, textTransform: 'uppercase', color,
    }}>{children}</span>
  );
}

function RuleRow({ left, right, border = RULE, muted = MUTED_C, pad = 20 }) {
  return (
    <div style={{
      display: 'flex', justifyContent: 'space-between', alignItems: 'baseline',
      paddingBottom: pad, borderBottom: `1px solid ${border}`,
      fontFamily: MONO_FF, fontSize: 10, letterSpacing: '0.28em', textTransform: 'uppercase', color: muted,
    }}>
      <span>{left}</span>
      <span>{right}</span>
    </div>
  );
}

Object.assign(window, {
  INK, PAPER, MUTED_C, RULE, RULE_SOFT,
  ACCENT_FOREST, ACCENT_BLUE,
  SERIF_FF, MONO_FF,
  LABS_INK, LABS_PAPER, LABS_MUTED, LABS_RULE, LABS_RULE_SOFT,
  EMAIL_USER, EMAIL_DOMAIN,
  MonoLabel, RuleRow,
});
