.ach{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);position:relative}.ach__medallion{place-items:center;display:grid}.ach__body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ach__head{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;display:flex}.ach__tier{font-size:var(--text-sm);font-weight:var(--fw-bold);text-transform:uppercase;line-height:var(--leading-normal)}.ach__name{width:100%;font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);line-height:var(--leading-normal)}.ach__desc{width:100%;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-snug);margin:0}.ach__progress{background:var(--bg-hover);border-radius:var(--radius-full);width:100%;height:.375rem;overflow:hidden}.ach__progress-fill{border-radius:inherit;width:100%;height:100%;transition:width var(--duration-base) var(--ease-standard);background:currentColor}.ach__progress-text{font-size:var(--text-sm);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.ach__progress-line{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.ach__progress-line--inline{align-items:center;gap:var(--space-2);flex-direction:row}.ach__progress-line--inline .ach__progress{flex:1}.ach__progress-line--inline .ach__progress-text{white-space:nowrap;margin:0}.ach__cta{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-brand);text-decoration:none;display:inline-flex}.ach__cta:hover{text-decoration:underline}.ach__earned-at{align-items:center;gap:var(--space-1);width:100%;font-size:var(--text-sm);color:var(--text-success);font-weight:var(--fw-medium);display:flex}.ach__points{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--fw-semibold);display:inline-flex}.ach--bronze{color:var(--tier-bronze-icon)}.ach--bronze .ach__tier{color:var(--tier-bronze-text)}.ach--silver{color:var(--tier-silver-icon)}.ach--silver .ach__tier{color:var(--tier-silver-text)}.ach--gold{color:var(--tier-gold-icon)}.ach--gold .ach__tier{color:var(--tier-gold-text)}.ach--legendary{color:var(--tier-legendary-icon)}.ach--legendary .ach__tier{color:var(--tier-legendary-text)}.ach--earned{background:color-mix(in srgb, currentColor 6%, var(--bg-surface));border-color:currentColor}.ach--locked{opacity:.55;filter:grayscale(.6)}.ach--vertical{gap:var(--space-2);padding:var(--space-4);text-align:center;grid-template-columns:1fr;display:grid}.ach--vertical .ach__medallion{margin:0 auto}.ach--vertical .ach__body{align-items:center}.ach--vertical .ach__earned-at,.ach--vertical .ach__points{justify-content:center}.ach--row{align-items:start;gap:var(--space-3);padding:var(--space-3);text-align:left;grid-template-columns:auto 1fr;display:grid}.ach--row .ach__body{align-items:flex-start;gap:var(--space-1)}.ach--row .ach__desc{white-space:normal;overflow:visible}.ach--row .ach__progress{height:.25rem}.ach--row{background:0 0;border:0;border-radius:0;padding:0}.ach--row.ach--earned,.ach--row .ach__head{align-items:center}.ach--row .ach__name{font-size:var(--text-base)}.ach--horizontal{align-items:start;gap:var(--space-3);padding:var(--space-3);text-align:left;grid-template-columns:auto 1fr;display:grid}.ach--horizontal .ach__body{align-items:flex-start;gap:var(--space-1)}.ach--horizontal .ach__desc{white-space:normal;overflow:visible}.ach--horizontal .ach__progress{height:.25rem}@media (width<=47.99em){.ach--responsive{align-items:start;gap:var(--space-3);padding:var(--space-3);text-align:left;grid-template-columns:auto 1fr;display:grid}.ach--responsive .ach__body{align-items:flex-start;gap:var(--space-1)}.ach--responsive .ach__desc{white-space:normal;overflow:visible}.ach--responsive .ach__progress{height:.25rem}}@media (width>=48em){.ach--responsive{gap:var(--space-2);padding:var(--space-4);text-align:center;grid-template-columns:1fr;display:grid}.ach--responsive .ach__medallion{margin:0 auto}.ach--responsive .ach__body{align-items:center}.ach--responsive .ach__earned-at,.ach--responsive .ach__points{justify-content:center}}
