.progression { line-height: 1.6; max-width: 80rem; }
.progression-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; margin: 1rem 0; }
.progression-card { border: 1px solid var(--line, #8b877e); border-radius: .5rem; padding: 1rem; min-width: 0; }
.progression-card h4 { margin-top: 0; font-size: 1.15rem; }
.progression input { display: block; width: 6rem; min-height: 2.75rem; margin-top: .4rem; }
.progression .progression-choice { display: block; padding: .6rem; }
.progression .progression-choice input { display: inline-block; width: 1.25rem; min-height: 1.25rem; vertical-align: middle; }
.progression button { min-height: 2.75rem; padding: .6rem 1rem; }
.progression :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.progression progress { width: 100%; }
.mastery-milestones { padding-left: 1.4rem; }
.mastery-milestones li { margin-bottom: .7rem; }
.knowledge section { scroll-margin-top: 1rem; border-top: 1px solid var(--line, #8b877e); margin-top: 2rem; padding-top: 1rem; }
.knowledge a { text-decoration: underline; text-underline-offset: .2em; }
.knowledge nav a { display: inline-block; padding-block: .4rem; }
.knowledge-table { overflow-x: auto; }
.knowledge table { border-collapse: collapse; width: 100%; text-align: left; }
.knowledge td, .knowledge th { padding: .65rem; border-bottom: 1px solid var(--line, #8b877e); }
.knowledge summary { cursor: pointer; min-height: 2.75rem; }
.era { --era-color: #dad6c8; display: inline-block; max-width: 100%; overflow-wrap: anywhere; background: #141814; color: var(--era-color); border: 1px solid currentColor; border-radius: .3rem; padding: .1em .45em; font-weight: 600; }
.era-formation { --era-color: #c58a52; }
.era-command { --era-color: #e05a5a; }
.era-sovereignty { --era-color: #a675ff; }
.era-celestial { --era-color: #63d7ff; }
.era-divine { --era-color: #ffd75a; }
.era-second { border-style: double; border-width: 3px; font-weight: 800; }
.era-profile { animation: era-arrival 650ms ease-out 1; }
@keyframes era-arrival { from { transform: translateY(.15rem); } to { transform: translateY(0); } }
[data-reduce-effects="true"] .era-profile { animation: none; }
.reduce-effects *, .reduce-effects *::before, .reduce-effects *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { .era-profile { animation: none; } }

.license-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.lddv-auto-risk { display: block; padding: .5rem; line-height: 1.5; }
.lddv-auto-risk input { min-width: 1.25rem; min-height: 1.25rem; }
.lddv-round-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.lddv-round-card { padding: .7rem; border: 1px solid var(--line, #8b877e); border-radius: .5rem; }
.lddv-round-card meter { width: 100%; }
