.resource-card-list { list-style:none; margin:0; padding:0; display:grid; gap:var(--resource-list-gap); }
.resource-card {
  min-width:0;
  color:inherit;
  text-decoration:none;
  border:1px solid var(--resource-card-border);
  border-radius:var(--radius-md, 10px);
  background:var(--resource-card-surface);
  box-shadow:var(--resource-card-edge-shadow);
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.resource-card:hover {
  border-color:var(--resource-card-hover-border);
  background:var(--resource-card-hover-surface);
}
.resource-card:focus-visible {
  outline:var(--resource-card-focus-width) solid var(--resource-card-focus-outline);
  outline-offset:var(--resource-card-focus-offset);
}
.resource-card:active { transform:scale(.998); }
.resource-card--locked {
  border-color:var(--resource-card-border);
  box-shadow:var(--resource-card-edge-shadow);
  background:var(--resource-card-surface);
}
.resource-card--locked:hover,
.resource-card--locked:focus-visible,
.resource-card--locked:focus-within {
  border-color:var(--resource-card-locked-hover-border);
  box-shadow:var(--resource-card-locked-hover-shadow);
  background:var(--resource-card-locked-hover-surface);
}
.resource-card--hub { display:grid; grid-template-columns:var(--resource-card-hub-kind) minmax(0,1fr) minmax(var(--resource-card-hub-actions-min),var(--resource-card-hub-actions-max)); gap:var(--resource-card-gap); align-items:center; min-height:var(--resource-card-hub-min-height); padding:var(--resource-card-pad-block) var(--resource-card-pad-inline); }
.resource-card--compact { --resource-compact-source-width:var(--resource-card-compact-source); display:grid; grid-template-columns:var(--resource-compact-source-width) minmax(0,1fr) max-content; gap:var(--resource-card-compact-gap-row) var(--resource-card-compact-gap-column); align-items:start; padding:var(--resource-card-nested-pad-block) var(--resource-card-nested-pad-inline); }
.resource-card--nested { display:grid; grid-template-columns:minmax(0,1fr) max-content; gap:var(--resource-card-compact-gap-row) var(--resource-card-compact-gap-column); align-items:center; padding:var(--resource-card-nested-pad-block) var(--resource-card-nested-pad-inline); }
.resource-card--nested .resource-card__actions,
.resource-card--nested .resource-card__facts { justify-content:flex-end; }
.resource-card__kind { align-self:start; padding-top:var(--space-ui-0-5); }
.resource-card__main { min-width:0; display:grid; gap:var(--space-ui-1); }
.resource-card__title { display:block; min-width:0; color:var(--text-primary); font-size:var(--type-card-title); line-height:var(--leading-meta); font-weight:650; overflow-wrap:anywhere; }
.resource-card--hub .resource-card__title { font-size:var(--type-resource-title); font-weight:560; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.resource-card__release { min-width:0; color:var(--text-muted); font-size:var(--type-meta); line-height:var(--leading-meta); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.resource-card__facts { min-width:0; display:flex; flex-wrap:wrap; gap:var(--space-ui-1); align-items:center; justify-content:flex-end; }
.resource-card__actions { display:flex; align-items:center; gap:var(--space-ui-2); flex-wrap:wrap; }
.resource-card__source {
  min-width:var(--resource-source-min-width);
  min-height:var(--resource-source-min-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 var(--space-ui-2);
  border:1px solid var(--resource-source-border);
  border-radius:var(--radius-xs, 4px);
  background:var(--resource-source-bg);
  color:var(--resource-source-text);
  font-size:var(--type-resource-badge);
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}
.resource-card--compact .resource-card__source {
  width:var(--resource-compact-source-width);
  min-width:0;
  box-sizing:border-box;
}
.resource-card__empty { display:block; color:var(--text-muted); text-align:center; padding:var(--space-ui-6); }
.resource-kind-pill { display:inline-flex; align-items:center; justify-content:center; min-width:var(--resource-kind-min-width); height:var(--resource-source-min-height); padding:0 var(--space-ui-1-5); border-radius:var(--radius-ui-sm); font-size:var(--type-meta); font-weight:700; letter-spacing:.04em; line-height:1; }
.resource-kind-pill--movie { background:var(--resource-kind-movie-bg); color:var(--resource-kind-movie-text); border:1px solid var(--resource-kind-movie-border); }
.resource-kind-pill--tv { background:var(--resource-kind-tv-bg); color:var(--resource-kind-tv-text); border:1px solid var(--resource-kind-tv-border); }
.resource-kind-pill--doc { background:var(--resource-kind-doc-bg); color:var(--resource-kind-doc-text); border:1px solid var(--resource-kind-doc-border); }
.resource-badge-row { display:flex; flex-wrap:wrap; gap:var(--space-ui-1); min-height:var(--resource-badge-height); align-items:center; }
.resource-badge { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:var(--resource-badge-height); padding:var(--resource-spec-padding-block) var(--resource-spec-padding-inline); border-radius:var(--resource-spec-radius); font-size:var(--type-resource-badge); line-height:var(--resource-spec-line-height); font-weight:var(--resource-spec-weight); white-space:nowrap; letter-spacing:var(--resource-spec-letter-spacing); border:var(--resource-spec-border-width) solid var(--resource-spec-border); box-shadow:var(--resource-spec-shadow); }
.resource-badge--neutral { background:var(--resource-badge-neutral-bg); color:var(--resource-badge-neutral-text); }
.resource-badge--remux { background:var(--resource-badge-remux-bg); color:var(--resource-badge-remux-text); }
.resource-badge--webdl { background:var(--resource-badge-webdl-bg); color:var(--resource-badge-webdl-text); }
.resource-badge--webrip,
.resource-badge--bdrip { background:var(--resource-badge-disc-bg); color:var(--resource-badge-disc-text); }
.resource-badge--dv { background:var(--resource-badge-dv-bg); color:var(--resource-badge-dv-text); }
.resource-badge--hdr10p,
.resource-badge--hdr { background:var(--resource-badge-hdr-bg); color:var(--resource-badge-hdr-text); }
.resource-badge--atmos,
.resource-badge--dtshd,
.resource-badge--truehd { background:var(--resource-badge-audio-bg); color:var(--resource-badge-audio-text); }
.resource-badge--hevc { background:var(--resource-badge-hevc-bg); color:var(--resource-badge-hevc-text); }
.resource-badge--av1 { background:var(--resource-badge-av1-bg); color:var(--resource-badge-av1-text); }
.resource-badge--lock { background:var(--resource-badge-lock-bg); color:var(--resource-badge-lock-text); border-color:var(--resource-lock-badge-border); }
.resource-badge--home { font-size:var(--type-resource-badge); }
.resource-fact { --resource-fact-font-size:var(--type-resource-badge); min-width:0; height:var(--resource-fact-height); box-sizing:border-box; display:inline-flex; align-items:center; gap:var(--space-ui-1); padding:0 var(--space-ui-2); border-radius:var(--radius-ui-sm); border:1px solid var(--resource-fact-border); background:var(--resource-fact-bg); font-size:var(--resource-fact-font-size); font-weight:700; line-height:1; letter-spacing:0; white-space:nowrap; }
.resource-fact em { color:var(--text-muted); font:inherit; font-style:normal; line-height:inherit; letter-spacing:inherit; }
.resource-fact strong { color:var(--text-primary); font:inherit; line-height:inherit; letter-spacing:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.resource-fact--seed-hot { background:var(--resource-fact-seed-hot-bg); border-color:var(--resource-fact-seed-hot-border); }
.resource-fact--seed-hot strong { color:var(--resource-fact-seed-hot-text); }
.resource-fact--seed-warm { background:var(--resource-fact-seed-warm-bg); border-color:var(--resource-fact-seed-warm-border); }
.resource-fact--seed-warm strong { color:var(--resource-fact-seed-warm-text); }
.resource-fact--seed-cold strong,
.resource-fact--muted strong { color:var(--text-muted); }
.resource-card--hub .resource-fact {
  height:var(--resource-hub-fact-height);
  padding-inline:var(--resource-hub-fact-padding-inline);
  border-color:var(--resource-hub-fact-border);
  border-radius:var(--resource-hub-fact-radius);
  background:var(--resource-hub-fact-bg);
}
.resource-lock-action {
  min-width:var(--resource-source-min-width);
  min-height:var(--resource-action-height);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-ui-1-5);
  padding:0 var(--space-ui-2-5);
  color:var(--text-muted);
  border:1px solid var(--resource-lock-action-border);
  border-radius:var(--radius-ui-sm);
  background:var(--resource-lock-action-bg);
  font-size:var(--type-control);
  line-height:1;
  font-weight:700;
  text-decoration:none;
}
.resource-lock-action:hover { border-color:var(--resource-lock-action-hover-border); color:var(--accent); background:var(--resource-lock-action-hover-bg); }
.resource-lock-action svg { width:var(--resource-action-icon); height:var(--resource-action-icon); display:block; flex:0 0 auto; }
@media (max-width: 900px) {
  /* UI-005 3a: padding no longer pinned to --space-ui-3/-2-5 here -- that was a second,
     independent hardcoded pair that produced its own 640/641 and 900/901 steps on top of the
     600->768 jump already fixed on --resource-card-pad-block/-inline above. Dropping it lets
     the unconditional base rule's (now continuous) padding apply through this range too. */
  .resource-card--hub { grid-template-columns:var(--resource-card-hub-kind) minmax(0,1fr); gap:var(--space-ui-2); align-items:start; min-height:0; }
  .resource-card--hub .resource-card__facts { grid-column:2; justify-content:flex-start; margin-top:var(--space-ui-0-5); }
  .resource-card--hub .resource-card__title { -webkit-line-clamp:3; }
}
@media (max-width: 640px) {
  .resource-card--hub { grid-template-columns:var(--resource-card-hub-kind) minmax(0,1fr); gap:var(--space-mobile-gap) var(--space-mobile-card-pad); padding:var(--resource-card-pad-block) var(--resource-card-pad-inline); }
  .resource-card--hub .resource-card__kind { padding-top:0; }
  .resource-card--hub .resource-kind-pill { min-width:var(--resource-card-hub-kind); width:var(--resource-card-hub-kind); height:var(--resource-card-hub-kind); padding:0; border-radius:var(--radius-ui-xs); font-size:var(--type-compact-meta); }
  .resource-card--hub .resource-card__main { gap:var(--space-ui-0-5); }
  .resource-card--hub .resource-card__title { display:block; font-size:var(--type-card-title); line-height:1.2; font-weight:560; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:unset; }
  .resource-card--hub .resource-card__release { font-size:var(--type-meta); line-height:1.2; }
  .resource-card--hub .resource-badge-row { min-height:var(--resource-badge-height); max-height:var(--resource-badge-height); flex-wrap:nowrap; gap:var(--space-ui-0-5); overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
  .resource-card--hub .resource-badge-row::-webkit-scrollbar { display:none; }
  .resource-card--hub .resource-badge { min-height:var(--resource-badge-height); font-size:var(--type-label); }
  .resource-card--hub .resource-card__facts { margin-top:0; flex-wrap:nowrap; gap:var(--space-ui-1); overflow-x:auto; scrollbar-width:none; }
  .resource-card--hub .resource-card__facts::-webkit-scrollbar { display:none; }
  .resource-card--hub .resource-fact { --resource-fact-font-size:var(--type-label); }
  .resource-card--hub .resource-card__actions { grid-column:2; gap:var(--space-ui-1); }
  .resource-card--nested { grid-template-columns:minmax(0,1fr); }
  .resource-card--nested .resource-card__title { font-size:var(--type-compact-title); line-height:var(--leading-compact); }
  .resource-card--nested .resource-card__actions,
  .resource-card--nested .resource-card__facts { justify-content:flex-start; }
  .resource-card--compact { --resource-compact-source-width:var(--resource-card-compact-source); grid-template-columns:var(--resource-compact-source-width) minmax(0,1fr); gap:var(--resource-card-compact-gap-row) var(--resource-card-compact-gap-column); padding:var(--resource-card-nested-pad-block) var(--resource-card-nested-pad-inline); }
  .resource-card--compact .resource-card__facts { grid-column:2; justify-content:flex-start; }
  .resource-card--compact .resource-card__source { min-width:var(--resource-source-min-width); min-height:var(--resource-source-min-height); padding:0 var(--space-ui-1); font-size:var(--type-compact-label); }
  .resource-card--compact .resource-card__title { font-size:var(--type-compact-title); line-height:1.22; }
  .resource-card--compact .resource-badge,
  .resource-card--compact .resource-fact { --resource-fact-font-size:var(--type-compact-label); height:var(--resource-fact-height); padding:0 var(--space-ui-1); }
  .resource-card--compact .resource-card__source { min-height:var(--resource-source-min-height); font-size:var(--type-compact-label); }
  .resource-badge--home { min-height:var(--resource-badge-height); font-size:var(--type-resource-badge); }
  .resource-lock-action { min-height:var(--resource-action-height); padding-inline:var(--space-ui-1-5); font-size:var(--type-compact-label); }
  .resource-lock-action svg { width:var(--resource-action-icon); height:var(--resource-action-icon); }
}
