/* V165 journey rhythm overview inside the V164 achievements provider. */
.ia-v165-rhythm {
    display: grid;
    gap: 12px;
    margin: 14px 0 16px;
    padding: clamp(14px, 2vw, 20px);
    border: 1px solid var(--ia-ds-border-subtle, #dbe4ee);
    border-radius: 18px;
    background: linear-gradient(145deg, var(--ia-ds-surface-card, #fff), var(--ia-ds-bg-section, #f4f7fb));
    color: var(--ia-ds-text-primary, #0f172a);
    box-sizing: border-box;
    min-width: 0;
}
.ia-v165-rhythm[hidden] { display: none !important; }
.ia-v165-rhythm__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ia-v165-rhythm__head strong { font-size: var(--ia-type-size-lg, 1.125rem); line-height: 1.3; }
.ia-v165-rhythm__head span { display: block; color: var(--ia-ds-text-secondary, #475569); font-size: var(--ia-type-size-sm, .875rem); margin-top: 3px; }
.ia-v165-rhythm__badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 7px 10px; background: var(--ia-ds-action-primary-soft, #dbeafe); color: var(--ia-ds-link, #1d4ed8); font-weight: 800; white-space: nowrap; }
.ia-v165-rhythm__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.ia-v165-rhythm__grid article { min-width: 0; padding: 11px; border-radius: 14px; background: var(--ia-ds-surface-raised, #fff); border: 1px solid var(--ia-ds-border-subtle, #dbe4ee); }
.ia-v165-rhythm__grid strong { display: block; font-size: clamp(1rem, 2.2vw, 1.35rem); font-variant-numeric: tabular-nums; line-height: 1.2; overflow-wrap: break-word; }
.ia-v165-rhythm__grid span { display: block; margin-top: 4px; color: var(--ia-ds-text-secondary, #475569); font-size: .78rem; line-height: 1.3; }
.ia-v165-rhythm__progress { height: 7px; overflow: hidden; border-radius: 999px; background: var(--ia-ds-bg-section, #e8eef5); }
.ia-v165-rhythm__progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--ia-ds-action-primary, #2563eb); transition: width .2s ease; }
.ia-v165-rhythm__note { margin: 0; color: var(--ia-ds-text-secondary, #475569); font-size: .78rem; line-height: 1.45; }
@media (max-width: 700px) {
    .ia-v165-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
    .ia-v165-rhythm { padding: 12px; }
    .ia-v165-rhythm__grid { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
    .ia-v165-rhythm__progress i { transition: none; }
}
