:root{--bg:#1a0a2e;--surface:#16213e;--line:#4a2c7a;--text:#fff;--muted:#d4c4e8;--acc:#ff71ce;--cyan:#01cdfe;--purple:#b967ff}*{box-sizing:border-box}body{margin:0;font-family:"Fredoka","Segoe UI",system-ui,sans-serif;background:radial-gradient(circle at 10% -10%,rgba(255,113,206,0.25),transparent 40%),radial-gradient(circle at 90% 100%,rgba(1,205,254,0.2),transparent 40%),var(--bg);color:var(--text)}.wrap{width:100%;max-width:min(1080px,100%);margin:0 auto;padding:max(1.2rem,env(safe-area-inset-top,0px)) max(1.2rem,env(safe-area-inset-right,0px)) max(1.2rem,env(safe-area-inset-bottom,0px)) max(1.2rem,env(safe-area-inset-left,0px));box-sizing:border-box}.top{text-align:center;margin-bottom:.5rem}.top-cluster{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:100%;margin-bottom:1rem}.top .top-title{display:block;margin:0;padding:.55rem 1.1rem;max-width:100%;width:auto;border:2px solid var(--cyan);border-radius:50px;box-shadow:0 0 15px rgba(1,205,254,0.3),0 0 30px rgba(255,113,206,0.2),inset 0 0 20px rgba(1,205,254,0.1);line-height:1.2;box-sizing:border-box;text-align:center}.top-title__gradient{font-size:clamp(1.15rem,4.2vw,1.85rem);font-weight:600;letter-spacing:0.02em;background:linear-gradient(90deg,#ff71ce 0%,#01cdfe 35%,#b967ff 70%,#ff71ce 100%);background-size:220% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:topTitleGradientFlow 10s ease-in-out infinite;will-change:background-position}@media (prefers-reduced-motion:reduce){.top-title__gradient{animation:none;background-size:100% 100%;background-position:50% 50%;will-change:auto}}@keyframes topTitleGradientFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.muted{color:var(--muted)}.small{font-size:.9rem}.stats{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.stat{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.75rem .9rem}.stat strong{font-size:1.3rem;display:block}.toolbar{margin-top:.9rem;display:grid;grid-template-columns:1fr 170px 170px auto;gap:.6rem}.sortbar{margin-top:.6rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.32rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-items:stretch}input,select,button{border:1px solid var(--line);border-radius:9px;background:rgba(22,33,62,0.8);color:var(--text);padding:.55rem .65rem}button{cursor:pointer;background:linear-gradient(135deg,#ff71ce,#b967ff);border:none}.sortbtn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:rgba(22,33,62,0.8);border:1px solid var(--line);transition:background 0.2s,border-color 0.2s,color 0.2s,box-shadow 0.2s;font-family:"Fredoka","Segoe UI",system-ui,sans-serif;font-weight:500;font-size:clamp(0.74rem,2.5vw,1.02rem);padding:.58rem .52rem;min-width:0;max-width:100%;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sortbtn .arrows{flex-shrink:0}.sortbtn.active{background:linear-gradient(135deg,#ff71ce,#b967ff);border:1px solid rgba(255,113,206,0.45);color:#fff;box-shadow:0 0 12px rgba(255,113,206,0.25)}.arrows{display:flex;flex-direction:column;font-size:.55rem;line-height:.65;flex-shrink:0}.arr{opacity:0.3;transition:opacity 0.15s,color 0.15s}.arr.active{opacity:1;color:var(--cyan)}.grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.grid>*{min-width:0;max-width:100%}.card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.55rem;display:flex;align-items:stretch;gap:.6rem;box-sizing:border-box}.card .movie-content{min-width:0;flex:1;display:flex;flex-direction:column}.card .movie-main{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:.1rem;flex:1}.card-meta-line{width:100%;min-width:0}.card-meta-line .meta{margin-top:0}.meta-row{display:flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:0;min-width:0;width:100%}.meta-year,.meta-sep{flex-shrink:0}.meta-genres-clip{flex:1;min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:0.2rem}.meta-genres-text{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;word-break:normal;overflow-wrap:anywhere}.genre-more-link{flex-shrink:0;margin:0;padding:0;border:none;background:none;font:inherit;font-size:0.78em;color:var(--cyan);cursor:pointer;text-decoration:underline;text-underline-offset:0.12em;-webkit-tap-highlight-color:transparent}.genre-more-link.hidden{display:none}.genre-more-link:focus{outline:none}.genre-more-link:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px}.genre-more-popover{position:fixed;z-index:305;max-width:min(280px,calc(100vw - 16px));padding:0.45rem 0.55rem;border-radius:10px;border:1px solid var(--line);background:rgba(22,12,40,0.98);box-shadow:0 12px 28px rgba(0,0,0,0.45);font-size:0.72rem;line-height:1.45;color:var(--text);box-sizing:border-box;pointer-events:auto}.genre-more-popover.hidden{display:none}.genre-more-popover__item{padding:0.12rem 0;color:var(--muted)}.genre-more-popover__item + .genre-more-popover__item{border-top:1px solid rgba(55,42,88,0.5)}@media (min-width:641px){.meta-row{gap:0.42rem}.meta-sep{padding:0 0.45em}}.poster{position:relative;width:56px;min-width:56px;min-height:84px;align-self:stretch;border-radius:8px;border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.65rem;flex-shrink:0}.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.title{font-weight:600;line-height:1.35}.card .title{font-size:1.02rem;letter-spacing:0.01em;overflow-wrap:anywhere;word-break:break-word}.meta{margin-top:.22rem;font-size:.72rem;color:var(--muted)}.card .meta{margin-top:0;font-size:.82rem;line-height:1.4}.card-rating-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.32rem .36rem;margin-top:.08rem;width:100%}.card-rating-row .rating-block{flex:0 1 auto;min-width:0}.card-rating-row .watch-details{flex:0 1 auto;min-width:0}.card-rating-row .rating-stars-toggle{padding:0.12rem 0;margin-left:0}.card-rating-row .stars{margin-top:0}.card-rating-row .rating-value-overlay{align-items:stretch;justify-content:stretch}.card-rating-row .rating-value-pill{border-radius:inherit}.stars--placeholder .star--muted{opacity:0.55}.stars--placeholder .star-empty--muted{fill:rgba(60,48,92,0.65);stroke:rgba(90,78,130,0.45);stroke-width:1}.card-rating-row .badge{margin-top:0}.card .star{width:18px;height:18px}.watch-details{position:relative;flex-shrink:0}.watch-details summary{list-style:none;cursor:pointer;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.2;padding:.18rem .45rem;border-radius:999px;border:1px solid rgba(185,103,255,0.45);color:#ece6ff;background:linear-gradient(135deg,rgba(1,205,254,0.16),rgba(185,103,255,0.14));box-shadow:0 0 8px rgba(1,205,254,0.2);animation:watchGlow 2.8s ease-in-out infinite}.watch-details summary::-webkit-details-marker{display:none}.watch-details summary::after{content:" ▾";font-size:.55rem;opacity:0.85}.watch-details[open] summary::after{content:" ▴"}.watch-details--filter-hit .watch-summary{border-color:rgba(1,205,254,0.55);color:var(--cyan);background:linear-gradient(135deg,rgba(1,205,254,0.2),rgba(185,103,255,0.12));box-shadow:0 0 10px rgba(1,205,254,0.35);animation:none}@keyframes watchGlow{0%,100%{box-shadow:0 0 8px rgba(1,205,254,0.3),0 0 16px rgba(185,103,255,0.14)}50%{box-shadow:0 0 14px rgba(1,205,254,0.48),0 0 24px rgba(185,103,255,0.26)}}.watch-body{position:absolute;z-index:20;left:0;top:calc(100% + 6px);min-width:220px;max-width:min(300px,calc(100vw - 16px));padding:0.5rem 0.6rem;border-radius:10px;border:1px solid var(--line);background:rgba(22,12,40,0.98);box-shadow:0 12px 28px rgba(0,0,0,0.45);font-size:0.74rem;line-height:1.4;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(55vh,380px)}.watch-body__content{min-width:0}.watch-body .prov-section{margin-top:0.4rem}.watch-body .prov-section:first-child{margin-top:0}.watch-body .prov-label{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);margin-bottom:0.2rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.watch-body .prov-list{margin:0;padding:0}.watch-body .prov-row{margin:0.1rem 0;min-width:0}.watch-body .prov-row:first-child{margin-top:0}.watch-body .prov-name{overflow-wrap:anywhere;word-break:break-word}.watch-body .prov-owned{color:var(--cyan);font-weight:600}.watch-body .prov-filter-match{color:var(--cyan);font-weight:600}.watch-muted{color:var(--muted);margin:0;font-size:0.72rem}.watch-muted code{font-size:0.65rem}.watch-backdrop{position:fixed;inset:0;z-index:297;background:rgba(5,3,14,0.52);-webkit-tap-highlight-color:transparent;pointer-events:none}.watch-backdrop[hidden]{display:none}.watch-panel-host{position:fixed;inset:0;z-index:300;pointer-events:none}.watch-panel-host[hidden]{display:none}.watch-panel-host .watch-body{pointer-events:auto;position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);max-width:min(420px,calc(100vw - 24px));width:min(420px,calc(100vw - 32px));box-sizing:border-box;overflow-y:visible}.rating-block{display:inline-flex;align-items:center;max-width:100%}.rating-stars-inner{display:inline-block;line-height:0;position:relative;z-index:0}.rating-stars-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.12rem .28rem;border:none;background:transparent;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s ease,box-shadow .18s ease}@media (hover:hover){.rating-stars-toggle:hover{background:rgba(42,26,74,0.45);box-shadow:0 0 0 1px var(--line)}}.rating-stars-toggle:focus{outline:none}.rating-stars-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.rating-block--open .rating-stars-toggle .stars{opacity:.48;filter:grayscale(0.45)}.rating-value-overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:stretch;justify-content:stretch;border-radius:inherit;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;pointer-events:none}.rating-block--open .rating-value-overlay{opacity:1;visibility:visible}.rating-value-pill{font-family:"Fredoka","Segoe UI",system-ui,sans-serif;box-sizing:border-box;flex:1 1 auto;align-self:stretch;width:auto;min-width:0;max-width:none;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:0.12rem 0.2rem;border-radius:inherit;background:rgba(30,18,52,0.94);border:1px solid var(--line);color:var(--muted);box-shadow:0 2px 8px rgba(0,0,0,0.35);line-height:1}.rating-value-line{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.14rem;width:100%;max-width:100%;min-width:0;line-height:1}.rating-value-score-wrap{flex:0 1 auto;min-width:0;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;line-height:1;color:var(--cyan);display:flex;align-items:center;justify-content:flex-end}.rating-value-x5{font-size:.68rem;font-weight:600;color:var(--cyan);letter-spacing:-0.02em;line-height:1}.rating-value-sep{flex:0 0 auto;font-size:.74rem;font-weight:700;line-height:1;color:var(--text);opacity:.9;display:flex;align-items:center;align-self:center}.rating-value-rates{flex:0 1 auto;min-width:0;max-width:42%;font-size:.68rem;color:var(--muted);font-weight:500;letter-spacing:0.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;line-height:1;display:flex;align-items:center}.rating-value-line--solo{justify-content:center;text-align:center}.rating-value-norating{font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:0.02em;line-height:1}.badge{display:inline-block;font-size:.68rem;padding:.18rem .45rem;border-radius:999px;border:1px solid transparent}.both{color:var(--cyan);border-color:rgba(1,205,254,.35);background:rgba(1,205,254,.15)}.lb{color:var(--acc);border-color:rgba(255,113,206,.35);background:rgba(255,113,206,.14)}.im{color:var(--purple);border-color:rgba(185,103,255,.35);background:rgba(185,103,255,.14)}.rating{margin-top:.38rem}.rating-row{font-size:.7rem;color:var(--muted)}.rating-bar{margin-top:.26rem;width:130px;height:6px;border-radius:999px;background:#2a1a4a;border:1px solid var(--line);overflow:hidden}.rating-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--acc))}.hidden{display:none}.empty{margin-top:1rem;color:var(--muted)}.source-filters{display:flex;justify-content:space-between;align-items:stretch;gap:.35rem;margin:0;flex-wrap:nowrap;width:100%;max-width:100%;box-sizing:border-box}.srcbtn{display:inline-flex;align-items:center;justify-content:center;gap:0.28rem;padding:.58rem .55rem;border-radius:25px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all 0.2s;font-family:"Fredoka","Segoe UI",system-ui,sans-serif;font-size:1.02rem;font-weight:500;flex:1 1 0;min-width:0;overflow:hidden;-webkit-tap-highlight-color:transparent}.srcbtn-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}@media (hover:hover){.srcbtn:hover{border-color:var(--acc);color:var(--text)}}.srcbtn:focus{outline:none}.srcbtn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.srcbtn.active{background:linear-gradient(135deg,var(--acc),var(--purple));color:white;border:1px solid rgba(255,113,206,0.55);box-shadow:0 0 12px rgba(255,113,206,0.4)}.srcbtn .count{font-weight:700}.srcbtn-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;font-variant-numeric:tabular-nums}.srcbtn-count__total-line{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:3ch;min-height:1.15em}.srcbtn-count__total{position:relative;z-index:0;line-height:1.1}.srcbtn-count--stale .srcbtn-count__total{opacity:0.32}.srcbtn-count__filtered{display:none;position:absolute;inset:0;z-index:2;align-items:center;justify-content:center;font-size:1em;font-weight:800;line-height:1;color:inherit;text-shadow:0 1px 2px rgba(0,0,0,0.25);pointer-events:none}.srcbtn-count__filtered:not([hidden]){display:flex}.srcbtn.active .srcbtn-count__filtered:not([hidden]){color:#fff}.srcbtn:not(.active) .srcbtn-count__filtered:not([hidden]){color:var(--text)}.srcbtn-count__filtered[hidden]{display:none!important}.outlinks{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:nowrap}.outlink{color:var(--cyan);text-decoration:none;font-size:.8rem;opacity:0.7;transition:opacity 0.2s;white-space:nowrap}.outlink:hover{opacity:1;text-decoration:underline}.genre-btn-wrap{position:relative;min-width:0;display:flex}.genre-btn-wrap .sortbtn{flex:1;min-width:0}.genre-popup{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.5rem;min-width:180px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:0 4px 20px rgba(0,0,0,0.4)}.genre-popup.hidden{display:none}.services-btn-wrap{position:relative;min-width:0;display:flex}.services-btn-wrap .sortbtn{flex:1;min-width:0}.services-popup{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.5rem;min-width:200px;max-width:min(280px,calc(100vw - 24px));max-height:min(320px,55vh);z-index:100;box-shadow:0 4px 20px rgba(0,0,0,0.4);box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;min-height:0}.services-sheet-heading{margin:0 0 .35rem;padding:0 .15rem;font-size:.72rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.services-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto}.services-sheet-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.45rem;padding-top:.4rem;border-top:1px solid var(--line);flex-shrink:0}.services-sheet-btn{font-family:"Fredoka","Segoe UI",system-ui,sans-serif;font-size:.78rem;font-weight:500;padding:.35rem .55rem;border-radius:8px;border:1px solid var(--line);background:rgba(22,33,62,0.85);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.services-sheet-btn--clear{background:transparent;color:var(--muted);border-color:transparent;text-decoration:underline;text-underline-offset:2px;padding-left:0;padding-right:0}.services-sheet-btn--clear:hover{color:var(--text)}.services-sheet-btn--done{margin-left:auto;border-color:rgba(1,205,254,0.35);background:linear-gradient(135deg,rgba(255,113,206,0.25),rgba(185,103,255,0.2))}@media (min-width:641px){.services-sheet-btn--done{display:none}}.services-popup.hidden{display:none}.popup-sheet-backdrop{position:fixed;inset:0;z-index:160;background:rgba(5,3,14,0.48);-webkit-tap-highlight-color:transparent}.popup-sheet-backdrop.hidden{display:none}@media (min-width:641px){.popup-sheet-backdrop{display:none!important}}@media (max-width:640px){.services-popup.services-popup--mobile{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));top:auto;bottom:max(10px,env(safe-area-inset-bottom,0px));transform:none;width:auto;min-width:0;max-width:none;max-height:min(50vh,420px);height:auto;margin:0;z-index:165;padding:0.55rem 0.65rem 0.6rem;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;border-radius:14px 14px 12px 12px;overflow:hidden}.services-popup.services-popup--mobile .services-sheet-body{-webkit-overflow-scrolling:touch}.services-popup.services-popup--mobile .services-sheet-footer{margin-top:0.35rem;padding-top:0.45rem}.services-popup.services-popup--mobile .service-option{font-size:0.88rem;padding:0.48rem 0.55rem}.genre-popup.genre-popup--mobile{position:fixed;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));top:max(10px,env(safe-area-inset-top,0px));bottom:max(10px,env(safe-area-inset-bottom,0px));transform:none;width:auto;min-width:0;max-width:none;max-height:none;margin:0;z-index:165;padding:0.55rem;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;overflow-y:auto}.genre-popup.genre-popup--mobile .genre-option{text-align:center;font-size:0.88rem}}.service-option{display:flex;align-items:center;gap:.45rem;width:100%;padding:.4rem .55rem;margin:0;border-radius:8px;font-size:.82rem;color:var(--muted);cursor:pointer;box-sizing:border-box}.service-option:hover{background:rgba(255,113,206,0.12);color:var(--text)}.service-option input{flex-shrink:0;margin:0;accent-color:var(--cyan);cursor:pointer}.service-option span{min-width:0;overflow-wrap:anywhere;line-height:1.35}.genre-option{display:block;width:100%;padding:.5rem .75rem;background:transparent;border:none;color:var(--muted);text-align:left;cursor:pointer;border-radius:8px;font-size:.85rem}.genre-option:hover{background:rgba(255,113,206,0.15);color:var(--text)}.genre-option.active{background:linear-gradient(135deg,var(--acc),var(--purple));color:white}.footer{max-width:1080px;margin:2rem auto 1rem;padding:1rem max(1.2rem,env(safe-area-inset-right,0px)) 1rem max(1.2rem,env(safe-area-inset-left,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));text-align:center;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}.footer p{margin:.3rem 0}.footer .footer-tagline{margin-top:.5rem}.footer-github{font-size:.65rem;margin-top:.15rem;margin-bottom:0}.footer-github a{color:var(--muted);text-decoration:none}.footer-github a:hover{color:var(--text);text-decoration:underline}.stars{display:inline-flex;align-items:center;gap:2px;margin-top:.35rem}.star{position:relative;width:16px;height:16px}.star svg{position:absolute;top:0;left:0;width:100%;height:100%}.star-empty{fill:#2a1a4a;stroke:var(--line);stroke-width:1}.star-fill{fill:var(--cyan)}.card-skeleton{pointer-events:none}.card-skeleton__poster{width:56px;min-width:56px;height:84px;border-radius:8px;background:rgba(42,26,74,0.9);border:1px solid var(--line);position:relative;overflow:hidden}.card-skeleton__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem;justify-content:center}.card-skeleton__line{height:.72rem;border-radius:6px;background:rgba(42,26,74,0.85);position:relative;overflow:hidden}.card-skeleton__line--title{width:88%}.card-skeleton__line--meta{width:62%;height:.58rem}.card-skeleton__row{display:flex;align-items:center;gap:.5rem;margin-top:.15rem}.card-skeleton__stars{width:72px;height:14px;border-radius:4px;background:rgba(42,26,74,0.85);position:relative;overflow:hidden}.card-skeleton__pill{width:48px;height:18px;border-radius:999px;background:rgba(42,26,74,0.85);position:relative;overflow:hidden}.card-skeleton__poster::after,.card-skeleton__line::after,.card-skeleton__stars::after,.card-skeleton__pill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.card-skeleton__poster::after,.card-skeleton__line::after,.card-skeleton__stars::after,.card-skeleton__pill::after{animation:none;background:transparent}}@keyframes skeleton-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}.sortbtn:focus{outline:none}.sortbtn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.genre-option:focus{outline:none}.genre-option:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.outlink:focus{outline:none}.outlink:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.footer-strap{margin:0 0 1rem;text-align:center}.footer-strap p{margin:.35rem 0}.footer-strap p:last-child{margin-bottom:0}.footer-data-sources{display:flex;justify-content:center;width:100%;max-width:1080px;margin:0 auto 0.35rem;padding:0 max(1.2rem,env(safe-area-inset-left,0px)) 0 max(1.2rem,env(safe-area-inset-right,0px));box-sizing:border-box;font-size:clamp(0.52rem,2.8vw,0.62rem);line-height:1.35;color:rgba(145,163,195,0.72)}.footer-data-sources__inner{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0;max-width:100%;white-space:normal;overflow:visible;text-align:center}.footer-data-sources__label{opacity:0.9}.footer-data-sources__gap{white-space:pre}.footer-data-sources__list{color:rgba(145,163,195,0.62)}.footer-data-sources__src,.footer-data-sources__sep{color:inherit}@media (max-width:640px){html{overflow-x:hidden}body{overflow-x:clip}main.wrap{overflow-x:clip}.sortbar{gap:0.22rem}.source-filters{gap:.32rem}.srcbtn{padding:.48rem .45rem;font-size:.84rem;gap:0.22rem}.sortbtn{padding:.44rem .32rem;gap:.16rem;font-size:clamp(0.64rem,2.9vw,0.84rem)}.sortbtn .arrows{margin-left:-0.06rem}.arrows{font-size:.42rem;line-height:.58}.grid{grid-template-columns:1fr}.card{padding:.7rem}.card:not(.card-skeleton){display:flex;flex-direction:row;align-items:stretch;gap:.55rem}.card:not(.card-skeleton) .poster{flex-shrink:0;width:68px;min-width:68px;min-height:102px;align-self:stretch}.card:not(.card-skeleton) .movie-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.14rem}.card:not(.card-skeleton) .movie-main{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.card:not(.card-skeleton) .title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.card:not(.card-skeleton) .card-rating-row{margin-top:.08rem}.card:not(.card-skeleton) .card-rating-row .rating-stars-toggle{box-sizing:border-box;width:calc(5 * 18px + 4 * 2px);min-width:calc(5 * 18px + 4 * 2px);max-width:calc(5 * 18px + 4 * 2px);flex-shrink:0;justify-content:center}.card:not(.card-skeleton) .rating-block--placeholder .rating-stars-inner .stars{visibility:hidden}.card:not(.card-skeleton) .rating-block--placeholder .rating-value-overlay{position:absolute;inset:0;opacity:1;visibility:visible;pointer-events:none}.card:not(.card-skeleton) .rating-block--placeholder .rating-value-pill{border:none;box-shadow:none;padding:0.12rem 0.16rem}.card:not(.card-skeleton) .rating-block--placeholder.rating-block--open .rating-stars-toggle .stars{visibility:hidden;opacity:1;filter:none}.card:not(.card-skeleton) .watch-details summary::after{content:""}.card:not(.card-skeleton) .watch-details summary{box-shadow:none;animation:none;border:1px solid rgba(255,113,206,0.35);background:rgba(255,113,206,0.12);color:var(--acc)}.card:not(.card-skeleton) .watch-details--filter-hit.watch-details summary{border-color:rgba(1,205,254,0.5);background:rgba(1,205,254,0.14);color:var(--cyan)}.card:not(.card-skeleton) .watch-details[open]{position:relative;z-index:auto}.card-skeleton__poster{width:56px;min-width:56px;height:84px}.top .top-title{padding:.45rem .75rem}.top-cluster{gap:.55rem}.outlinks{gap:.8rem}.outlink{font-size:.7rem}.meta-row{gap:0.28rem}.meta-sep{padding:0 0.06rem}.watch-panel-host .watch-body{padding:0.55rem 0.6rem}.watch-panel-host .watch-body .prov-section{margin-top:0.28rem}.watch-panel-host .watch-body .prov-label{margin-bottom:0.12rem}.watch-panel-host .watch-body .prov-row{margin:0.06rem 0}}@media (max-width:380px){.srcbtn{font-size:0.76rem;padding:0.42rem 0.32rem;gap:0.18rem}}.scroll-top-btn{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:140;width:44px;height:44px;padding:0;border:none;border-radius:50%;cursor:pointer;font-size:1.15rem;line-height:1;color:#fff;background:linear-gradient(145deg,rgba(1,205,254,0.35),rgba(185,103,255,0.4));box-shadow:0 0 0 1px rgba(255,113,206,0.35),0 4px 18px rgba(1,205,254,0.25),0 2px 10px rgba(0,0,0,0.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 0.22s ease,visibility 0.22s ease,transform 0.22s ease;-webkit-tap-highlight-color:transparent}.scroll-top-btn.scroll-top-btn--visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top-btn:hover{filter:brightness(1.08)}.scroll-top-btn:focus{outline:none}.scroll-top-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@media (prefers-reduced-motion:reduce){.scroll-top-btn{transition:none;transform:none}}.services-hint{position:fixed;z-index:155;max-width:min(220px,calc(100vw - 24px));padding:0.4rem 0.55rem;border-radius:10px;border:1px solid rgba(255,113,206,0.5);background:rgba(22,12,40,0.97);color:var(--muted);font-size:0.72rem;line-height:1.35;box-shadow:0 8px 24px rgba(0,0,0,0.45);pointer-events:none;text-align:center}.services-hint::after{content:"";position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:rgba(255,113,206,0.45);filter:drop-shadow(0 2px 2px rgba(0,0,0,0.2))}.services-hint.hidden{display:none}

/* Sort bar: Genre/Services labels ellipsis inside pill (flex child needs min-width: 0) */
.genre-btn-wrap .sortbtn-label,
.services-btn-wrap .sortbtn-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}

/* Source pills: center count+label as a unit; avoids uneven side padding */
.srcbtn[data-source]{justify-content:center}
.srcbtn-inner{
  display:inline-flex;
  align-items:center;
  gap:0.28rem;
  min-width:0;
}

/* Per-source filter pills (neon identity) */
.srcbtn[data-source="letterboxd"]{
  border-color:rgba(255,113,206,0.42);
  background:rgba(255,113,206,0.1);
  box-shadow:0 0 14px rgba(255,113,206,0.22),inset 0 0 20px rgba(255,113,206,0.06);
  color:#fff;
  text-shadow:0 0 12px rgba(255,113,206,0.35);
}
.srcbtn[data-source="both"]{
  border-color:rgba(185,103,255,0.45);
  background:rgba(185,103,255,0.1);
  box-shadow:0 0 14px rgba(185,103,255,0.24),inset 0 0 20px rgba(185,103,255,0.07);
  color:#fff;
  text-shadow:0 0 12px rgba(185,103,255,0.35);
}
.srcbtn[data-source="imdb"]{
  border-color:rgba(1,205,254,0.42);
  background:rgba(31,111,235,0.14);
  box-shadow:0 0 14px rgba(31,111,235,0.22),inset 0 0 20px rgba(1,205,254,0.08);
  color:#fff;
  text-shadow:0 0 12px rgba(1,205,254,0.32);
}
@media (hover:hover){
  .srcbtn[data-source="letterboxd"]:hover{border-color:rgba(255,113,206,0.75);color:#fff;box-shadow:0 0 18px rgba(255,113,206,0.35)}
  .srcbtn[data-source="both"]:hover{border-color:rgba(185,103,255,0.78);color:#fff;box-shadow:0 0 18px rgba(185,103,255,0.38)}
  .srcbtn[data-source="imdb"]:hover{border-color:rgba(1,205,254,0.75);color:#fff;box-shadow:0 0 18px rgba(31,111,235,0.35),0 0 28px rgba(1,205,254,0.22)}
}
.srcbtn[data-source="letterboxd"].active{
  background:linear-gradient(145deg,rgba(255,113,206,0.92),rgba(255,113,206,0.35));
  border-color:rgba(255,180,220,0.85);
  color:#fff;
  text-shadow:0 0 14px rgba(255,255,255,0.35),0 1px 2px rgba(0,0,0,0.2);
  box-shadow:0 0 16px rgba(255,113,206,0.55),0 0 32px rgba(255,113,206,0.22),inset 0 1px 0 rgba(255,255,255,0.2);
}
.srcbtn[data-source="both"].active{
  background:linear-gradient(145deg,rgba(185,103,255,0.95),rgba(120,60,200,0.45));
  border-color:rgba(210,170,255,0.9);
  color:#fff;
  text-shadow:0 0 14px rgba(255,255,255,0.35),0 1px 2px rgba(0,0,0,0.2);
  box-shadow:0 0 16px rgba(185,103,255,0.55),0 0 32px rgba(185,103,255,0.25),inset 0 1px 0 rgba(255,255,255,0.18);
}
.srcbtn[data-source="imdb"].active{
  background:linear-gradient(145deg,#1a5ec4 0%,#124a9e 42%,#0a3570 100%);
  border-color:rgba(110,175,235,0.88);
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 10px rgba(255,255,255,0.12);
  box-shadow:0 0 16px rgba(18,74,158,0.62),0 0 32px rgba(1,120,200,0.2),inset 0 2px 10px rgba(0,20,55,0.5),inset 0 1px 0 rgba(255,255,255,0.1);
}

/* Movie cards: same 1px border width for all (saturated purple can look “fatter” at 2px) */
.card.card--src-letterboxd:not(.card-skeleton),
.card.card--src-both:not(.card-skeleton),
.card.card--src-imdb:not(.card-skeleton){
  background:var(--surface);
  background-image:none;
  border-width:1px;
  border-style:solid;
  box-shadow:none;
}
.card.card--src-letterboxd:not(.card-skeleton){
  border-color:rgba(255,115,185,0.82);
}
.card.card--src-both:not(.card-skeleton){
  border-color:rgba(168,55,245,0.92);
}
.card.card--src-imdb:not(.card-skeleton){
  border-color:rgba(1,205,254,0.68);
}

/* Genre popup: pinned search, scrollable list */
.genre-popup {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
  padding: 0.45rem;
}
.genre-popup__inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 100%;
}
.genre-popup__search {
  position: relative;
  flex-shrink: 0;
  margin-bottom: 0.35rem;
}
.genre-popup__filter {
  width: 100%;
  box-sizing: border-box;
  padding: 0.42rem 2rem 0.42rem 0.5rem;
  font-size: 0.82rem;
  font-family: "Fredoka", "Segoe UI", system-ui, sans-serif;
  border-radius: 8px;
}
.genre-popup__clear {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.genre-popup__clear:hover {
  color: var(--text);
  background: rgba(42, 26, 74, 0.45);
}
.genre-popup__clear[hidden] {
  display: none !important;
}
.genre-popup__list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.genre-popup__empty {
  padding: 0.6rem 0.5rem;
  text-align: center;
  font-size: 0.82rem;
  color: var(--muted);
}
.genre-popup__hl {
  background: rgba(1, 205, 254, 0.35);
  color: var(--text);
  padding: 0 0.06em;
  border-radius: 2px;
}
@media (max-width: 640px) {
  .genre-popup.genre-popup--mobile {
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .genre-popup.genre-popup--mobile .genre-popup__inner {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
  }
}

/* Sort row: unified Sort popup + Genre + Services (same pattern at all breakpoints) */
.sortbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.sort-mobile-wrap {
  display: flex;
  position: relative;
  min-width: 0;
  grid-column: 1 / span 2;
}
.genre-btn-wrap {
  grid-column: 3 / span 1;
  min-width: 0;
}
.services-btn-wrap {
  grid-column: 4 / span 1;
  min-width: 0;
}
.sort-mobile-wrap .sortbtn {
  width: 100%;
}

/* FAQ page (docs/faq.html) + shared footer nav */
.faq-page .top-cluster {
  margin-bottom: 0.65rem;
}
.faq-page__brand {
  margin: 0;
}
.faq-page__brand a.top-title {
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
.faq-page__brand a.top-title:focus {
  outline: none;
}
.faq-page__brand a.top-title:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
}
.faq-page .faq-page__title {
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(1.05rem, 3.5vw, 1.35rem);
  font-weight: 600;
  text-align: center;
  color: var(--text);
  letter-spacing: 0.02em;
}
.faq-page .faq-essay {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 12px;
  padding: 0.85rem 1rem 1rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: 0.15rem;
}
.faq-page .faq-essay__q {
  margin: 1rem 0 0.35rem;
  font-size: clamp(0.88rem, 2.8vw, 1rem);
  font-weight: 600;
  line-height: 1.35;
  color: var(--text);
  letter-spacing: 0.01em;
}
.faq-page .faq-essay__q:first-child {
  margin-top: 0;
}
.faq-page .faq-essay__a {
  margin: 0 0 0.5rem;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--muted);
}
.faq-page .faq-essay__a:last-child {
  margin-bottom: 0;
}
.faq-page .faq-code {
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  font-size: 0.85em;
  padding: 0.1em 0.35em;
  border-radius: 6px;
  background: rgba(22, 33, 62, 0.9);
  border: 1px solid var(--line);
  color: var(--cyan);
}
.footer-github__sep {
  opacity: 0.65;
}
.footer-github a:focus {
  outline: none;
}
.footer-github a:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Infinite scroll sentinel (spans full grid width) */
.grid-load-sentinel {
  grid-column: 1 / -1;
  min-height: 1px;
  pointer-events: none;
}

/* Back to top: clearer layout + keyboard focus */
main#mainContent:focus {
  outline: none;
}
main#mainContent:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

.scroll-top-btn {
  width: auto;
  min-width: 48px;
  height: auto;
  min-height: 44px;
  padding: 0.42rem 0.85rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  font-size: 0.82rem;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
}
.scroll-top-btn__icon {
  font-size: 1.05rem;
  line-height: 1;
}
.scroll-top-btn__text {
  letter-spacing: 0.02em;
}
.scroll-top-btn:focus:not(:focus-visible) {
  outline: none;
}
.scroll-top-btn:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 4px;
  box-shadow:
    0 0 0 2px rgba(26, 10, 46, 0.98),
    0 0 0 6px rgba(1, 205, 254, 0.35);
}

/* Shared controls wrapper: source filters + sort row */
.controls-sticky-wrap {
  width: 100%;
  max-width: 100%;
}
.controls-sticky-wrap .source-filters {
  margin: 0;
}
.controls-sticky-wrap .sortbar {
  margin-top: 0.6rem;
}

@media (max-width: 640px) {
  .controls-sticky-wrap {
    position: sticky;
    top: max(8px, env(safe-area-inset-top, 0px));
    z-index: 120;
    margin-top: 0.45rem;
    margin-bottom: 0.25rem;
    padding: 0.34rem;
    border: 1px solid rgba(74, 44, 122, 0.72);
    border-radius: 12px;
    background: rgba(26, 10, 46, 0.82);
    box-shadow: 0 8px 20px rgba(5, 3, 14, 0.32);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .controls-sticky-wrap .source-filters {
    gap: 0.3rem;
  }

  .controls-sticky-wrap .sortbar {
    margin-top: 0.34rem;
    gap: 0.24rem;
  }

  .controls-sticky-wrap .srcbtn {
    min-height: 44px;
    padding: 0.45rem 0.38rem;
    font-size: clamp(0.74rem, 2.7vw, 0.82rem);
    gap: 0.18rem;
  }

  .controls-sticky-wrap .sortbtn {
    min-height: 44px;
    padding: 0.4rem 0.24rem;
    gap: 0.14rem;
    font-size: clamp(0.62rem, 2.45vw, 0.78rem);
  }
}

/* Sort popup (anchored under button on wide viewports; centered sheet on small) */
.sort-popup {
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  transform: none;
  margin-top: 0.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.5rem;
  min-width: 220px;
  max-width: min(300px, calc(100vw - 24px));
  max-height: min(340px, 60vh);
  z-index: 170;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
}
.sort-popup.hidden {
  display: none;
}
.sort-popup__heading {
  margin: 0 0 0.35rem;
  padding: 0 0.15rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  flex-shrink: 0;
}
.sort-popup__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}
.sort-popup__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.45rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--line);
}
.sort-popup__done {
  font-family: "Fredoka", "Segoe UI", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  border: 1px solid rgba(1, 205, 254, 0.35);
  background: linear-gradient(135deg, rgba(255, 113, 206, 0.25), rgba(185, 103, 255, 0.2));
  color: var(--text);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.sort-popup-option {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.46rem 0.55rem;
  margin: 0;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(22, 33, 62, 0.8);
  font-family: "Fredoka", "Segoe UI", system-ui, sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--muted);
  cursor: pointer;
  box-sizing: border-box;
  text-align: center;
}
.sort-popup-option__inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  min-width: 0;
  max-width: 100%;
}
.sort-popup-option__text {
  flex: 0 1 auto;
  text-align: center;
}
/* Fixed-width arrow slot so labels stay centered as a group and don’t shift between rows */
.sort-popup-option__arrow {
  position: relative;
  flex: 0 0 0.75rem;
  width: 0.75rem;
  height: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sort-popup-option__chev {
  position: absolute;
  inset: 0;
  margin: auto;
  display: block;
  pointer-events: none;
  color: inherit;
  opacity: 0.92;
}
.sort-popup-option__arrow--hidden .sort-popup-option__chev {
  visibility: hidden;
}
.sort-popup-option__arrow--asc .sort-popup-option__chev--down,
.sort-popup-option__arrow--desc .sort-popup-option__chev--up {
  visibility: hidden;
}
.sort-popup-option:hover {
  background: rgba(255, 113, 206, 0.12);
  color: var(--text);
}
.sort-popup-option.active {
  background: linear-gradient(135deg, rgba(255, 113, 206, 0.32), rgba(185, 103, 255, 0.26));
  border-color: rgba(255, 113, 206, 0.55);
  color: #fff;
  box-shadow: 0 0 10px rgba(255, 113, 206, 0.25);
}
.sort-popup-direction {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  padding: 0.44rem 0.56rem;
  border-radius: 8px;
  border: 1px solid rgba(1, 205, 254, 0.35);
  background: rgba(1, 205, 254, 0.08);
  font-family: "Fredoka", "Segoe UI", system-ui, sans-serif;
  color: var(--text);
  cursor: pointer;
}
.sort-popup-direction__label {
  font-size: 0.76rem;
  color: var(--muted);
}
.sort-popup-direction__value {
  font-size: 0.82rem;
  font-weight: 600;
}
.sort-popup-direction__icon {
  font-size: 0.7rem;
  line-height: 1;
}
@media (max-width: 640px) {
  .sort-mobile-wrap .sortbtn {
    min-height: 40px;
    padding: 0.3rem 0.22rem;
    font-size: clamp(0.6rem, 2.3vw, 0.74rem);
  }
  #genreBtn,
  #servicesBtn {
    min-height: 40px;
    padding: 0.3rem 0.12rem;
    font-size: clamp(0.58rem, 2.15vw, 0.72rem);
  }
  .sort-popup.sort-popup--mobile {
    position: fixed;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    width: min(92vw, 420px);
    min-width: 0;
    max-width: calc(100vw - 24px);
    margin: 0;
    max-height: min(78dvh, 520px);
    border-radius: 14px 14px 12px 12px;
    z-index: 185;
    overflow: hidden;
  }
}

/* Keep mobile popups fully on-screen and list content visible */
@media (max-width: 640px) {
  .services-popup.services-popup--mobile {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(92vw, 460px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: min(78dvh, 560px) !important;
    overflow: hidden;
    z-index: 185;
  }
  .services-popup.services-popup--mobile .services-sheet-body {
    overflow-y: auto;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
  }
  .genre-popup.genre-popup--mobile {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(92vw, 460px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(78dvh, 560px) !important;
    overflow: hidden;
    z-index: 185;
  }
  .genre-popup.genre-popup--mobile .genre-popup__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
  }
  .genre-popup.genre-popup--mobile .genre-popup__list {
    display: block;
    min-height: 140px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* No-results copy: center in the main column on desktop */
@media (min-width: 641px) {
  .empty {
    text-align: center;
  }
}

.footer-ratings-note {
  max-width: 1080px;
  margin: 0 auto 0.5rem;
  padding: 0 max(1.2rem, env(safe-area-inset-left, 0px)) 0 max(1.2rem, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
  font-size: clamp(0.58rem, 2.6vw, 0.68rem);
  line-height: 1.4;
  color: rgba(145, 163, 195, 0.88);
  text-align: center;
}

.footer-ratings-note a {
  color: var(--cyan);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.footer-ratings-note a:hover {
  color: var(--text);
}
