/* Ridgeback — 03 base
   Reset, the [hidden] guard, and the seven-step type scale. */

*,*::before,*::after { box-sizing: border-box; }
/* The hidden attribute must beat any class that sets display, or a
   flex layer like .auth or .push-head stays on screen while marked hidden. */
[hidden] { display: none !important; }
html { min-height: 100%; }
body {
  margin: 0; min-height: 100dvh;
  display: flex; padding: 24px;
  background: radial-gradient(60% 80% at 50% 0%, #F6E9D6 0%, #EFE3D2 60%);
  color: var(--text); font-family: var(--font-body); font-size: 15px; line-height: 1.45;
  font-variant-numeric: tabular-nums; font-feature-settings:"tnum" on,"kern" on;
  -webkit-font-smoothing: antialiased;
}

.t-display   { font-family: var(--font-display); font-size:34px; line-height:37px; font-weight:500; }
.t-displaySm { font-family: var(--font-display); font-size:21px; line-height:28px; font-weight:500; }
.t-title     { font-size:16px; line-height:20px; font-weight:600; letter-spacing:-.24px; }
.t-body      { font-size:15px; line-height:22px; font-weight:400; letter-spacing:-.15px; }
.t-bodySm    { font-size:13px; line-height:19px; font-weight:400; }
.t-caption   { font-size:11.5px; line-height:16px; font-weight:400; }
.t-eyebrow   { font-size:10px; line-height:12px; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; }

:focus-visible{outline:2.5px solid var(--accent-solid);outline-offset:2px;border-radius:6px}
[data-mode="chat"] :focus-visible{outline-color:var(--amber)}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}
