:root {
  /* Design tokens (R3.12): every brand value lives here. Placeholder
     NEUTRAL values until the m12 design pass: grayscale palette,
     system font stack, base spacing scale. */

  /* grayscale color palette */
  --color-background: #ffffff;
  --color-surface: #f5f5f5;
  --color-border: #d4d4d4;
  --color-text: #171717;
  --color-text-muted: #6b6b6b;
  --color-accent: #171717;
  --color-error: #404040;

  /* font stacks */
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-heading: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;

  /* radii */
  --radius-small: 0.125rem;
  --radius-medium: 0.25rem;
  --radius-large: 0.5rem;

  /* layout */
  --content-max-width: 60rem;

  /* structural values referenced by base.css */
  --box-sizing: border-box;
  --body-line-height: 1.6;
  --heading-line-height: 1.25;
  --heading-margin: 0 0 var(--space-3);
  --paragraph-margin: 0 0 var(--space-3);
  --body-margin: 0;
  --border-width: 1px;
  --nav-gap: var(--space-4);
  --content-padding: var(--space-4);
  --flash-margin: var(--space-4);
  --flash-padding: var(--space-2) var(--space-3);
  --header-padding: var(--space-3) var(--space-4);
  --footer-padding: var(--space-4);
  --form-gap: var(--space-3);
  --field-gap: var(--space-1);
  --input-padding: var(--space-2);
  --submit-padding: var(--space-2) var(--space-3);
  --font-weight-bold: bold;
  --font-size-base: 1rem;
  --link-display: inline-block;
  --link-margin-top: var(--space-3);
  --nav-display: flex;
  --nav-max-width: var(--content-max-width);
  --nav-margin: 0 auto;
  --content-margin: 0 auto;
  --submit-align: flex-start;
  --form-display: flex;
  --form-direction: column;
  --field-display: flex;
  --field-direction: column;
  --text-decoration-none: none;

  /* m06 advisor structural values (grayscale placeholders; the m12
     design pass owns the real values) */
  --advisor-list-style: none;
  --advisor-list-padding: 0;
  --advisor-panel-position: fixed;
  --advisor-panel-width: 22rem;
  --advisor-panel-max-height: 24rem;
  --advisor-panel-overflow: auto;
  --advisor-panel-hidden-display: none;
  --advisor-panel-header-justify: space-between;
  --advisor-panel-header-cursor: move;
}