.jaview-favorites-page { min-height:100vh; background:#000; color:#fff; }
.jaview-favorites-page-controls { margin-bottom:.8rem; }
.jaview-favorites-controls-row { display:flex; min-width:0; align-items:stretch; gap:.55rem; }
.jaview-favorites-page-controls .jaview-search-box { min-width:0; flex:1 1 auto; }
.jaview-favorites-page-controls .jaview-filter-switches { display:flex; flex:0 0 auto; gap:.55rem; margin:0; }
.jaview-favorites-page-controls .jaview-filter-trigger { min-width:6.4rem; }
.jaview-favorites-page-controls .jaview-filter-panel { max-height:11rem; overflow:auto; }
.jaview-favorites-page-controls .jaview-tag-cloud { max-height:none; }
.jaview-favorites-page-layout { --jaview-favorites-sidebar-width:25rem; display:grid; grid-template-columns:minmax(0,1fr) .7rem minmax(19rem,var(--jaview-favorites-sidebar-width)); grid-template-areas:"player resize sidebar"; column-gap:0; align-items:start; }
.jaview-favorites-player-column { min-width:0; grid-area:player; }
.jaview-favorites-resize-handle { position:sticky; z-index:4; top:0; width:.7rem; height:100vh; grid-area:resize; padding:0; border:0; background:transparent; cursor:col-resize; touch-action:none; }
.jaview-favorites-resize-handle::after { position:absolute; top:1rem; bottom:1rem; left:50%; width:1px; border-radius:999px; background:rgba(255,255,255,.2); content:""; transform:translateX(-50%); transition:width .15s ease,background .15s ease; }
.jaview-favorites-resize-handle:hover::after,.jaview-favorites-resize-handle:focus-visible::after,.jaview-favorites-resize-handle.is-resizing::after { width:3px; background:var(--jv-blue); }
.jaview-favorites-sidebar { position:sticky; top:1rem; max-height:calc(100vh - 2rem); grid-area:sidebar; overflow:auto; padding:.7rem; border:1px solid var(--jv-border); border-radius:1rem; background:var(--jv-surface); }
.jaview-favorites-sidebar-heading { display:flex; align-items:center; justify-content:space-between; gap:.45rem; margin:0 0 .55rem; color:var(--jv-muted); font-size:.72rem; font-weight:800; }
.jaview-favorites-random-toggle { display:grid; width:1.85rem; height:1.85rem; place-items:center; padding:0; border:1px solid transparent; border-radius:.5rem; color:var(--jv-muted); background:transparent; cursor:pointer; }
.jaview-favorites-random-toggle:hover,.jaview-favorites-random-toggle:focus-visible { border-color:var(--jv-border); color:#fff; background:var(--jv-high); }
.jaview-favorites-random-toggle[aria-pressed="true"] { border-color:var(--jv-blue); color:#fff; background:rgba(10,132,255,.2); }
.jaview-favorites-random-toggle .material-symbols-outlined { font-size:1.05rem; }
.jaview-favorites-page-list { display:grid; gap:.55rem; }
.jaview-favorites-page-list .jaview-favorite-item { grid-template-columns:9.2rem minmax(0,1fr); cursor:pointer; }
.jaview-favorites-page-list .jaview-favorite-item.is-active { border-color:var(--jv-blue); background:rgba(10,132,255,.12); }
.jaview-favorites-page-list .jaview-favorite-thumb { border:0; padding:0; cursor:pointer; }
.jaview-favorites-page-list .jaview-favorite-copy>button { display:-webkit-box; overflow:hidden; padding:0; border:0; color:#fff; font:inherit; font-size:.75rem; font-weight:700; line-height:1.4; text-align:left; background:transparent; cursor:pointer; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.jaview-favorites-page-list .jaview-favorite-copy>button:hover { color:#8ec5ff; }
.jaview-favorites-current .jaview-title-row { min-height:3.6rem; cursor:default; }
.jaview-favorites-current .jaview-title-row>span { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.jaview-favorites-current .jaview-current-meta { grid-template-rows:auto auto; }
.jaview-favorites-current .jaview-meta-actresses>span,.jaview-favorites-current .jaview-meta-tags>span:last-child { display:flex; min-width:0; gap:.3rem; overflow:hidden; }
.jaview-favorites-current .jaview-meta-tags>span:last-child { flex-wrap:wrap; white-space:normal; }
.jaview-favorites-current .jaview-meta-tags a { color:var(--jv-muted); text-decoration:none; }
.jaview-favorites-current .jaview-meta-tags a:hover,.jaview-favorites-current .jaview-meta-actresses a:hover { color:#8ec5ff; text-decoration:underline; }
.jaview-favorites-player-loading { display:grid; width:100%; aspect-ratio:16/9; place-items:center; color:var(--jv-muted); background:#000; }

@media (max-width:1040px) {
  .jaview-favorites-page-layout { --jaview-favorites-sidebar-width:20rem; grid-template-columns:minmax(0,1fr) .7rem minmax(16rem,var(--jaview-favorites-sidebar-width)); }
}

@media (max-width:820px) {
  .jaview-favorites-controls-row { gap:.35rem; }
  .jaview-favorites-page-controls .jaview-filter-switches { gap:.35rem; }
  .jaview-favorites-page-controls .jaview-filter-trigger { min-width:4.5rem; }
  .jaview-favorites-page-layout { grid-template-columns:1fr; grid-template-areas:"player" "sidebar"; gap:.55rem; }
  .jaview-favorites-resize-handle { display:none; }
  .jaview-favorites-sidebar { position:static; max-height:none; border-radius:.75rem; }
}

@media (max-width:520px) {
  .jaview-favorites-page-controls { margin-bottom:.55rem; }
  .jaview-favorites-controls-row { gap:.25rem; }
  .jaview-favorites-page-controls .jaview-search-box label { padding-inline:.55rem; }
  .jaview-favorites-page-controls .jaview-search-box input { min-width:0; }
  .jaview-favorites-page-controls .jaview-search-box button { padding-inline:.65rem; }
  .jaview-favorites-page-controls .jaview-filter-switches { gap:.25rem; }
  .jaview-favorites-page-controls .jaview-filter-trigger { min-width:3.75rem; padding-inline:.45rem; font-size:.72rem; }
  .jaview-favorites-sidebar { padding:.65rem; }
  .jaview-favorites-page-list .jaview-favorite-item { grid-template-columns:7.7rem minmax(0,1fr); }
}
