/* v5 changes are deliberately scoped to library pages. The original theme and homepage stay intact. */
.rw-library-v5 [hidden] { display:none !important; }
.rw-library-v5 #library-header { padding-bottom:1.7rem; }
.rw-library-v5 #library-header .section-subheading { margin: .8rem 0 1.6rem; }
.rw-library-tools { display:flex; gap:1rem; text-align:left; max-width:960px; margin:0 auto; align-items:flex-end; }
.rw-library-tools label { display:block; font:700 .8rem Montserrat,sans-serif; margin-bottom:.5rem; color:#e9ecef; }
.rw-search-group { flex:1; min-width:0; }
.rw-search-input-wrap { position:relative; }
.rw-search-input-wrap > svg { position:absolute; width:18px; height:18px; left:1rem; top:50%; transform:translateY(-50%); color:#adb5bd; pointer-events:none; }
.rw-library-tools input,.rw-library-tools select { width:100%; border:1px solid #50565d; background:#25282d; color:#fff; border-radius:.4rem; min-height:48px; font:400 .94rem Montserrat,sans-serif; padding:.75rem 1rem; }
.rw-library-tools input { padding-left:2.75rem; padding-right:3rem; }
.rw-library-tools input::placeholder { color:#b4b9c0; opacity:1; }
.rw-library-tools select { padding-right:2rem; }
.rw-library-tools :is(input,select,button):focus-visible { outline:2px solid #fed136; outline-offset:3px; }
.rw-genre-group { width:220px; flex-shrink:0; }
.rw-search-clear { position:absolute; right:.25rem; top:50%; transform:translateY(-50%); border:0; background:transparent; color:#c8cdd2; width:40px; height:40px; font-size:1.5rem; line-height:1; }
.rw-library-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.6rem; max-width:960px; margin:1rem auto 0; font:400 .8rem Montserrat,sans-serif; color:#b2b9c1; text-align:left; }
.rw-refresh { background:none; border:0; color:#fed136; padding:.4rem .2rem; font:600 .78rem Montserrat,sans-serif; }
.rw-refresh:disabled { opacity:.55; }
.rw-empty { grid-column:1/-1; text-align:center; padding:3rem 1rem; width:100%; color:#c1c7ce; }
.rw-empty strong { display:block; font:700 1.15rem Montserrat,sans-serif; color:#fff; margin-bottom:.6rem; }
.rw-empty button { color:#fed136; background:transparent; border:1px solid #fed136; border-radius:.35rem; padding:.65rem 1rem; margin-top:.75rem; }
.rw-library-v5 .game-tile-cover { opacity:1; }
.rw-library-v5 .game-tile:hover .game-tile-cover { opacity:1; }
.rw-library-v5 .game-tile-unavailable .game-tile-cover { filter:grayscale(.85) brightness(.7); }
.rw-library-v5 .game-tile-unavailable:hover .game-tile-cover { filter:grayscale(.85) brightness(.7); }
.rw-library-v5 .game-tile-pending .game-tile-cover { filter:grayscale(.3) brightness(.85); }
.rw-library-v5 .game-tile-badge { margin-top:auto; }
.rw-library-v5 .game-tile-badge.rw-pending { background:#675522; color:#fff3bf; }
.rw-library-v5 .game-tile-score:empty { display:none; }
.rw-library-v5 .game-tile:focus-visible { outline:2px solid #fed136; outline-offset:3px; }
.rw-library-v5 .rw-game-preview { position:absolute; inset:0; height:100%; width:100%; object-fit:contain; z-index:2; background:#000; opacity:0; transition:opacity .18s; pointer-events:none; }
.rw-library-v5 .rw-preview-active .rw-game-preview { opacity:1; }
.rw-library-v5 .rw-preview-active .game-tile-cover { opacity:0; }
.rw-library-v5 .rw-preview-active .game-tile-overlay { opacity:1; }
.rw-library-v5 .rw-preview-active .game-tile-score { opacity:0; }
.rw-library-v5 .game-tile-unavailable .rw-game-preview { filter:none; }
/* Replace the old fixed-size black link panel and pseudo-loading layer. */
.rw-library-v5 #gameDetailModal .game-modal-trailer { aspect-ratio:auto; overflow:visible; border-radius:0; box-shadow:none; background:transparent; margin-top:1rem; }
.rw-library-v5 #gameDetailModal .game-modal-trailer::before { content:none !important; display:none !important; }
.rw-library-v5 .rw-media-player { position:relative; width:100%; min-height:200px; aspect-ratio:16/9; background:#090b0d; border:1px solid #343a40; border-radius:.45rem; overflow:hidden; }
.rw-library-v5 .rw-media-player > iframe,.rw-library-v5 .rw-media-player > video,.rw-library-v5 .rw-media-player > img,.rw-library-v5 .rw-media-player > div { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border:0; }
.rw-library-v5 #gameDetailModal .rw-media-player iframe { z-index:auto; }
.rw-media-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#fed136; font:600 .83rem Montserrat,sans-serif; text-decoration:none; padding:.85rem 1rem; border:1px solid #444a51; border-radius:.4rem; background:#25282d; margin-top:.65rem; line-height:1.5; }
.rw-media-link:hover { border-color:#fed136; color:#ffe174; }
.rw-media-notice { font-size:.84rem; line-height:1.55; color:#bdc5ce; margin:.65rem 0; }
.rw-media-title { font:700 .75rem Montserrat,sans-serif; color:#aeb7c1; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.65rem; }
.rw-preview-popup { position:fixed; width:380px; max-width:calc(100vw - 24px); border:1px solid #746128; border-radius:.5rem; box-shadow:0 16px 44px #0009; background:#1a1d20; color:#fff; padding:.8rem; z-index:1035; }
.rw-preview-popup header { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin:0 0 .6rem; font:700 .8rem Montserrat,sans-serif; }
.rw-preview-popup header button { border:0; background:transparent; color:#d5dce2; padding:.25rem .4rem; font-size:1.2rem; }
.rw-preview-popup .rw-media-player { min-height:200px; }
.rw-preview-popup .rw-media-link { font-size:.7rem; padding:.6rem .7rem; }
.rw-library-v5 #gameDetailModal .game-modal-meta:empty { display:none; }
.rw-library-v5 #gameDetailModal .game-modal-cover { max-height:380px; object-fit:contain; }
.rw-library-v5 #gameDetailModal .game-modal-rom-hint { overflow-wrap:anywhere; }
@media(max-width:575px) {
 .rw-library-tools { flex-direction:column; align-items:stretch; gap:.8rem; }
 .rw-genre-group { width:100%; }
 .rw-library-v5 #library-section { padding-top:2.75rem; }
 .rw-library-v5 #library-header .section-heading { font-size:1.8rem; }
 .rw-library-v5 #gameDetailModal .modal-body { padding:1rem; }
 .rw-library-v5 #gameDetailModal .modal-header { padding:1rem; }
 .rw-library-v5 #gameDetailModal .game-modal-title { font-size:1.35rem; }
 .rw-library-v5 #gameDetailModal .game-modal-cover { max-height:300px; }
 .rw-library-v5 #gameDetailModal .game-modal-description { margin-top:1rem; }
}
@media(prefers-reduced-motion:reduce) {
 .rw-library-v5 .game-tile,.rw-library-v5 .game-tile-cover,.rw-library-v5 .rw-game-preview { transition:none; }
 .rw-library-v5 .game-tile:hover { transform:none; }
}
