*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; background: var(--tw-bg-page); }
body {
  min-height: 100vh;
  color: var(--tw-text-primary);
  font-family: var(--tw-font);
  line-height: 1.5;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(200,232,239,.82) 0%, rgba(238,243,247,.72) 44%, transparent 70%),
    linear-gradient(135deg, #F8FBFD 0%, var(--tw-bg-page) 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: var(--tw-accent); text-decoration: none; }
a:hover { text-decoration: none; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--tw-border-strong); border-radius: var(--tw-r-pill); }
:focus-visible { outline: 2px solid var(--tw-accent); outline-offset: 2px; border-radius: 4px; }
.hidden { display: none !important; }
.muted { color: var(--tw-text-secondary) !important; }
h1 { font-size: 34px; line-height: 1.12; font-weight: 700; letter-spacing: -.5px; color: var(--tw-text-primary); }
h2 { font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--tw-text-primary); }
h3 { font-size: 17px; line-height: 1.25; font-weight: 600; color: var(--tw-text-primary); }
p, small { color: var(--tw-text-secondary); }
