.personal-library {
  margin: 0 0 34px;
  border: 1px solid #f6dea2;
  background: linear-gradient(135deg, #faecc4, #f0deaf);
  color: #161d28;
  box-shadow: 0 12px 30px rgba(19,25,34,.06);
}
.personal-library__inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 28px clamp(20px, 4vw, 48px);
}
.personal-library .portal-eyebrow { color: #a25b05; }
.personal-library h2 { margin: 10px 0 8px; font: 400 clamp(2rem, 4vw, 3.2rem)/1.05 var(--serif); letter-spacing: -.04em; }
.personal-library p { max-width: 42rem; margin: 0; color: #5c6986; font-size: .83rem; line-height: 1.65; }
.personal-library__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 20px; }
.personal-library__primary { min-height: 44px; padding: 12px 17px; border: 1px solid #161d28; color: #fef6e1; background: #161d28; text-decoration: none; }
.personal-library__primary:hover { background: #1d2637; }
.personal-library .quiet-link { min-height: 44px; padding: 11px 0; border: 0; color: #9b570b; background: transparent; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; font: inherit; }
.personal-library__progress { align-self: end; max-width: 18rem; text-align: right; color: #677491 !important; font-size: .7rem !important; }
.library-filters { display: flex; gap: 4px; padding: 5px; border: 1px solid #f6dea2; border-radius: 6px; background: #faecc3; }
.library-filters button { min-height: 44px; padding: 10px 14px; border: 1px solid transparent; border-radius: 3px; color: #242e44; background: transparent; cursor: pointer; font: 600 .72rem/1.2 var(--sans); }
.library-filters button[aria-pressed=true] { color: #fdf5dd; background: #161d28; }
.library-filters button:hover:not([aria-pressed=true]) { border-color: #dbad4f; color: #161d28; }
.favorite-control { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin: 0 0 6px auto; padding: 0; border: 0; color: #f6dea2; background: transparent; cursor: pointer; }
.favorite-icon:before { content: '♡'; font-size: 1.25rem; line-height: 1; }
.favorite-control[aria-pressed=true] .favorite-icon:before { content: '♥'; color: #f6dea2; }
.favorite-control:hover { color: #fdf5df; }
.favorite-control:disabled { opacity: .65; cursor: wait; }
.personal-library__retry { min-height: 0 !important; margin-left: 5px; padding: 0 !important; font-size: inherit !important; }
@media (max-width: 1020px) {
  .personal-library__inner { align-items: flex-start; flex-direction: column; gap: 16px; }
  .personal-library__progress { align-self: flex-start; max-width: 34rem; text-align: left; }
  .library-filters { width: 100%; }
  .library-filters button { flex: 1; }
}
@media (max-width: 700px) {
  .personal-library { margin-bottom: 25px; }
  .personal-library__inner { padding: 23px 20px 22px; }
  .personal-library h2 { font-size: 2.35rem; }
  .personal-library__actions { align-items: stretch; flex-direction: column; width: 100%; gap: 6px; }
  .personal-library__primary { text-align: center; }
  .personal-library .quiet-link { text-align: left; }
  .library-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .library-filters button { padding-inline: 6px; font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .personal-library__primary { transition: none; }
}
