/*
 * Beam CSS variables — controls and radii.
 *
 * VARIABLES ONLY. No selector in this file renders or overrides anything; it
 * declares custom properties and nothing else. That is the contract the name
 * carries, and css_foundation_test.clj enforces it.
 *
 * This is one of three, split by domain on 23 September 2026 because the single
 * file it came from was called tokens.css and "token" means four different
 * things in this repo — the anti-forgery token on every form POST, the preview
 * and API auth tokens, this, and @beam/input-ui/tokens.css which the islands
 * import and which is a different file entirely. Same values, same names,
 * findable by what they are:
 *
 *   vars-colour.css   surfaces, text, borders, --status-*, charts, scrim
 *   vars-layout.css   spacing, drawer and globals widths, z-index
 *   vars-control.css  radii, control heights and padding, component sizing
 *
 * THE TYPE SCALE IS NOT HERE and never was. resources/styleguide.css owns
 * --headings-large-* and --body-*, and specs/presentation.allium
 * (TypographyPresentation) is its behavioural contract. Brand ramps
 * (--primary-*, --secondary-*, --dark-*, --light-*, --alert-*) are owned by
 * resources/tailwind.css. Where sources disagree, styleguide.css is canonical.
 *
 * Names are UNCHANGED by the split: every var() that resolved before resolves
 * now. Only the file a name lives in, and the <link> that pulls it in, moved.
 *
 * Placeholders with no platform precedent: --radius-xl, --radius-tooltip.
 *
 * Score chips are two sizes and only two (Listy, 23 September 2026): large for
 * the vendor rating and Overall Score, normal for everything else. The design
 * system carries the rule; when those chips stop being page CSS their sizes
 * belong here.
 */

:root {
  /* Radii and controls. Values observed in site-setup.css and Tailwind markup. */
  --radius-xs: 2px; /* site-setup.css load-canvas legend swatch */
  --radius-sm: 4px; /* output.css .btn-* border-radius .25rem */
  --radius-md: 6px; /* site-setup.css segmented control and modal header */
  --radius-lg: 8px; /* site-setup.css map marker override */
  --radius-xl: 12px; /* platform idiom placeholder; no shared precedent */
  --radius-button: var(--radius-sm); /* output.css .btn-* */
  --radius-input: var(--radius-sm); /* full-systems-table.html rounded inputs/buttons */
  --radius-modal: var(--radius-md); /* site-setup.css modal header */
  --radius-tooltip: var(--radius-sm); /* new — no platform precedent */
  --control-height: 40px; /* output.css .btn-* height 2.5rem; FST buttons */
  --control-height-sm: 36px; /* site-setup.css segmented button min-height */
  --control-pad-x: 20px; /* output.css .btn-* px 1.25rem */
  --control-pad-y: 4px; /* output.css .btn-* py .25rem */
  --dropdown-menu-max-height: 320px; /* established energy-systems dropdown height */
  --table-header-font-size: var(--body-small-regular-font-size); /* 12px */
  --table-header-font-weight: 600;
  /* Shared ag-grid theme (WP-06). The sites list and Compare Systems each carried their own
     ad-hoc `--ag-*` block; comparing them showed they ALREADY AGREE on these six values and were
     simply re-declaring them (with `#35475C` hardcoded in both, and the header background spelled
     `#fff` in one and `#FFFFFF` in the other). Extracted here so there is one place to change,
     with the tokenisable value tokenised. Values the two grids genuinely disagree on — row
     hover, selected-row tint, row borders, row height — stay local to each grid, because those
     are visual decisions owned by WP-07 and WP-09 respectively, not shared theme. */
  --ag-beam-header-height: 40px; /* sites-grid.css + energy-systems-grid.css agreed */
  --ag-beam-font-size: 12px; /* both */
  --ag-beam-grid-borders: none; /* both */
}
