/* Library: artwork first, with explicit actions separate from the covers. */
.library-play-card { position:relative; padding-right:2.8rem; }
.library-card > .library-play-cover { width:110px; aspect-ratio:16/10; height:auto; object-fit:cover; flex:none; }
.library-card .button { gap:.45rem; }
.library-card .library-remove { position:absolute; top:.45rem; right:.45rem; margin:0; }
.library-delete { display:grid; position:absolute; z-index:2; top:.35rem; right:.35rem; width:28px; height:28px; padding:0; place-items:center; border:1px solid #ffb4b4; border-radius:50%; background:#b52135; color:#fff; font-size:1.45rem; line-height:1; box-shadow:0 2px 6px #0008; }
.library-remove .library-delete { position:static; }
.library-delete:hover { background:#d82a41; }
.library-game-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,150px)); gap:1rem; margin-top:1rem; }
.library-game-cover { display:block; position:relative; min-width:0; aspect-ratio:2/3; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.library-game-cover > img { display:block; width:100%; height:100%; object-fit:cover; }
.library-cover-missing { display:grid; height:100%; padding:.5rem; place-items:center; text-align:center; color:var(--muted); background:var(--surface-raised); }
.library-game-switch { position:absolute; right:.35rem; bottom:.35rem; margin:0; }
.library-game-switch button { display:grid; width:32px; height:32px; place-items:center; padding:0; border:1px solid var(--cream); border-radius:50%; background:var(--night); color:var(--lime); font-size:1.2rem; }
.library-game-ghost { display:flex; gap:.5rem; align-items:center; justify-content:center; flex-direction:column; border:2px dashed var(--control-line); color:var(--coral); background:transparent; }
.library-game-ghost > span { font-size:2.4rem; }.library-game-ghost small { font-size:.75rem; }
.library-game-dialog { width:min(480px,calc(100% - 28px)); max-height:85dvh; overflow:auto; padding:1.5rem; border:1px solid var(--control-line); border-radius:12px; background:var(--surface); color:var(--ink); }
.library-game-dialog::backdrop { background:#000b; }.library-game-dialog h2 { margin-right:1.5rem; }
.library-game-dialog label { display:block; margin:.8rem 0 .3rem; font-size:.85rem; }
.library-game-dialog input,.library-game-dialog select { width:100%; padding:.6rem; border:1px solid var(--control-line); border-radius:6px; background:var(--night); color:var(--ink); }
.library-game-dialog p { font-size:.8rem; color:var(--muted); }.library-game-dialog .button { margin-top:1rem; }.library-game-dialog .button:disabled { opacity:.5; }
.library-dialog-close { position:absolute; top:.5rem; right:.5rem; border:0; background:transparent; color:var(--ink); font-size:1.5rem; }
/* Let's play cards: the artwork forms an edge-to-edge banner. */
.lets-play-poster-grid .game-card { padding:0 0 1rem; min-height:0; }
.lets-play-poster-grid .game-card::after { display:none; }
.lets-play-poster-grid .game-symbol { width:100%; height:auto; aspect-ratio:16/9; margin:0 0 .85rem; border-radius:0; transform:none; font-size:3rem; }
.lets-play-poster-grid .game-symbol img { transform:none; object-fit:cover; }
.lets-play-poster-grid .game-card h2,.lets-play-poster-grid .game-card p,.lets-play-poster-grid .card-action { margin-inline:1rem; }
.lets-play-poster-grid .game-card p { margin-top:.5rem; }.lets-play-poster-grid .card-action { margin-top:auto; }
.lets-play-poster-grid .game-card .status-tag { top:.65rem; right:.65rem; }
.calendar-weekday-short { display:none; }
@media (max-width:650px) {
    .lets-play-poster-grid,.programs-list-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
    .lets-play-poster-grid .game-card { padding-bottom:.7rem; border-radius:10px; }
    .lets-play-poster-grid .game-symbol { margin-bottom:.5rem; }
    .lets-play-poster-grid .game-card h2 { font-size:.9rem; line-height:1.3; }
    .lets-play-poster-grid .game-card h2,.lets-play-poster-grid .game-card p,.lets-play-poster-grid .card-action { margin-inline:.6rem; }
    .lets-play-poster-grid .game-card p { font-size:.68rem; line-height:1.45; }
    .lets-play-poster-grid .card-action { font-size:.67rem; }
    .lets-play-poster-grid .game-card .status-tag { top:.35rem; right:.35rem; font-size:.48rem; padding:.15rem .3rem; }
    .programs-list-grid .large-card { min-width:0; padding:.6rem; gap:.65rem; grid-template-columns:minmax(0,1fr); border-radius:10px; }
    .programs-list-grid .large-card-art { min-height:0; aspect-ratio:16/10; border-radius:6px; }
    .programs-list-grid .large-card h2 { font-size:.95rem; overflow-wrap:anywhere; }
    .programs-list-grid .large-card p { font-size:.68rem; line-height:1.45; }
    .programs-list-grid .card-label { margin-inline:0; font-size:.52rem; }
    .programs-list-grid .large-card a,.programs-list-grid .disabled-link { font-size:.68rem; }
    .release-calendar { width:calc(100% - 12px); padding-block:1rem 2rem; gap:.7rem; }
    .release-calendar-table { min-width:0; width:100%; }
    .release-calendar-table colgroup,.release-calendar-table tr > :first-child { display:none; }
    .release-calendar-table thead th { padding:.45rem .1rem; font-size:.56rem; }
    .calendar-weekday-full { display:none; }.calendar-weekday-short { display:inline; }
    .release-calendar-scroll-hint { display:none; }
    .release-calendar-day { height:115px; padding:.3rem .15rem; }
    .release-calendar-day-heading { margin-bottom:.3rem; justify-content:center; }
    .release-calendar-day-heading strong { font-size:.8rem; }
    .release-calendar-day-heading time > span { font-size:.45rem; }
    .release-calendar-today { display:none; }
    .release-calendar-events { gap:.3rem; }
    .release-calendar-program { padding:.25rem .1rem; gap:.25rem; border-radius:4px; }
    .release-calendar-event-meta { flex-direction:column; gap:0; font-size:.52rem; line-height:1.35; }
    .release-calendar-event-meta > span { font-size:.5rem; }
    .release-calendar-event-content { display:flex; align-items:center; flex-direction:column; gap:.2rem; }
    .release-calendar-cover { width:min(30px,100%); }
    .release-calendar-info > strong { display:none; }
    .release-calendar-info > small { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; text-align:center; font-size:.51rem; line-height:1.2; }
    .library-game-grid { grid-template-columns:repeat(auto-fill,minmax(95px,1fr)); gap:.7rem; }
    .library-card > .library-play-cover { width:92px; }
}
/* Mobile watch: the page itself stays still; each tab has its own scrolling area. */
@media (max-width:900px) {
    html:has(body.mobile-watch) { height:100%; overflow:hidden; }
    body.mobile-watch { position:fixed; inset:0; width:100%; --header-height:52px; height:100dvh; overflow:hidden; }
    .mobile-watch .site-header { max-height:100dvh; overflow-y:auto; }
    .mobile-watch .site-nav { min-height:52px; }
    .mobile-watch > main { display:flex; flex-direction:column; height:calc(100dvh - var(--header-height)); min-height:0; overflow:hidden; }
    .mobile-watch .video-detail-header { flex:none; padding:.3rem 0; }
    .mobile-watch .breadcrumbs { font-size:.65rem; }
    .mobile-watch .lets-play-layout { display:flex; flex:1; flex-direction:column; align-items:stretch; width:100%; gap:0; padding:0; min-height:0; margin:0; }
    .mobile-watch .player-column { flex:none; width:100%; }
    .mobile-watch .lets-play-player { width:100%; max-height:45dvh; border-radius:0; }
    .mobile-watch .lets-play-player iframe { display:block; width:100%; height:100%; }
    .mobile-watch .player-placeholder { min-height:0; height:100%; }
    .mobile-watch .lets-play-sidebar,.mobile-watch > main > .content-context,.mobile-watch > .site-footer { display:none; }
    .mobile-watch-workspace { display:flex; flex:1; flex-direction:column; min-width:0; width:100%; min-height:0; }
    .mobile-watch-tabs { display:flex; flex:none; border-bottom:1px solid var(--line); background:var(--night); }
    .mobile-watch-tabs button { flex:1; min-height:44px; padding:.5rem; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:.8rem; font-weight:750; }
    .mobile-watch-tabs button[aria-selected=true] { border-bottom-color:var(--coral); color:var(--cream); }
    .mobile-watch-panel { min-height:0; flex:1; overflow-y:auto; overflow-x:hidden; padding:.65rem .75rem max(.75rem,env(safe-area-inset-bottom)); overscroll-behavior-y:contain; scroll-padding-top:12px; }
    .mobile-watch-panel[hidden] { display:none; }
    .mobile-watch-section { margin-bottom:.6rem; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
    .mobile-watch-section > summary { padding:.7rem .8rem; font-size:.85rem; font-weight:750; color:var(--cream); cursor:pointer; }
    .mobile-watch-section > :not(summary) { margin:0; padding:.75rem; }
    .mobile-watch-section .panel { border:0; border-radius:0; }
    .mobile-watch-section .playlist-panel h2,.mobile-watch-section .member-library h2 { display:none; }
    .mobile-watch-section .member-library > header { justify-content:flex-end; }
    .mobile-watch-section .playlist-panel ol { max-height:none; padding:0; }
    .mobile-watch-section .playlist-panel a { min-height:42px; }
    .mobile-watch-panel .lets-play-timeline { margin:0 0 .6rem; }
    .mobile-watch-panel .content-context-panel { min-width:0; border:0; color:var(--ink); background:var(--surface); }
    .mobile-watch-panel .content-context-panel > .card-label { display:none; }
    .mobile-watch-panel .content-context-cover { max-height:160px; }
    .mobile-watch-panel .comments-section { padding:0; }
    .mobile-watch-panel .comments-section-inner { width:100%; margin:0; }
}
