* { box-sizing: border-box; }
body { margin: 0; font-family: var(--rf-font); background: var(--rf-bg); color: var(--rf-ink); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.grid { display: grid; gap: 20px; }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-8 { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.mt-12 { margin-top: 12px; }
.mt-20 { margin-top: 20px; }
.mt-32 { margin-top: 32px; }
.mb-0 { margin-bottom: 0; }
.text-muted { color: var(--rf-muted); }
.text-small { font-size: 13px; }
.text-right { text-align: right; }
.w-full { width: 100%; }
@media (max-width: 860px) { .grid-3, .grid-2 { grid-template-columns: 1fr; } .container { width: min(100% - 24px, 1160px); } }
