:root {
  color-scheme: dark;

  /* Font families */
  --font-display: "Source Serif 4", Lora, Georgia, serif;
  --font-ui: "Hanken Grotesk", Archivo, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  /* Type scale: five sizes maximum */
  --font-display-size: 1.75rem;
  --font-display-line: 1.2;
  --font-heading-size: 1.375rem;
  --font-heading-line: 1.25;
  --font-section-size: 1.0625rem;
  --font-section-line: 1.3;
  --font-body-size: 0.9375rem;
  --font-body-line: 1.5;
  --font-caption-size: 0.8125rem;
  --font-caption-line: 1.4;
  --weight-regular: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  --type-display: var(--weight-bold) var(--font-display-size) / var(--font-display-line) var(--font-display);
  --type-heading: var(--weight-bold) var(--font-heading-size) / var(--font-heading-line) var(--font-display);
  --type-section: var(--weight-semibold) var(--font-section-size) / var(--font-section-line) var(--font-ui);
  --type-body: var(--weight-regular) var(--font-body-size) / var(--font-body-line) var(--font-ui);
  --type-caption: var(--weight-regular) var(--font-caption-size) / var(--font-caption-line) var(--font-ui);
  --type-caption-strong: var(--weight-semibold) var(--font-caption-size) / var(--font-caption-line) var(--font-ui);

  /* Claude.ai-inspired semantic colour tokens */
  --color-surface: #262624;
  --color-surface-sunken: #1F1E1D;
  --color-surface-raised: #30302E;
  --color-border: #3E3D3A;
  --color-text-primary: #F0EEE6;
  --color-text-secondary: #A8A398;
  --color-accent: #D97757;
  --color-accent-hover: #E18A6D;
  --color-accent-pressed: #CC6A48;
  --color-success: #8FAF7D;
  --color-warning: #D9B45F;
  --color-danger: #DF7C6E;
  --color-info: #C9B88D;

  /* Derived theme tokens */
  --color-text-on-accent: #1F1E1D;
  --color-text-muted: #8E887D;
  --color-control-bg: #30302E;
  --color-control-bg-hover: #373633;
  --color-chip-bg: #3A3935;
  --color-chip-text: #E8E4DA;
  --color-backdrop: rgba(31, 30, 29, 0.76);
  --color-focus-ring: rgba(217, 119, 87, 0.38);
  --color-border-soft: rgba(232, 228, 218, 0.12);
  --color-border-control: rgba(232, 228, 218, 0.18);
  --color-panel-alpha: rgba(48, 48, 46, 0.94);
  --color-panel-alpha-soft: rgba(31, 30, 29, 0.76);
  --color-sidebar: rgba(31, 30, 29, 0.96);
  --color-page-bg: radial-gradient(circle at 18% -10%, #343330 0, #262624 42%, #1F1E1D 100%);
  --color-card-bg: linear-gradient(180deg, #30302E, #292927);

  /* Product tag palette */
  --tag-buildabot-bg: #5B372D;
  --tag-buildabot-text: #F7DED2;
  --tag-conferenceflow-bg: #3B442D;
  --tag-conferenceflow-text: #E4E9D2;
  --tag-privatecolleges-bg: #56451F;
  --tag-privatecolleges-text: #F5E4A8;
  --tag-hackathonbox-bg: #4B3A52;
  --tag-hackathonbox-text: #E9DDF0;
  --tag-myaiskills-bg: #344A34;
  --tag-myaiskills-text: #E2ECDD;
  --tag-default-bg: #3E3D3A;
  --tag-default-text: #F0EEE6;

  /* Radii */
  --radius-panel: 1.25rem;
  --radius-pill: 999rem;
  --radius-control: 0.75rem;

  /* Elevation */
  --elevation-flat: none;
  --elevation-raised: 0 1.5rem 4.5rem rgba(31, 30, 29, 0.36);
  --elevation-overlay: 0 2rem 6rem rgba(31, 30, 29, 0.58);

  /* Z-index scale */
  --z-base: 0;
  --z-sticky: 10;
  --z-drawer: 30;
  --z-modal: 50;
  --z-toast: 70;

  /* Layout and component dimensions */
  --border-width: 1px;
  --focus-ring-width: 3px;
  --sidebar-width: 18.25rem;
  --brand-mark-size: 3rem;
  --control-min: 2.75rem;
  --review-min-left: 26.25rem;
  --review-min-right: 22.5rem;
  --kanban-column-width: 16.25rem;
  --kanban-column-min-height: 38.75rem;
  --modal-width: 51.25rem;
  --decision-modal-width: 45rem;
  --decision-modal-height: 85vh;
  --review-list-width: 45rem;
  --login-width: 32.5rem;
  --policy-measure: 52.5rem;
  --detail-empty-height: 20rem;
  --motion-fast: 150ms;
  --motion-standard: 200ms;
  --ease-standard: ease-out;
  --opacity-disabled: 0.56;
  --opacity-muted: 0.72;
  --letter-tight: -0.01em;
  --letter-caps: 0.14em;
  --breakpoint-app-stack: 70rem;
  --breakpoint-compact: 45rem;
}

:root[data-theme="light"] {
  color-scheme: light;
  --color-surface: #FAF9F5;
  --color-surface-sunken: #F0EEE6;
  --color-surface-raised: #FFFFFF;
  --color-border: #E8E4DA;
  --color-text-primary: #3D3929;
  --color-text-secondary: #766F5E;
  --color-accent: #D97757;
  --color-accent-hover: #D06F4E;
  --color-accent-pressed: #CC6A48;
  --color-success: #587A45;
  --color-warning: #8A641F;
  --color-danger: #A94332;
  --color-info: #75633C;

  --color-text-on-accent: #1F1E1D;
  --color-text-muted: #8F8877;
  --color-control-bg: #FFFFFF;
  --color-control-bg-hover: #F0EEE6;
  --color-chip-bg: #F0EEE6;
  --color-chip-text: #3D3929;
  --color-backdrop: rgba(61, 57, 41, 0.34);
  --color-focus-ring: rgba(217, 119, 87, 0.32);
  --color-border-soft: rgba(61, 57, 41, 0.10);
  --color-border-control: rgba(61, 57, 41, 0.16);
  --color-panel-alpha: rgba(255, 255, 255, 0.94);
  --color-panel-alpha-soft: rgba(240, 238, 230, 0.78);
  --color-sidebar: rgba(240, 238, 230, 0.96);
  --color-page-bg: radial-gradient(circle at 18% -10%, #FFFFFF 0, #FAF9F5 42%, #F0EEE6 100%);
  --color-card-bg: linear-gradient(180deg, #FFFFFF, #FAF9F5);

  --tag-buildabot-bg: #F4D7C8;
  --tag-buildabot-text: #3D241D;
  --tag-conferenceflow-bg: #DDE4C2;
  --tag-conferenceflow-text: #263018;
  --tag-privatecolleges-bg: #F3D98B;
  --tag-privatecolleges-text: #3D3215;
  --tag-hackathonbox-bg: #E2D2E8;
  --tag-hackathonbox-text: #2F2435;
  --tag-myaiskills-bg: #D6E7D2;
  --tag-myaiskills-text: #1F3321;
  --tag-default-bg: #E8E4DA;
  --tag-default-text: #3D3929;

  --elevation-raised: 0 1.5rem 4.5rem rgba(61, 57, 41, 0.12);
  --elevation-overlay: 0 2rem 6rem rgba(61, 57, 41, 0.24);
}
