




a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}


.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-xs { gap: var(--space-1); }
.gap-sm { gap: var(--space-2); }
.gap-md { gap: var(--space-3); }
.gap-lg { gap: var(--space-4); }
.gap-xl { gap: var(--space-5); }
.fw-medium { font-weight: 500; }
.rounded { border-radius: 18px; }
.w-full { width: 100%; }
.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }
.mt-sm { margin-top: var(--space-2); }
.mt-md { margin-top: var(--space-3); }
.mt-lg { margin-top: var(--space-5); }
.mb-sm { margin-bottom: var(--space-2); }
.mb-md { margin-bottom: var(--space-3); }
.hidden { display: none; }
.flex-1 { flex: 1; }
.inline-flex { display: inline-flex; }
.text-accent { color: var(--accent); }
.text-white { color: #ffffff; }
.text-muted-light { color: #e2e8f0; }
.underline { text-decoration: underline; }
.fw-bold { font-weight: 700; }
.fs-13 { font-size: 13px; }
.fs-22 { font-size: 22px; }
.fs-26 { font-size: 26px; }
.fs-29 { font-size: 29px; }
.max-w-legal { max-width: 820px; }
.max-w-note { max-width: 640px; }
.pt-md { padding-top: var(--space-3); }
.mb-lg { margin-bottom: var(--space-4); }
.mt-3px { margin-top: 3px; }
.bg-accent { background: var(--accent); }
.bg-primary-surface { background: var(--bg-primary); }
.cols-2 { grid-template-columns: 1fr 1fr; }
.cols-2-wide { grid-template-columns: 1fr 1.4fr; }

@media (max-width: 768px) {
  .md-hidden { display: none; }
  .md-flex-col { flex-direction: column; }
  .max-w-legal, .max-w-note { max-width: 100%; }
  .cols-2, .cols-2-wide { grid-template-columns: 1fr; }
}
