/* Race Direct — site styling built on tokens.css + accent.css (loaded before this). */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--rd-bg);
  color:var(--rd-text);
  font-family:var(--rd-font-sans);
  font-weight:var(--rd-w-light);
  line-height:var(--rd-leading-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--rd-accent);color:var(--rd-on-accent)}

a{color:inherit;text-decoration:none}
a.rd-link{color:var(--rd-text);border-bottom:1px solid transparent;transition:border-color .15s var(--rd-ease)}
a.rd-link:hover{border-color:currentColor}

/* The brand spectrum device — a thin gradient rule. */
.rd-spectrum-bar{height:3px;width:100%;background:var(--rd-spectrum-lin);border:0}

/* Typography helpers */
.rd-display{font-family:var(--rd-font-display);font-weight:var(--rd-w-extrabold);text-transform:uppercase;letter-spacing:var(--rd-track-display);line-height:var(--rd-leading-tight)}
.rd-wordmark{font-family:var(--rd-font-display);font-weight:var(--rd-w-bold);text-transform:uppercase;letter-spacing:var(--rd-track-wordmark)}
.rd-label{font-family:var(--rd-font-mono);text-transform:uppercase;letter-spacing:var(--rd-track-label);font-size:var(--rd-text-label);color:var(--rd-text-muted)}
.rd-muted{color:var(--rd-text-muted)}
.rd-faint{color:var(--rd-text-faint)}

/* Surfaces */
.rd-surface{background:var(--rd-surface);border:1px solid var(--rd-border);border-radius:var(--rd-radius)}
.rd-surface-raised{background:var(--rd-surface-raised);border:1px solid var(--rd-border);border-radius:var(--rd-radius)}

/* Forms */
.rd-input{
  width:100%;background:var(--rd-carbon);color:var(--rd-text);
  border:1px solid var(--rd-border);border-radius:var(--rd-radius-sm);
  padding:.6rem .75rem;font:inherit;font-weight:var(--rd-w-regular);
  outline:none;transition:border-color .15s var(--rd-ease),box-shadow .15s var(--rd-ease);
}
.rd-input::placeholder{color:var(--rd-text-faint)}
.rd-input:focus{border-color:var(--rd-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--rd-accent) 25%,transparent)}

/* Buttons */
.rd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border:1px solid transparent;border-radius:var(--rd-radius-sm);cursor:pointer;
  font-family:var(--rd-font-mono);font-size:var(--rd-text-small);font-weight:var(--rd-w-medium);
  text-transform:uppercase;letter-spacing:var(--rd-track-label);
  padding:.6rem 1rem;transition:transform .12s var(--rd-ease),background .15s var(--rd-ease),border-color .15s var(--rd-ease)}
.rd-btn:active{transform:translateY(1px)}
.rd-btn-accent{background:var(--rd-accent);color:var(--rd-on-accent)}
.rd-btn-accent:hover{background:var(--rd-accent-deep)}
.rd-btn-ghost{background:transparent;color:var(--rd-text);border-color:var(--rd-border)}
.rd-btn-ghost:hover{border-color:var(--rd-text-muted)}

/* Logo sizing */
.rd-logo-lockup{height:26px;width:auto;display:block}
.rd-logo-lockup-lg{height:40px;width:auto;display:block}
.rd-logo-mark{height:28px;width:auto;display:block}

/* Accent text/dot for product theming (wrap area in .theme-smart/.theme-vault/.theme-rp) */
.rd-accent-text{color:var(--rd-accent)}
.rd-accent-bar{height:3px;width:100%;background:var(--rd-accent);border-radius:var(--rd-radius-pill)}
.rd-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--rd-accent);display:inline-block}

/* Alerts */
.rd-alert{border:1px solid color-mix(in srgb,var(--rd-hot) 50%,transparent);background:color-mix(in srgb,var(--rd-hot) 12%,transparent);color:var(--rd-chalk);border-radius:var(--rd-radius-sm);padding:.6rem .9rem;font-size:var(--rd-text-small)}
