/* Randomizer */
.cinema-randomizer-page .content-section { margin: 0; padding: 0; border: 0; background: transparent; }
.cinema-randomizer-layout {
  display: grid;
  grid-template-columns: 270px minmax(0,1fr);
  gap: 16px;
  align-items: start;
}
.cinema-randomizer-filters { position: sticky; top: 90px; }
.cinema-filter-panel {
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 11px !important;
  border: 1px solid var(--cinema-line) !important;
  border-radius: 10px !important;
  background: #10131f !important;
}
.cinema-filter-header {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--cinema-line);
  padding-bottom: 10px;
}
.cinema-filter-header strong { font-size: .78rem; }
.cinema-filter-header button { border: 0; background: transparent; color: #a880e6; font: inherit; font-size: .7rem; cursor: pointer; }
.cinema-filter-panel .filter-field { width: 100% !important; margin: 0 !important; }
.cinema-filter-panel .filter-field > label { margin-bottom: 6px; display: block; color: #a6a8b7; font-size: .72rem; font-weight: 740; }
.cinema-filter-panel select,
.cinema-filter-panel details > summary {
  min-height: 42px !important;
  width: 100% !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  background: #0a0d15 !important;
  color: #e4e2e9 !important;
  font-size: .76rem !important;
}
.cinema-filter-panel .filter-action-row { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
.cinema-filter-panel [data-pick-movie] {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg,#a15aff,#7b32e8);
  color: white;
  box-shadow: 0 10px 26px rgba(117,43,226,.26);
}
.cinema-filter-panel [data-clear-filters] { display: none !important; }
.cinema-filter-panel .mini-login-link { font-size: .66rem; }
.cinema-randomizer-result-column { min-width: 0; }
.cinema-selected-filters {
  min-height: 82px;
  padding: 16px 18px;
  display: grid;
  align-content: center;
  border: 1px solid rgba(155,92,255,.32);
  border-radius: 10px;
  background: rgba(75,40,121,.34);
}
.cinema-selected-filters > span { color: #b583ff; font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cinema-selected-filters > strong { margin-top: 5px; color: #f1eef6; font-size: .82rem; }
.cinema-selected-filters [data-filter-summary] { margin: 5px 0 0 !important; color: #a3a0ad !important; font-size: .68rem !important; }
.cinema-randomizer-result-column .randomizer-tool-row {
  margin: 10px 0 0 !important;
  padding: 8px 10px !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
}
.cinema-randomizer-result-column .randomizer-tool-row select,
.cinema-randomizer-result-column .randomizer-tool-row button { min-height: 34px !important; font-size: .68rem !important; }
.cinema-randomizer-result-column [data-randomizer-status] { margin: 8px 0 !important; font-size: .7rem !important; }
.cinema-randomizer-result-column [data-randomizer-source-health] { margin: 8px 0 10px !important; padding: 10px 12px !important; font-size: .68rem !important; border-radius: 8px !important; }
.cinema-result-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.cinema-randomizer-page .poster-card {
  min-height: 118px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0,1fr) !important;
  overflow: hidden;
  border: 1px solid var(--cinema-line) !important;
  border-radius: 9px !important;
  background: #10131f !important;
  text-align: left !important;
}
.cinema-randomizer-page .poster-card:hover { border-color: rgba(155,92,255,.4) !important; transform: none !important; }
.cinema-randomizer-page .poster-frame { min-height: 118px !important; aspect-ratio: auto !important; border-radius: 0 !important; }
.cinema-randomizer-page .poster-card > :not(.poster-frame) { min-width: 0; }
.cinema-randomizer-page .poster-title,
.cinema-randomizer-page .poster-card h3 { font-size: .88rem !important; }
.cinema-randomizer-page .empty-state { min-height: 260px; }
.cinema-rpg-quest-banner { margin: 0 0 12px !important; border-radius: 9px !important; }

/* Search */
.cinema-search-page .content-section { margin: 0; padding: 0; border: 0; background: transparent; }
.cinema-search-section .search-form,
.cinema-search-form {
  min-height: 60px;
  padding: 0 14px;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--cinema-line) !important;
  border-radius: 9px;
  background: #10131f;
}
.cinema-search-form input {
  min-height: 48px !important;
  border: 0 !important;
  background: transparent !important;
  color: #e7e5ec !important;
  box-shadow: none !important;
}
.cinema-search-form button { min-height: 38px !important; border-radius: 7px !important; }
.cinema-search-page [data-search-source-note] { display: none !important; }
.cinema-search-page [data-search-status] { min-height: 18px; margin: 8px 0 0 !important; font-size: .7rem; }
.cinema-search-results {
  min-height: 330px;
  margin-top: 14px !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill,minmax(160px,1fr)) !important;
  gap: 14px !important;
  align-content: start;
  border: 1px solid var(--cinema-line);
  border-radius: 9px;
  background: #10131f;
}
.cinema-search-results .empty-state {
  min-height: 290px;
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}
.cinema-search-results .empty-state::before { content: "⌕"; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: rgba(155,92,255,.16); color: #b783ff; font-size: 1.6rem; }

/* History */
.cinema-history-page .content-section { margin: 0; padding: 0; border: 0; background: transparent; }
.cinema-history-page .section-header { display: none; }
.cinema-history-filters {
  min-height: 66px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px 160px 160px 150px minmax(120px,1fr);
  gap: 10px;
  align-items: end;
  border: 1px solid var(--cinema-line);
  border-radius: 9px;
  background: #10131f;
}
.cinema-filter-glyph { align-self: center; color: #777b8d; font-size: 1rem; }
.cinema-history-filters label { display: grid; gap: 5px; }
.cinema-history-filters label > span { color: #6f7384; font-size: .62rem; }
.cinema-history-filters select {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 7px;
  background: #090c14;
  color: #dedce4;
  font-size: .72rem;
}
.cinema-history-count { align-self: center; justify-self: end; color: #777b8d; font-size: .7rem; }
.cinema-legacy-history-toolbar { display: none !important; }
.cinema-history-table {
  margin-top: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid var(--cinema-line);
  border-radius: 0 0 9px 9px;
  background: #10131f;
}
.cinema-history-column-head {
  min-height: 40px;
  margin-top: 12px;
  padding: 0 14px;
  display: grid;
  grid-template-columns: minmax(180px,1.2fr) 170px minmax(160px,.95fr) minmax(150px,.85fr) 92px 34px;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--cinema-line);
  border-bottom: 0;
  border-radius: 9px 9px 0 0;
  background: #10131f;
  color: #65697c;
  font-size: .58rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cinema-history-row {
  min-height: 58px;
  padding: 10px 14px;
  display: grid;
  grid-template-columns: minmax(180px,1.2fr) 170px minmax(160px,.95fr) minmax(150px,.85fr) 92px 34px;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid var(--cinema-line);
}
.cinema-history-row:last-child { border-bottom: 0; }
.cinema-history-title { min-width: 0; display: grid; gap: 3px; }
.cinema-history-title strong { overflow: hidden; color: #eceaf0; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.cinema-history-title small,
.cinema-history-source,
.cinema-history-row time { color: #777b8d; font-size: .68rem; }
.cinema-watch-state { min-height: 26px; padding: 0 9px; display: inline-flex; align-items: center; border-radius: 999px; font-size: .66rem; font-weight: 760; }
.cinema-watch-state.is-watched { color: #7cf0a7; border: 1px solid rgba(93,229,140,.28); background: rgba(42,132,80,.12); }
.cinema-watch-state.is-progress { color: #efc376; border: 1px solid rgba(240,182,90,.28); background: rgba(125,86,28,.14); }
.cinema-history-reaction { position: relative; }
.cinema-reaction-current {
  min-height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e7bc66;
  font: inherit;
  font-size: .68rem;
  cursor: default;
}
.cinema-reaction-menu {
  position: absolute;
  z-index: 20;
  left: 0;
  top: calc(100% + 4px);
  min-width: 130px;
  padding: 5px;
  display: none;
  border: 1px solid var(--cinema-line);
  border-radius: 8px;
  background: #0a0d15;
  box-shadow: 0 16px 34px rgba(0,0,0,.35);
}
.cinema-history-reaction:hover .cinema-reaction-menu,
.cinema-history-reaction:focus-within .cinema-reaction-menu { display: grid; }
.cinema-reaction-choice { min-height: 30px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: #a6a9b9; text-align: left; font: inherit; font-size: .67rem; cursor: pointer; }
.cinema-reaction-choice:hover,
.cinema-reaction-choice.is-active { background: rgba(155,92,255,.16); color: #eadfff; }
.cinema-history-open { width: 30px; height: 30px; border: 0; border-radius: 7px; background: transparent; color: #85899a; cursor: pointer; }
.cinema-history-open:hover { background: rgba(155,92,255,.12); color: #c9a5ff; }
.cinema-history-status { margin-top: 8px !important; font-size: .66rem !important; }

/* Watchlist */
.cinema-watchlist-page .content-section { margin: 0; padding: 0; border: 0; background: transparent; }
.cinema-connected-pill {
  min-height: 30px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(93,229,140,.28);
  border-radius: 999px;
  background: rgba(40,126,76,.09);
  color: #73efa2;
  font-size: .66rem;
  font-weight: 760;
}
.cinema-connected-pill[data-state="disconnected"] {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.025);
  color: #8f93a5;
}
.cinema-watchlist-heading [data-sync-plex-watchlist] { min-height: 32px !important; padding: 0 10px !important; font-size: .68rem !important; }
.cinema-watchlist-grid {
  margin-top: 4px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill,minmax(150px,180px)) !important;
  gap: 14px !important;
  justify-content: start;
}
.cinema-watchlist-page .poster-card { min-height: 250px; border: 1px solid transparent !important; border-radius: 9px !important; overflow: hidden; background: #10131f !important; }
.cinema-watchlist-page .poster-card:hover { border-color: rgba(155,92,255,.38) !important; }
.cinema-watchlist-page .poster-frame { border-radius: 8px 8px 0 0 !important; }
.cinema-watchlist-status { margin-top: 10px !important; font-size: .67rem !important; }

/* Shared modal polish */
.cinema-v2 .movie-modal-backdrop {
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(5px);
}
.cinema-v2 .movie-modal {
  width: min(760px,calc(100vw - 36px)) !important;
  max-height: min(78vh,760px) !important;
  padding: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 12px !important;
  background: #10131f !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.56) !important;
}
.cinema-v2 .movie-modal-inner { gap: 20px !important; }
.cinema-v2 .movie-modal-poster { width: 200px !important; min-width: 200px !important; border-radius: 9px !important; overflow: hidden; }
.cinema-v2 .movie-modal h2 { font-size: 1.75rem !important; }
.cinema-v2 .movie-modal-meta { color: #8d90a0 !important; }
.cinema-v2 .movie-modal-actions { gap: 8px !important; }
