/* Collection, activity, search, and episode details */
.watch-status { position:absolute;bottom:10px;left:10px;padding:6px 9px;background:rgba(12,12,12,.92);border:1px solid #ffffff40;color:#fff;border-radius:4px;font-size:10px;font-weight:600; }
.watch-status.complete { background:#d9f6e8;color:#103b29;border-color:#d9f6e8; }
.stub.watched .stub-title { color:var(--text); }
.personal-rating-label { color:var(--muted);font-size:10px;margin-top:8px; }
.stub .stars { gap:4px;margin:1px 0 4px; }
.stars button.star { border:0;background:none;padding:2px;font:inherit;font-size:19px;line-height:1.2; }
.stars .star.filled { color:var(--gold); }
.stats-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:12px; }
.stat-card { min-width:0;padding:26px; }
.stat-card:hover { transform:none;border-color:var(--line); }
.stat-num { color:var(--text);background:none;-webkit-text-fill-color:var(--text);font-size:36px;font-weight:600;letter-spacing:-1px; }
.stats-note { color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 30px; }
.stats-panel { min-width:0; }
.stats-panel-title { margin:0 0 18px; }
.stat-bar-row { display:grid;grid-template-columns:minmax(70px,1fr) minmax(20px,1fr) 48px;gap:12px; }
.stat-bar-label { font:inherit;font-size:12px;color:var(--text);text-align:left;padding:0;background:none;border:0;width:auto;min-width:0; }
.stat-bar-val { width:auto; }
.stat-rating-label { color:var(--gold);font-size:12px; }
.stats-rating-summary { font-size:12px;color:var(--muted);margin-bottom:24px; }
.search-overlay { width:820px;top:5vh;max-height:90dvh;background:var(--surface);backdrop-filter:none; }
.search-overlay::before { display:none; }
.search-overlay-head { padding:26px 28px 20px; }
.search-overlay-title { font-size:20px;letter-spacing:-.4px; }
.search-bar input { border-radius:6px; }
.search-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.search-scroll { padding:8px 24px 24px; }
.search-item { display:flex;flex-direction:column;min-width:0;background:var(--bg); }
.search-item-row { padding:14px;align-items:flex-start; }
.search-item-poster,.search-item-poster-fb { width:58px;height:86px;border-radius:4px; }
.search-item-meta { white-space:normal;line-height:1.8;margin-top:8px; }
.search-chevron { transform:rotate(-90deg);width:14px; }
.search-expand.open { max-height:none;margin-top:auto; }
.search-expand-inner { padding:0 14px 14px; }
.search-overview { -webkit-line-clamp:2;min-height:38px;font-size:12px; }
.search-add-btn { background:var(--surface-2);border:1px solid var(--line);border-radius:4px;color:var(--text);width:100%;padding:10px; }
.search-add-btn:disabled { color:var(--muted);opacity:1;cursor:default; }
.search-empty-state { overflow:auto; }
.detail-modal { width:960px;max-width:96vw;background:var(--surface); }
.detail-hero { min-height:220px; }
.detail-modal.no-art .detail-hero { min-height:60px;height:60px;background:none; }
.detail-modal.no-art .detail-header-row { margin-top:0; }
.detail-poster[hidden] { display:none; }
.detail-title { font-size:clamp(23px,3vw,34px);letter-spacing:-.8px;line-height:1.2; }
.detail-body { padding-bottom:32px; }
.episode-section-heading { display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 16px;border-top:1px solid var(--line);padding-top:24px; }
.episode-section-heading h2 { font-size:22px;letter-spacing:-.5px;margin:0; }
.detail-progress-text { font-size:12px;color:var(--muted); }
.episode-guide-toolbar { display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px; }
.episode-guide-toolbar label { font-size:12px;white-space:nowrap; }
.episode-guide-toolbar select { background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:8px;max-width:220px; }
.episode-order-note { font-size:11px;color:var(--muted);line-height:1.5; }
.season-block { background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:10px; }
.season-head { padding:0 16px;cursor:default;gap:12px; }
.season-expand { display:flex;flex:1;align-items:center;gap:12px;text-align:left;background:none;color:var(--text);border:0;padding:18px 0;cursor:pointer;min-width:0; }
.season-expand::before { content:'›';font-size:22px;transition:transform .15s; }
.season-expand[aria-expanded="true"]::before { transform:rotate(90deg); }
.season-count { font-size:11px;margin:0;color:var(--muted); }
.season-complete .season-name::after { content:' ✓';color:#6bc99a; }
.season-toggle-btn { font-size:11px;padding:8px 10px; }
.season-episodes.open { padding:0 16px 12px; }
.episode-row { padding:16px 0;align-items:flex-start;border-top:1px solid var(--line); }
.ep-checkbox { min-width:25px;min-height:25px;display:flex;align-items:center;justify-content:center;color:transparent;cursor:pointer; }
.ep-checkbox.checked { color:#102c20;background:#a7e5c6;border-color:#a7e5c6; }
.ep-checkbox:disabled { opacity:1;cursor:default; }
.episode-name { font-size:13px;line-height:1.5; }
.episode-air { margin-top:4px; }
.episode-synopsis { font-size:12px;color:var(--muted);line-height:1.7;margin-top:7px; }
.episode-synopsis summary { cursor:pointer;font-size:11px; }
.episode-synopsis p { margin:6px 0 0; }
@media(max-width:650px) {
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .stat-card { padding:18px; }
  .stat-num { font-size:27px; }
  .stats-panel { padding:20px 16px; }
  .search-overlay-head { padding:20px 16px 16px; }
  .search-list { grid-template-columns:1fr; }
  .search-scroll { padding:8px 14px 20px; }
  .detail-header-row { gap:14px; }
  .episode-section-heading { align-items:flex-start;flex-direction:column;gap:0; }
  .episode-guide-toolbar { align-items:flex-start;flex-direction:column;gap:8px; }
  .season-expand { flex-wrap:wrap;gap:6px;font-size:13px; }
  .season-count { width:100%;padding-left:14px; }
  .season-head { padding:0 12px; }
  .watch-status { left:6px;bottom:6px;font-size:9px; }
}
