/* House movie catalog */
.plex-page{background:var(--paper-2)}
.search-box{height:var(--control-lg);border-radius:var(--radius-md);background:white;border:1px solid var(--line);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);box-shadow:var(--shadow-soft)}
.search-box .app-icon{font-size:var(--font-md);color:#858b87}
.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:var(--font-sm);color:var(--ink)}
.library-summary{margin:var(--space-2) 3px 0;color:var(--muted);font-size:var(--font-xs)}
.library-summary strong{color:var(--ink);font-size:var(--font-xs)}
.movie-library{margin-top:var(--space-6)}
.movie-library>h2{font-size:var(--font-lg);margin:0 0 var(--space-3)}
.movie-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-3)}
.movie-list-item{display:block;min-width:0;transition:transform .14s var(--ease)}
.movie-list-item:active{transform:scale(.975)}
.movie-list-item[hidden]{display:none}
.movie-card__poster{display:block;aspect-ratio:2/3;border-radius:var(--radius-md);overflow:hidden;background:#ebe7df;box-shadow:var(--shadow-card);border:1px solid rgba(30,40,35,.06)}
.movie-card__poster img{display:block;width:100%;height:100%;object-fit:cover}
.movie-card__poster--empty{display:grid;place-items:center;color:var(--green);font-size:var(--font-xl)}
.movie-list-item strong{display:block;margin:var(--space-2) 2px 0;font-size:var(--font-xs);line-height:var(--line-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.movie-list-item small{display:block;margin:3px 2px 0;font-size:var(--font-xs);color:var(--muted)}
.movie-empty{grid-column:1/-1;padding:var(--space-6);text-align:center;color:var(--muted);font-size:var(--font-xs)}

.movie-detail-page--catalog{min-height:100dvh;background:linear-gradient(180deg,#e7e2d8 0,#f6f2ea 44%,#f9f7f2 100%);display:flex;flex-direction:column}
.movie-detail-page--catalog .movie-topbar{display:flex;justify-content:space-between;padding:max(20px,env(safe-area-inset-top)) 18px 0;position:relative;z-index:2}
.movie-detail-page--catalog .movie-detail-hero{margin:0;padding:var(--space-6) var(--space-6) var(--space-6);text-align:center}
.movie-detail-poster{width:min(52vw,210px);aspect-ratio:2/3;margin:0 auto var(--space-5);border-radius:var(--radius-md);overflow:hidden;background:#ebe7df;box-shadow:var(--shadow-elevated)}
.movie-detail-poster img{display:block;width:100%;height:100%;object-fit:cover}
.movie-detail-poster--empty{display:grid;place-items:center;color:var(--green);font-size:var(--font-xl)}
.movie-detail-page--catalog .movie-detail-hero h1{font-family:var(--font-heading-family);font-size:var(--font-xl);line-height:var(--line-tight);font-weight:500;margin:0 auto;max-width:440px}
.movie-detail-page--catalog .movie-detail-hero p{font-size:var(--font-xs);margin:var(--space-2) 0 0;color:var(--muted)}
.movie-detail-page--catalog .movie-detail-sheet{margin-top:auto;background:var(--paper-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 22px max(28px,env(safe-area-inset-bottom));box-shadow:var(--shadow-elevated)}
.movie-detail-meta{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--muted);font-size:var(--font-xs)}
.movie-detail-meta span+span::before{content:"·";margin-right:var(--space-3)}

@media(min-width:460px){.movie-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
