:root,
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f6fb;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-subtle: #eef1f8;
  --surface-strong: #e4e8f2;
  --text: #172033;
  --text-soft: #3e4960;
  --muted: #68748b;
  --border: #d7ddeb;
  --border-strong: #bac4d8;
  --accent: #5b5ce2;
  --accent-hover: #4748c8;
  --accent-soft: #eeeeff;
  --accent-text: #3738a7;
  --success: #087a55;
  --success-soft: #e5f7ef;
  --warning: #9a5a05;
  --warning-soft: #fff3d9;
  --danger: #b4233d;
  --danger-soft: #fdebee;
  --info: #156fb3;
  --info-soft: #e7f4ff;
  --shadow-sm: 0 1px 2px rgb(19 30 55 / 0.08);
  --shadow-lg: 0 24px 70px rgb(37 45 72 / 0.16);
  --focus: #7c7df0;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b0f18;
  --surface: #121824;
  --surface-raised: #171e2c;
  --surface-subtle: #1c2433;
  --surface-strong: #263044;
  --text: #edf1fb;
  --text-soft: #cbd3e2;
  --muted: #929db2;
  --border: #29344a;
  --border-strong: #3b4963;
  --accent: #9293ff;
  --accent-hover: #aaaaff;
  --accent-soft: #24264e;
  --accent-text: #c5c5ff;
  --success: #66d6aa;
  --success-soft: #153b30;
  --warning: #ffc968;
  --warning-soft: #463414;
  --danger: #ff8898;
  --danger-soft: #481d28;
  --info: #74c0ff;
  --info-soft: #18384f;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.25);
  --shadow-lg: 0 24px 70px rgb(0 0 0 / 0.42);
  --focus: #aaaaff;
}

@media (prefers-color-scheme: dark) {
  :root[data-theme="system"] {
    color-scheme: dark;
    --bg: #0b0f18;
    --surface: #121824;
    --surface-raised: #171e2c;
    --surface-subtle: #1c2433;
    --surface-strong: #263044;
    --text: #edf1fb;
    --text-soft: #cbd3e2;
    --muted: #929db2;
    --border: #29344a;
    --border-strong: #3b4963;
    --accent: #9293ff;
    --accent-hover: #aaaaff;
    --accent-soft: #24264e;
    --accent-text: #c5c5ff;
    --success: #66d6aa;
    --success-soft: #153b30;
    --warning: #ffc968;
    --warning-soft: #463414;
    --danger: #ff8898;
    --danger-soft: #481d28;
    --info: #74c0ff;
    --info-soft: #18384f;
    --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.25);
    --shadow-lg: 0 24px 70px rgb(0 0 0 / 0.42);
    --focus: #aaaaff;
  }
}

* {
  box-sizing: border-box;
}
html {
  min-height: 100%;
  background: var(--bg);
}
body {
  min-height: 100vh;
  margin: 0;
  background: var(--bg);
  color: var(--text);
}
body,
button,
input,
select,
textarea {
  font: inherit;
}
button,
input,
select,
textarea {
  color: inherit;
}
button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}
a {
  color: var(--accent-text);
}
h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}
h1,
h2,
h3,
h4 {
  color: var(--text);
  line-height: 1.2;
}
p {
  line-height: 1.6;
}
button,
select {
  cursor: pointer;
}
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
::selection {
  background: var(--accent);
  color: #fff;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hidden {
  display: none !important;
}
[x-cloak] {
  display: none !important;
}
.muted {
  color: var(--muted);
}
.eyebrow {
  margin-bottom: 0.32rem;
  color: var(--accent-text);
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
