:root {
  --theme-color-page: #03040b;
  --theme-color-surface: #070a18;
  --theme-color-surface-alt: #0a1030;
  --theme-color-surface-dark: #02030a;
  --theme-color-text: #f4f7ff;
  --theme-color-text-muted: #aeb9da;
  --theme-color-text-on-dark: #f7f9ff;
  --theme-color-text-on-accent: #ffffff;
  --theme-color-primary: #315cff;
  --theme-color-primary-hover: #2347c7;
  --theme-color-accent: #6752db;
  --theme-color-accent-hover: #5f4ad4;
  --theme-color-border: #26325f;
  --theme-color-success: #64c6a5;
  --theme-color-error: #ff7d8b;
  --theme-color-focus: #8fb0ff;

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

  --theme-radius-small: .55rem;
  --theme-radius-medium: 1rem;
  --theme-radius-large: 1.55rem;
  --theme-radius-button: 999px;
  --theme-border-width: 1px;
  --theme-focus-width: 3px;
  --theme-focus-offset: 3px;

  --theme-shadow-small: 0 8px 24px rgb(0 0 0 / .24);
  --theme-shadow-medium: 0 20px 58px rgb(0 0 0 / .34);
  --theme-shadow-large: 0 38px 100px rgb(0 0 0 / .48), 0 0 48px rgb(49 92 255 / .10);

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

  --theme-header-background: rgb(2 3 10 / .88);
  --theme-header-text: #f7f9ff;
  --theme-header-border: rgb(130 151 255 / .13);
  --theme-header-blur: 20px;

  --theme-section-light-background: #050714;
  --theme-section-light-text: #f4f7ff;
  --theme-section-surface-background: radial-gradient(circle at 82% 16%, rgb(49 92 255 / .10), transparent 34%), #070a18;
  --theme-section-surface-text: #f4f7ff;
  --theme-section-dark-background: radial-gradient(circle at 16% 20%, rgb(49 92 255 / .14), transparent 32%), linear-gradient(145deg, #02030a 0%, #05071a 52%, #02030a 100%);
  --theme-section-dark-text: #f7f9ff;
  --theme-section-accent-background: radial-gradient(circle at 78% 22%, rgb(127 92 255 / .20), transparent 30%), radial-gradient(circle at 18% 76%, rgb(38 91 255 / .16), transparent 34%), linear-gradient(135deg, #070b28 0%, #030510 58%, #08051a 100%);
  --theme-section-accent-text: #f7f9ff;

  --theme-text-muted-current: #aeb9da;
  --theme-card-background: rgb(9 14 39 / .80);
  --theme-card-text: #f4f7ff;
  --theme-card-border: #253164;
  --theme-card-shadow: 0 16px 44px rgb(0 0 0 / .24), inset 0 1px 0 rgb(255 255 255 / .025);
  --theme-card-accent-background: linear-gradient(90deg, #315cff, #725cff 55%, transparent);
  --theme-step-background: linear-gradient(90deg, rgb(49 92 255 / .14), rgb(118 85 255 / .06), transparent);

  --theme-button-secondary-background: rgb(6 10 30 / .50);
  --theme-button-secondary-text: currentColor;
  --theme-button-secondary-border: rgb(144 165 255 / .55);
  --theme-button-secondary-hover: rgb(49 92 255 / .17);
  --theme-input-background: #080d25;
  --theme-answer-background: #080d25;
  --theme-answer-selected-background: #15245f;
  --theme-progress-track: rgb(150 166 255 / .20);

  --theme-success-background: #0d2b27;
  --theme-error-background: #32141c;
  --theme-warning-background: #2c2413;
  --theme-warning-text: #ffe2a0;

  --theme-icon-filter: none;
  --theme-icon-background: rgb(49 92 255 / .13);
  --theme-icon-border: 1px solid rgb(105 130 255 / .38);
  --theme-icon-radius: .8rem;
  --theme-image-placeholder-background: radial-gradient(circle at 50% 35%, #101d61, #03040b 70%);
  --theme-logo-filter: drop-shadow(0 0 18px rgb(58 94 255 / .32));

  --theme-footer-background: #02030a;
  --theme-footer-text: #f4f7ff;
  --theme-footer-muted: #96a4ca;
  --theme-footer-border: rgb(127 145 255 / .14);

  --theme-hero-decoration: radial-gradient(circle at 15% 20%, rgb(49 92 255 / .22), transparent 30%), radial-gradient(circle at 76% 48%, rgb(115 77 255 / .17), transparent 34%), linear-gradient(115deg, transparent 48%, rgb(122 151 255 / .04) 48%, rgb(122 151 255 / .04) 49%, transparent 49%);
  --theme-hero-decoration-opacity: 1;
}

.section--variant-dark,
.section--variant-accent,
.section--variant-surface,
.section--variant-light {
  --theme-color-text: #f4f7ff;
  --theme-color-text-muted: #aeb9da;
  --theme-text-muted-current: #aeb9da;
  --theme-card-background: rgb(9 14 39 / .80);
  --theme-card-text: #f4f7ff;
  --theme-card-border: #253164;
  --theme-card-shadow: 0 16px 44px rgb(0 0 0 / .24), inset 0 1px 0 rgb(255 255 255 / .025);
  --theme-step-background: linear-gradient(90deg, rgb(49 92 255 / .14), rgb(118 85 255 / .06), transparent);
  --theme-input-background: #080d25;
  --theme-answer-background: #080d25;
  --theme-answer-selected-background: #15245f;
  --theme-button-secondary-hover: rgb(49 92 255 / .17);
  --theme-progress-track: rgb(150 166 255 / .20);
  --theme-icon-background: rgb(49 92 255 / .13);
  --theme-icon-border: 1px solid rgb(105 130 255 / .38);
}

#hero .hero__media img,
#rectification .media-text > img,
#talkstars .media-text > img,
#destinies .media-text > img {
  --theme-image-placeholder-background: transparent;
  --theme-radius-large: 0;
  --theme-radius-medium: 0;
  --theme-shadow-large: none;
  --theme-shadow-medium: none;
}
