.lets-play-layout > .lets-play-timeline { grid-column:1/-1; }
.lets-play-layout { align-items:start; grid-template-columns:minmax(0,1fr) 320px; }
/* The video alone sizes the grid row; its sidebar fills that exact height. */
.lets-play-sidebar { position:relative; align-self:stretch; min-width:0; min-height:0; }
.lets-play-sidebar-content { position:absolute; inset:0; display:flex; flex-direction:column; gap:.65rem; }
.lets-play-sidebar .playlist-panel { display:flex; flex:1 1 0; flex-direction:column; min-height:0; padding:.75rem; }
.lets-play-sidebar .playlist-panel > header { flex:none; align-items:center; flex-wrap:wrap; gap:.2rem .6rem; padding-bottom:.5rem; }
.lets-play-sidebar .playlist-panel h2 { font-size:.9rem; }
.playlist-count { color:var(--muted); font-size:.67rem; }
.lets-play-sidebar .playlist-panel ol { display:block; flex:1 1 0; min-height:0; max-height:none; margin:.35rem 0 0; padding-inline:.35rem; overflow-y:auto; scrollbar-width:thin; overscroll-behavior:contain; }
.lets-play-sidebar .playlist-panel a, .lets-play-sidebar .playlist-episode-secret { padding:.38rem .1rem; grid-template-columns:1.6rem minmax(0,1fr); gap:.2rem; }
.lets-play-sidebar .playlist-panel a strong, .lets-play-sidebar .playlist-episode-secret strong { font-size:.73rem; }
.lets-play-sidebar .playlist-panel a > span, .lets-play-sidebar .playlist-episode-secret > span { font-size:.62rem; }
.lets-play-sidebar .playlist-panel a.active { margin-inline:-.25rem; padding-inline:.35rem; }
.member-library { flex:none; min-width:0; padding:.75rem; }
.lets-play-sidebar .member-library { max-height:100%; overflow-y:auto; scrollbar-width:thin; }
.lets-play-sidebar.has-playlist .member-library { max-height:58%; }
.empty-member-library { padding-block:2rem; }
.member-library header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.3rem .5rem; margin-bottom:.45rem; }
.member-library h2 { margin:0; font-size:.85rem; }
.member-library header > a { color:var(--coral); font-size:.65rem; white-space:nowrap; }
.member-library fieldset { display:grid; grid-template-columns:1fr 1fr; gap:.1rem .65rem; padding:0; margin:0; border:0; }
.member-library label { display:inline-flex; min-height:26px; align-items:center; gap:.4rem; cursor:pointer; font-size:.74rem; }
.member-library .library-watched { grid-column:1/-1; }
.member-library input { accent-color:var(--coral); width:.95rem; height:.95rem; flex:none; }
.member-library label:has(input:disabled) { opacity:.55; cursor:not-allowed; }
.library-quota { display:flex; flex-wrap:wrap; gap:.2rem .5rem; margin:.4rem 0 0; font-size:.65rem; color:var(--muted); }
.library-quota a { color:var(--coral); }
.personal-library > .library-quota { font-size:.85rem; margin-top:1rem; }
.library-play-category { margin-top:1.5rem; scroll-margin-top:6rem; }
.library-unavailable { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1rem; padding:1rem; }
.library-unavailable p { flex:1 1 280px; margin:0; color:var(--muted); font-size:.8rem; }
.library-note, .library-feedback { color:var(--muted); font-size:.85rem; }
.library-note { margin:.75rem 0 0; }
.member-library .library-note { margin:.35rem 0 0; font-size:.64rem; }
.member-library .library-feedback { margin:.3rem 0 0; font-size:.67rem; line-height:1.4; }
.library-feedback { min-height:1.2em; margin:.4rem 0 0; }
.library-feedback:empty { display:none; }
.library-feedback.is-error { color:var(--coral); }
.library-resume { margin:.4rem 0 0; font-size:.72rem; font-variant-numeric:tabular-nums; }
.personal-library { padding-block:2rem 4rem; }
.personal-library > section { margin-top:2rem; scroll-margin-top:6rem; }
.library-filters { display:flex; flex-wrap:wrap; gap:1.5rem; }
.library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:1rem; }
.library-card { display:flex; align-items:start; gap:1rem; min-width:0; padding:1rem; }
.library-card > img { width:64px; aspect-ratio:2/3; object-fit:cover; border-radius:6px; }
.library-card > div { min-width:0; }
.library-card h3, .library-card h4 { margin:.25rem 0 .5rem; font-size:1.1rem; overflow-wrap:anywhere; }
.library-card p { margin:0 0 .5rem; }
.personal-library .library-grid { margin-top:1rem; }
.library-remove { margin-top:.7rem; }
.library-remove button { white-space:normal; text-align:left; }
.library-game-category { margin-top:1.5rem; scroll-margin-top:6rem; }
.library-category-count { color:var(--muted); font-weight:normal; font-size:.85em; }
@media (max-width:1000px) {
  .lets-play-layout { grid-template-columns:minmax(0,1fr); }
  .lets-play-sidebar-content { position:static; }
  .lets-play-sidebar .playlist-panel { flex:auto; max-height:260px; }
  .lets-play-sidebar .playlist-panel ol { flex:auto; max-height:200px; }
  .lets-play-sidebar.has-playlist .member-library, .lets-play-sidebar .member-library { max-height:none; overflow:visible; }
}
@media (pointer:coarse) {
  .member-library label { min-height:40px; }
  .lets-play-sidebar .playlist-panel a { min-height:40px; align-items:center; }
}
