:root {
  --theme-color-page: #E8ECEF;
  --theme-color-surface: #F8FAFB;
  --theme-color-surface-alt: #D9E0E5;
  --theme-color-surface-dark: #111820;
  --theme-color-text: #18222C;
  --theme-color-text-muted: #56636E;
  --theme-color-text-on-dark: #F7F9FA;
  --theme-color-text-on-accent: #FFFFFF;
  --theme-color-primary: #86172A;
  --theme-color-primary-hover: #6D1222;
  --theme-color-accent: #A9142A;
  --theme-color-accent-hover: #871024;
  --theme-color-border: #C3CDD4;
  --theme-color-success: #2D7155;
  --theme-color-error: #A62E37;
  --theme-color-focus: #0076D1;

  --theme-font-body: "Segoe UI", Inter, system-ui, sans-serif;
  --theme-font-heading: "Arial Narrow", "Segoe UI", Inter, system-ui, sans-serif;
  --theme-font-size-body: 1rem;
  --theme-font-weight-heading: 820;
  --theme-line-height-body: 1.58;
  --theme-line-height-heading: 1.02;
  --theme-heading-overflow-wrap: normal;
  --theme-heading-word-break: normal;
  --theme-heading-hyphens: none;

  --theme-radius-small: .28rem;
  --theme-radius-medium: .58rem;
  --theme-radius-large: .9rem;
  --theme-radius-button: .34rem;
  --theme-border-width: 1px;
  --theme-focus-width: 3px;
  --theme-focus-offset: 3px;

  --theme-shadow-small: 0 7px 20px rgb(17 24 32 / .09);
  --theme-shadow-medium: 0 18px 44px rgb(17 24 32 / .15);
  --theme-shadow-large: 0 34px 82px rgb(0 0 0 / .34);

  --theme-motion-fast: 150ms;
  --theme-motion-normal: 240ms;
  --theme-motion-slow: 400ms;
  --theme-easing: cubic-bezier(.2, .8, .2, 1);

  --theme-header-background: rgb(13 19 26 / .97);
  --theme-header-text: #F7F9FA;
  --theme-header-border: rgb(255 255 255 / .11);
  --theme-header-blur: 18px;

  --theme-section-light-background: #E8ECEF;
  --theme-section-light-text: #18222C;
  --theme-section-surface-background: #F8FAFB;
  --theme-section-surface-text: #18222C;
  --theme-section-dark-background: linear-gradient(125deg, #0D131A 0%, #18222C 56%, #0B1016 100%);
  --theme-section-dark-text: #F7F9FA;
  --theme-section-accent-background: linear-gradient(125deg, #53101C 0%, #171D24 46%, #0E141B 100%);
  --theme-section-accent-text: #F7F9FA;

  --theme-text-muted-current: #56636E;
  --theme-card-background: #F8FAFB;
  --theme-card-text: #18222C;
  --theme-card-border: #C3CDD4;
  --theme-card-shadow: 0 10px 28px rgb(17 24 32 / .09);
  --theme-card-accent-background: linear-gradient(90deg, #A9142A, #D5DDE3 62%, transparent);
  --theme-step-background: linear-gradient(90deg, rgb(255 255 255 / .7), rgb(225 231 235 / .52));

  --theme-button-secondary-background: transparent;
  --theme-button-secondary-text: currentColor;
  --theme-button-secondary-border: currentColor;
  --theme-button-secondary-hover: rgb(169 20 42 / .08);
  --theme-input-background: #FFFFFF;
  --theme-answer-background: #FFFFFF;
  --theme-answer-selected-background: #F7E5E9;
  --theme-progress-track: rgb(75 89 100 / .22);

  --theme-success-background: #E5F0EA;
  --theme-error-background: #F7E6E8;
  --theme-warning-background: #F4E9DE;
  --theme-warning-text: #5B4024;

  --theme-icon-filter: none;
  --theme-icon-background: rgb(169 20 42 / .09);
  --theme-icon-border: 1px solid rgb(169 20 42 / .28);
  --theme-icon-radius: .36rem;
  --theme-image-placeholder-background: linear-gradient(135deg, #26333E, #111820);
  --theme-logo-filter: drop-shadow(0 4px 14px rgb(0 0 0 / .28));

  --theme-footer-background: #0B1016;
  --theme-footer-text: #F7F9FA;
  --theme-footer-muted: #ABB6BE;
  --theme-footer-border: rgb(255 255 255 / .10);

  --theme-hero-decoration: radial-gradient(circle at 12% 18%, rgb(169 20 42 / .32), transparent 32%), linear-gradient(120deg, transparent 48%, rgb(255 255 255 / .035) 48%, rgb(255 255 255 / .035) 49%, transparent 49%);
  --theme-hero-decoration-opacity: 1;
}

.section--variant-dark,
.section--variant-accent {
  --theme-color-text: #F7F9FA;
  --theme-color-text-muted: #C2CBD1;
  --theme-text-muted-current: #C2CBD1;
  --theme-card-background: #18222C;
  --theme-card-text: #F7F9FA;
  --theme-card-border: #3A4650;
  --theme-card-shadow: 0 16px 38px rgb(0 0 0 / .28);
  --theme-step-background: linear-gradient(90deg, rgb(255 255 255 / .045), transparent);
  --theme-input-background: #111820;
  --theme-answer-background: #18222C;
  --theme-answer-selected-background: #3A1520;
  --theme-button-secondary-hover: rgb(255 255 255 / .07);
  --theme-progress-track: rgb(255 255 255 / .18);
  --theme-icon-background: rgb(169 20 42 / .15);
  --theme-icon-border: 1px solid rgb(207 64 83 / .42);
}

.section--variant-light,
.section--variant-surface {
  --theme-text-muted-current: #56636E;
  --theme-card-background: #F8FAFB;
  --theme-card-text: #18222C;
  --theme-card-border: #C3CDD4;
  --theme-step-background: linear-gradient(90deg, rgb(255 255 255 / .74), rgb(225 231 235 / .58));
  --theme-input-background: #FFFFFF;
  --theme-answer-background: #FFFFFF;
  --theme-answer-selected-background: #F7E5E9;
}
