.achievement { min-width: 0; }
.achievement__summary {
    font-weight: 700;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    cursor: pointer;
    list-style: none;
}
.achievement__summary::-webkit-details-marker { display: none; }
.achievement__summary:focus-visible { outline: 2px solid var(--dca-green, currentColor); outline-offset: 3px; border-radius: 3px; }
.achievement__toggle { flex: 0 0 auto; color: var(--dca-green, currentColor); font-size: 0.8rem; padding: 0 0.35rem; }
.achievement[open] .achievement__toggle { transform: rotate(90deg); }
.achievement__body {
    margin-top: 0.6rem;
    padding: 0.65rem 0.8rem;
    border-left: 2px solid var(--dca-green, currentColor);
    color: var(--dca-muted, currentColor);
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.achievement__body p { margin: 0 0 0.4rem; }
.achievement__body small { display: block; font-size: 0.73rem; }
.milestone-records {
    min-width: 0;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 12px;
    background: var(--surface);
}
.milestone-records > summary small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--text-secondary); }
.milestone-records[open] > summary .achievement__toggle { transform: rotate(90deg); }
.milestone-records__body { margin-top: 1rem; }
.milestone-records__filter { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.milestone-records__filter select { width: auto; max-width: 100%; }
.milestone-records__scroll { overflow-x: auto; max-width: 100%; }
.milestone-records__scroll:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 2px; }
.milestone-records__table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: 0.85rem; text-align: left; }
.milestone-records__table caption { text-align: left; font-size: 0.85rem; padding-bottom: 0.75rem; color: var(--text-secondary); }
.milestone-records__table th, .milestone-records__table td { padding: 0.65rem; border-bottom: 1px solid var(--surface-border); vertical-align: top; }
.milestone-records__table td:nth-last-child(-n+3) { white-space: nowrap; }
.milestone-records__table th small { display: block; font-weight: 400; color: var(--text-secondary); }
.milestone-records__table .achievement__body { min-width: 180px; }
.milestone-records [hidden] { display: none !important; }
