/*
 * @file Eldora brand CSS served by the CDN (the --theme-* variables + self-hosted @font-face faces).
 * @description Brand artifact loaded by every Eldora browser surface. It carries two things:
 *   1. `@font-face` for the self-hosted Eldora fonts (relative `fonts/*.woff2` URLs).
 *   2. the `:root` `--theme-*` brand block — colours + fonts.
 * Both sit between the `GENERATED:*` markers and are DERIVED from
 * the `brand/theme.yaml` beside this file (this environment's own authored Eldora brand): edit the brand there
 * and run `pnpm --filter @apps/theming generate:brand`; the drift check (brand-generation.test.ts) fails if
 * these regions go stale. Everything OUTSIDE the markers — here, this header alone — is hand-owned.
 * The hand-owned region carries TOKENS ONLY — never a chrome rule. How the admin and data surfaces are laid
 * out (the left rail, its entries, the title band) is shared code, declared once in
 * packages/app-shell/src/styles/surface.css and coloured for every customer through the `--theme-*` contract
 * below, so Eldora's rail is green because Eldora's brand is green and for no other reason. A rule written
 * here is served from the CDN after that sheet and would silently win; the surface-optin.test.ts guard in
 * @apps/app-shell fails on any selector this file shares with it. That this environment holds no rule at all
 * is the intended state, not an omission.
 */

/* === 1. Self-hosted Eldora fonts === */

/* GENERATED:brand-fonts — do not edit by hand; run `pnpm --filter @apps/theming generate:brand` */
/* Roboto 400 normal */
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/Roboto-Regular.woff2") format("woff2");
}

/* Roboto 500 normal */
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/Roboto-Medium.woff2") format("woff2");
}

/* Bricolage 600 normal */
@font-face {
    font-family: "Bricolage";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/Bricolage-SemiBold.woff2") format("woff2");
}
/* GENERATED:brand-fonts:end */

/* === 2. Brand token block — the SPA / Hosted-UI `--theme-*` custom properties === */
:root {
    /* GENERATED:brand-vars — do not edit by hand; run `pnpm --filter @apps/theming generate:brand` */
    --theme-font: "Roboto", -apple-system, "Segoe UI", system-ui, sans-serif;
    --theme-serif-font: "Bricolage", "Roboto", system-ui, sans-serif;
    --theme-primary: #80ba27;
    --theme-primary-hover: #71a422;
    --theme-primary-light: #b3d67d;
    --theme-primary-light-shadow: rgba(128, 186, 39, 0.6);
    --theme-primary-extra-light: #f0f7e5;
    --theme-secondary: #212631;
    --theme-secondary-soft: #d9dbdf;
    --theme-secondary-light: #7a7d83;
    --theme-secondary-light-shadow: rgba(33, 38, 49, 0.6);
    --theme-secondary-shadow: rgba(33, 38, 49, 0.79);
    --theme-secondary-extra-light: #e4e5e6;
    --theme-background: #f1f1f1;
    --theme-surface: #ffffff;
    --theme-surface-muted: #e9e9ea;
    --theme-border: #babcbf;
    --theme-text: #212631;
    --theme-text-muted: #6a6e75;
    --theme-text-strong: #0e1015;
    --theme-text-inverse: #ffffff;
    --theme-shadow: rgba(128, 186, 39, 0.18);
    --theme-subtle-shadow: rgba(33, 38, 49, 0.25);
    --theme-subtle-border: #cecfd2;
    --theme-success: #0f7a3d;
    --theme-error: #c0261f;
    --theme-warning: #9c5400;
    --theme-rail: #e5e7e2;
    --theme-rail-text: #80ba27;
    --theme-rail-active: rgba(128, 186, 39, 0.6);
    --theme-rail-active-text: #0e1015;
    /* GENERATED:brand-vars:end */
}
