.favorite-button{font-size:.875rem;min-height:44px;background:#fffaf0;border-color:#d9c49a;color:#715014}
.favorite-button[aria-pressed=true]{background:#ffedbc;border-color:#bb8c2a;color:#67470a}
.card .favorite-button{margin-top:.6rem;align-self:flex-start}
.favorite-feedback{font-size:.875rem;color:#526661;margin:.5rem 0}
.topic-progress{display:grid;gap:1rem;margin:1rem 0 2rem}
.topic-progress>p{margin:0}
.mastery-card{padding:1.25rem;background:white;border:1px solid #cedcda;border-radius:12px}
.mastery-card h3{margin:0 0 .7rem;font-size:1.1rem;overflow-wrap:anywhere}
.mastery-card>p{margin:.4rem 0 1rem;font-size:.875rem}
.mastery-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0}
.mastery-count{padding:.7rem;border-radius:8px;border:1px solid #d9e2e8;background:#f5f8fb}
.mastery-count dt{font-size:.875rem;color:#3d515c;line-height:1.45;overflow-wrap:anywhere}
.mastery-count dd{font-size:1.5rem;font-weight:700;margin:.35rem 0 0;color:#173134;font-variant-numeric:tabular-nums}
.mastery-independent{background:#e7f6f0;border-color:#b9ddcf}.mastery-assisted{background:#fff6df;border-color:#e2d1a5}.mastery-wrong,.mastery-unsure{background:#fcf0ee;border-color:#e9ceca}
.favorites-backup{margin-top:1rem}.favorites-backup>button{margin:.8rem 0}.favorites-backup label{margin-top:1rem}.favorites-backup input{max-width:100%;font-size:.875rem}.favorites-backup .notice button{margin:.3rem}
@media(max-width:600px){.mastery-card{padding:1rem}.mastery-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
