/* Tilawat v15 QA fixes — tighter RTL geometry and cheaper fixed-player rendering. */
.last-listened-card{min-height:92px;grid-template-columns:78px minmax(0,1fr) 44px!important;column-gap:11px;padding:7px 9px 7px 7px}
.last-listened-card__art{width:78px;height:78px}
#libraryGrid .library-row{min-height:90px;grid-template-columns:78px minmax(0,1fr) 44px!important;column-gap:11px;padding:6px 0}
#libraryGrid .library-row .art{width:78px;height:78px;border-radius:10px}
#libraryGrid .library-row .library-row__play{width:38px;height:38px;border:0}
#libraryGrid .library-row .library-drag-handle{width:38px;height:46px;background:transparent;border-color:transparent;font-size:22px}
.mini2{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface2)!important}
.seek{margin-top:10px}
#seek{height:22px}
#seek::-webkit-slider-runnable-track{height:3px!important}

/* Real mini-player progress: same range control semantics as the full player. */
.mini2{overflow:visible}
.mini2__seek{position:absolute;z-index:6;left:0;right:0;bottom:-1px;width:100%;height:14px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;direction:ltr;touch-action:none}
.mini2__seek::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0 var(--mini-pct,0%),rgba(255,255,255,.13) var(--mini-pct,0%) 100%)}
.mini2__seek::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--ink);margin-top:-3.5px;opacity:0;transition:opacity .15s}
.mini2:hover .mini2__seek::-webkit-slider-thumb,.mini2__seek:focus-visible::-webkit-slider-thumb{opacity:1}
.mini2__seek::-moz-range-track{height:3px;border-radius:999px;background:rgba(255,255,255,.13)}
.mini2__seek::-moz-range-progress{height:3px;border-radius:999px;background:var(--accent)}
.mini2__seek::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--ink)}

/* Playback state: a travelling/staggered audio wave, not bars moving together. */
.tilawat-card-eq{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2.5px;opacity:0}
.tilawat-card-eq i{display:block;width:2.5px;height:14px;border-radius:999px;background:currentColor;transform-origin:center;transform:scaleY(.28);will-change:transform;animation:tilawat-eq-wave .9s cubic-bezier(.4,0,.2,1) infinite;animation-fill-mode:both}
.tilawat-card-eq i:nth-child(1){height:11px;animation-delay:0s}
.tilawat-card-eq i:nth-child(2){height:16px;animation-delay:.12s}
.tilawat-card-eq i:nth-child(3){height:12px;animation-delay:.24s}
html.is-audio-playing .media-card.is-current .art__play>svg,html.is-audio-playing .library-row.is-current .library-row__play>svg{opacity:0}
html.is-audio-playing .media-card.is-current .tilawat-card-eq,html.is-audio-playing .library-row.is-current .tilawat-card-eq{opacity:1}
@keyframes tilawat-eq-wave{0%,100%{transform:scaleY(.28)}32%{transform:scaleY(1)}62%{transform:scaleY(.48)}82%{transform:scaleY(.72)}}
#miniFav.is-favorite{color:var(--favorite)!important}
#miniFav.is-favorite svg path{fill:currentColor;stroke:currentColor}

/* Cover source chooser for Add: YouTube thumbnail / Tilawat local / user upload. */
.cover-picker{grid-template-columns:96px minmax(0,1fr)!important;gap:13px!important;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:10px}
.cover-picker__preview{width:96px;height:96px;border-radius:10px;overflow:hidden;background:var(--surface2)}
.cover-picker__preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02)}
.cover-picker__options{display:grid;gap:7px;min-width:0}.cover-picker__options>b{font-size:12px}.cover-picker__options label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink);cursor:pointer}.cover-picker__options input{width:16px;height:16px;accent-color:var(--accent)}.cover-picker__options small{color:var(--muted);font-size:9px;line-height:1.55}
.cover-picker__options label:has(input:disabled){opacity:.42;cursor:not-allowed}

/* A dragged library row must not activate playback, and keyboard handles stay visible. */
#libraryGrid .library-row[role="button"]{outline:none}
#libraryGrid .library-row:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}
#libraryGrid .library-row .library-drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#libraryView.library-editing #libraryGrid .library-row{touch-action:pan-y}

@media(max-width:430px){
  .last-listened-card{grid-template-columns:72px minmax(0,1fr) 42px!important;min-height:86px;column-gap:10px}.last-listened-card__art{width:72px;height:72px}
  #libraryGrid .library-row{grid-template-columns:70px minmax(0,1fr) 42px!important;min-height:82px;column-gap:10px}#libraryGrid .library-row .art{width:70px;height:70px}#libraryGrid .library-row h3{font-size:14px}
  .cover-picker{grid-template-columns:78px minmax(0,1fr)!important}.cover-picker__preview{width:78px;height:78px}
}
@media(prefers-reduced-motion:reduce){.tilawat-card-eq i{animation:none!important;transform:scaleY(.65)}}