/* RomeoRaven brand identity.
   All theme colors derive from these values.
   Fonts: add @font-face declarations above the :root block for local woff2 files. */

/* Font-face declarations -- served locally from assets/fonts/. */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-latin-italic.woff2") format("woff2");
}

/* Font pool -- all available fonts (only referenced ones load) */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-700-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-600-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/open-sans-latin-700-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Dancing Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/dancing-script-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Dancing Script";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/dancing-script-latin-700-normal.woff2") format("woff2");
}

:root {
  /* Brand colors */
  --brand-purple: rebeccapurple;  /* Canonical RomeoRaven purple. */
  --brand-proof: #03A062;         /* Green: proof, live state, validation. */
  --brand-primary: var(--brand-purple);

  /* IMMUTABLE: rebeccapurple. Named for Rebecca Meyer (2014).
     Do NOT change this hue. Derivatives via color-mix only.
     Hex: #663399 | RGB: 102, 51, 153 | HSL: 270, 50%, 40% */
  --brand-accent: var(--brand-proof);
  --brand-danger: #fb7185;        /* Error/danger color */
  --brand-success: #9ccf5d;       /* Success/positive, distinct from proof green */
  --brand-warn: #fbbf24;          /* Warning color */
  --brand-info: #38bdf8;          /* Informational color */

  /* Font families */
  --font-heading: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: "Courier New", monospace;
}


/* RR dev mockup redesign tokens. Rebecca Purple remains canonical. */
:root {
  --rr-purple: rebeccapurple;
  --rr-purple-soft: color-mix(in srgb, rebeccapurple 52%, white 48%);
  --rr-purple-ink: color-mix(in srgb, rebeccapurple 70%, black 30%);
  --rr-proof: var(--brand-proof);
  --rr-ink: #10131a;
  --rr-ink-2: #171c27;
  --rr-ink-3: #222a39;
  --rr-paper: #eee4cf;
  --rr-paper-soft: #f6f0e3;
  --rr-paper-muted: #d8cbb4;
  --rr-line: color-mix(in srgb, rebeccapurple 42%, #aeb7c6 58%);
  --rr-board-bg: #0b0e14;
  --rr-board-panel: #151a24;
  --rr-board-card: #202636;
  --rr-board-card-soft: #273044;
  --rr-shadow-board: 0 28px 90px rgba(0, 0, 0, .36);
  --rr-shadow-paper: 0 18px 60px rgba(0, 0, 0, .22);
  --rr-radius-board: 28px;
  --rr-radius-card: 18px;
  --rr-serif: Georgia, "Times New Roman", serif;
  --rr-sans: var(--font-body);
}
