/* Small, single-purpose helpers. Use sparingly — prefer components when a
   pattern repeats more than twice. */

.text-muted    { color: var(--color-fg-muted); }
.text-subtle   { color: var(--color-fg-subtle); }
.text-center   { text-align: center; }
.text-right    { text-align: right; }

.fs-sm         { font-size: var(--fs-sm);    line-height: var(--lh-sm); }
.fs-base       { font-size: var(--fs-base);  line-height: var(--lh-base); }
.fs-2xl        { font-size: var(--fs-2xl);   line-height: var(--lh-2xl); }

.fw-medium     { font-weight: var(--fw-medium); }
.fw-semibold   { font-weight: var(--fw-semibold); }

.hidden        { display: none !important; }
.visually-hidden {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

.flex-1        { flex: 1; }
.gap-2         { gap: var(--space-2); }
.gap-4         { gap: var(--space-4); }
