:root {
  color-scheme: light;
  --ink: #172033;
  --muted: #667085;
  --surface: rgba(255, 255, 255, .9);
  --line: rgba(48, 61, 86, .14);
  --accent: #4f46e5;
  --accent-strong: #3730a3;
  --danger: #b42318;
  --radius: 18px;
  --shadow: 0 24px 70px rgba(26, 32, 55, .18);
  --type-page-title: clamp(1.75rem, 3.2vw, 2.5rem);
  --type-state-title: clamp(2.125rem, 4vw, 3.5rem);
  --type-runtime-title: clamp(1.65rem, 3.5vw, 2.4rem);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--ink); background: #eef2ff; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.brand { display: inline-flex; align-items: center; gap: .65rem; color: inherit; font-weight: 780; text-decoration: none; letter-spacing: -.02em; }
.brand__mark { display: grid; width: 2rem; height: 2rem; place-items: center; color: white; border-radius: .7rem; background: linear-gradient(145deg, #4f46e5, #7c3aed); box-shadow: 0 .35rem 1rem rgba(79, 70, 229, .28); }
.eyebrow { margin: 0; color: var(--accent); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.button { display: inline-flex; min-height: 2.65rem; align-items: center; justify-content: center; padding: .65rem 1rem; border: 1px solid transparent; border-radius: .8rem; cursor: pointer; font-weight: 720; text-decoration: none; transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid rgba(79, 70, 229, .28); outline-offset: 2px; }
.button:disabled { cursor: not-allowed; opacity: .45; }
.button--primary { color: white; background: linear-gradient(135deg, var(--accent), #7c3aed); box-shadow: 0 .6rem 1.4rem rgba(79, 70, 229, .24); }
.button--secondary { color: white; background: #344054; }
.button--quiet { color: #344054; border-color: var(--line); background: rgba(255, 255, 255, .65); }
.button--wide { width: 100%; }
.notice { display: grid; gap: .3rem; padding: .85rem 1rem; border-radius: .9rem; font-size: .9rem; }
.notice--error { color: #7a271a; border: 1px solid #fecdca; background: #fef3f2; }
.notice span { font-size: .78rem; opacity: .76; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

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