/* Context changes, outer shell geometry does not. No independent column widths. */
.rail-card { padding: 1.15rem; border: 1px solid var(--ft-border); border-radius: var(--ft-radius-large); background: var(--ft-surface); box-shadow: var(--ft-shadow-card); min-inline-size: 0; overflow-wrap: anywhere; }
.rail-card--soft { background: #f6f1fb; }
.rail-card--accent { background: #fff1f6; border-color: #efdae4; }
.rail-card--topic { background: var(--topic-bg); }
.rail-card .rail-card__label { display: flex; align-items: center; gap: .55rem; margin: 0 0 .85rem; color: var(--ft-ink); font-size: .8125rem; line-height: 1.45; font-weight: 650; letter-spacing: 0; }
.rail-card__icon { display: inline-flex; flex: none; color: var(--topic-accent); }
.rail-card__icon .ft-icon { inline-size: 1.25rem; block-size: 1.25rem; }
.rail-card h3 { margin: .75rem 0 .5rem; font-size: 1rem; line-height: 1.5; font-weight: 650; }
.rail-card p { margin: .5rem 0 0; font-size: .8125rem; line-height: 1.65; color: var(--ft-muted); }
.rail-card--topic p { color: var(--topic-text); }
.rail-card .question-topic { font-size: .6875rem; }
.rail-card__link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-block-size: 2.75rem; margin-block-start: .75rem; padding: .55rem .7rem; border: 1px solid var(--ft-control-border); border-radius: var(--ft-radius-medium); background: var(--ft-surface); color: var(--ft-ink); font-size: .8125rem; line-height: 1.4; font-weight: 600; text-decoration: none; }
.rail-card__link:hover { background: var(--ft-canvas); border-color: var(--topic-accent); }
.rail-card__link:focus-visible { outline: 2px solid var(--ft-focus); outline-offset: 3px; }
.rail-card__link .ft-icon { inline-size: 1rem; block-size: 1rem; flex: none; }
.rail-card__images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-block-start: .75rem; }
.rail-card__images img { inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ft-radius-medium); }
.rail-card__stats { margin: 0; display: grid; gap: .75rem; }
.rail-card__stats > div { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.rail-card__stats dt { font-size: .8125rem; color: var(--ft-muted); }
.rail-card__stats dd { font-size: 1.125rem; font-weight: 650; margin: 0; }
.mobile-context { margin-block: 0 var(--ft-space-6); }
.question-list > .mobile-context { margin: 0; }
@media (min-width: 72rem) {
 .mobile-context { display: none; }
 .context-rail { gap: var(--ft-space-5, 1.25rem); padding-block-start: .25rem; }
}
