*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--rx-bg); }
body { min-width: 320px; margin: 0; color: var(--rx-text); background: var(--rx-bg); font: 13px/1.35 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { color: var(--rx-text); }
button, input, select { font: inherit; }
button { min-height: 30px; padding: 5px 9px; border: 1px solid var(--rx-border); border-radius: var(--rx-control-radius); color: inherit; background: var(--rx-surface); cursor: pointer; transition: border-color 170ms ease, color 170ms ease, background-color 170ms ease, opacity 170ms ease; }
button:hover:not(:disabled) { border-color: var(--rx-red); background: var(--rx-hover); }
button:disabled { cursor: not-allowed; opacity: .55; }
button.primary { border-color: var(--rx-red); color: #fff; background: var(--rx-red); }
button.primary:hover:not(:disabled) { border-color: var(--rx-red); color: #fff; background: var(--rx-red); }
button:focus-visible, input:focus-visible, select:focus-visible, [tabindex="0"]:focus-visible { outline: 2px solid var(--rx-red); outline-offset: 1px; }
code, pre, .technical { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
[hidden] { display: none !important; }
.rx-icon { display: block; width: var(--rx-icon-md); height: var(--rx-icon-md); flex: 0 0 auto; overflow: visible; }
.rx-icon--sm { width: var(--rx-icon-sm); height: var(--rx-icon-sm); }
.rx-icon--nav { width: var(--rx-icon-nav); height: var(--rx-icon-nav); }
.rx-icon--brand { width: var(--rx-icon-brand); height: var(--rx-icon-brand); }
.eyebrow, .label, .rail-label, .toolbar-label { color: var(--rx-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
