.sdino-favorite {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent url("../../img/icons/star-blanc.png") center / 20px 20px no-repeat;
    cursor: pointer;
    pointer-events: auto;
}
.sdino-favorite[aria-pressed="true"] { background-image: url("../../img/icons/star-gold.png"); }
.sdino-favorite:hover { background-color: #fff4d8; }
.sdino-favorite:focus-visible { outline: 2px solid #268b61; outline-offset: 2px; }
.sdino-favorite:disabled { opacity: .45; cursor: wait; }
/* Home players use the compact, two-row layout at every viewport width. */
.sdino-v3-shell .sdhome-track-player-scope .playtrack .playerRight .sdino-favorite { position: absolute; right: 40px; bottom: 11px; }
.sdino-v3-shell .sdhome-track-player-scope .playtrack .playerLeft .peaks { min-width: 0; width: calc(100% - 78px); max-width: calc(100% - 78px); flex-basis: 100%; margin-right: 78px; }
.sdino-library h1 { font-size: 28px; line-height: 1.25; letter-spacing: 0; overflow-wrap: anywhere; }
.sdino-library__tabs { display: flex; flex-wrap: wrap; gap: 12px 24px; border-bottom: 1px solid #dfe8e3; }
.sdino-library__tabs a { padding: 10px 0; text-decoration: none; overflow-wrap: anywhere; }
.sdino-library__tabs a[aria-current] { border-bottom: 2px solid #268b61; color: #13201b; font-weight: 700; }
.sdino-library__toolbar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 0 0 20px; }
.sdino-library__toolbar select { width: auto; min-width: 180px; appearance: auto; }
.sdino-library .zg-v3__btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.sdino-library__history-row { display: grid; grid-template-columns: minmax(160px, 1fr) 175px 80px auto; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid #dfe8e3; font-size: 14px; }
.sdino-library__track { min-width: 0; overflow-wrap: anywhere; }
.sdino-library__track strong { display: block; color: #13201b; }
.sdino-library__track small, .sdino-library__format small { display: block; color: #68736f; margin-top: 4px; }
.sdino-library__actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.sdino-library__favorites > .sdino-library__history-row { grid-template-columns: minmax(0, 1fr) auto; }
.sdino-library__favorites { direction: ltr; }
.sdino-library__pagination { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 24px 0; }
.sdino-library-error { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10002; width: max-content; max-width: calc(100% - 32px); padding: 12px 16px; border: 1px solid #e1b3b3; border-radius: 6px; background: #fff4f4; color: #923232; font: 14px/1.4 system-ui, sans-serif; overflow-wrap: anywhere; }
.sdino-library-error:empty { display: none; }
@media (max-width: 768px) {
    .sdino-v3-shell .zg-v3 .playtrack .playerRight .sdino-favorite { position: absolute; right: 40px; bottom: 11px; }
    .sdino-v3-shell .zg-v3 .playtrack .playerLeft .peaks { min-width: 0; width: calc(100% - 78px); max-width: calc(100% - 78px); flex-basis: 100%; margin-right: 78px; }
    .sdino-library__history-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; }
    .sdino-library__track { grid-column: 1 / -1; }
    .sdino-library__history-row time { font-size: 13px; }
    .sdino-library__format { text-align: right; }
    .sdino-library__actions { grid-column: 1 / -1; justify-content: flex-start; }
    .sdino-library__favorites > .sdino-library__history-row .sdino-library__track { grid-column: 1; }
}
