/* Loaded after the catalog theme. Keep controls usable at 390px and larger. */
.scene-shell .filters { grid-template-columns:repeat(7,minmax(0,1fr)); }
.scene-shell .filters input { min-width:0; grid-column:span 2; }
.scene-shell .filters select { min-width:0; width:100%; max-width:100%; }
.completion-toolbar { display:flex; gap:10px 16px; align-items:center; flex-wrap:wrap; margin:9px 0 0; color:#fff2c9; font-size:13px; }
.completion-toolbar button,.completion-load-more,.guide-close { border:1px solid #a98b47; border-radius:7px; padding:10px 13px; background:#17374c; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.completion-toolbar button:focus-visible,.completion-load-more:focus-visible,.guide-close:focus-visible,.variant-picker select:focus-visible { outline:3px solid #64bff8; outline-offset:3px; }
.variant-toggle { display:flex; gap:7px; align-items:center; min-height:40px; cursor:pointer; }
.variant-toggle input { width:18px; height:18px; accent-color:#dbb352; }
.completion-help { color:#eadbad; font-size:12px; }
.completion-counts { display:grid; gap:5px; margin:4px 0 14px; color:#1b435e; line-height:1.5; }
.completion-counts span { color:#6d614c; font-size:12px; }
.completion-cards { margin-top:16px; }
.completion-cards .card { min-width:0; overflow-wrap:anywhere; }
.completion-cards .card img { aspect-ratio:63/88; object-fit:contain; width:100%; }
.card-image-crop { position:relative; width:100%; aspect-ratio:63/88; overflow:hidden; border-radius:6px; background:#f1f5f8; }
.completion-cards .card-image-crop > img { position:absolute; max-width:none; max-height:none; aspect-ratio:auto; object-fit:fill; margin:0; border:0; border-radius:0; visibility:hidden; }
.card-image-crop[data-crop-ready="true"] > img { visibility:visible; }
.completion-cards .sectionTitle { overflow-wrap:anywhere; }
.finish-badge { display:inline-block; padding:4px 7px; margin:4px 3px 0 0; font-size:11px; font-weight:800; border-radius:5px; background:#dceee8; color:#235442; }
.finish-badge.is-unknown { background:#eee9df; color:#625945; }
.distribution-badge { display:inline-block; padding:4px 7px; margin:4px 3px 0 0; border-radius:5px; color:#854a70; background:#f6e9f1; font-size:11px; }
.verification-state { display:block; margin-top:5px; font-size:10px; color:#71664f; line-height:1.45; }
.variant-picker { display:grid; gap:4px; margin:8px 0; color:#234c66; font-size:11px; font-weight:800; }
.variant-picker select { max-width:100%; min-width:0; width:100%; min-height:38px; padding:6px; border:1px solid #bdcbd2; border-radius:5px; color:#193c52; background:#f5fafc; font:inherit; }
.printing-price-note { margin:8px 0 0; color:#746342; font-size:10px; line-height:1.5; }
.distribution-note,.reference-edition-note { margin:8px 0; padding:7px 9px; border-radius:5px; color:#725032; background:#f7efdf; font-size:11px; line-height:1.6; }
.card-evidence { margin-top:9px; border-top:1px solid #e6e0d4; padding-top:7px; font-size:11px; }
.card-evidence summary { cursor:pointer; color:#33566e; }
.card-evidence a { display:block; color:#245f88; margin-top:5px; overflow-wrap:anywhere; }
.completion-load-more { display:block; margin:25px auto 0; min-height:46px; }
.completion-load-more span { font-weight:400; }
.rarity-guide { padding:0; width:min(920px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); border:1px solid #d3ba72; border-radius:13px; background:#fcfaf4; color:#233747; box-shadow:0 16px 70px #0006; }
.rarity-guide::backdrop { background:#031522bc; }
.guide-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 22px; border-bottom:1px solid #e0d5b7; background:#f5edd7; }
.guide-heading h2 { margin:0; font-size:21px; line-height:1.3; }
.guide-close { flex:none; font-size:13px; }
.guide-scroll { overflow-y:auto; overscroll-behavior:contain; padding:18px 22px 28px; max-height:calc(100dvh - 125px); line-height:1.7; font-size:14px; }
.guide-scroll h3 { margin:22px 0 8px; font-size:17px; }
.guide-scroll p { margin:8px 0 14px; }
.guide-callout { padding:12px 15px; background:#e5eef4; border-left:3px solid #5385a1; border-radius:5px; font-weight:700; }
.guide-concepts { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.guide-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.guide-example { min-width:0; padding:13px; border:1px solid #ddd4be; border-radius:8px; background:#fff; }
.guide-example h4 { margin:0 0 12px; font-size:14px; }
.guide-example figure { margin:0; }
.guide-example img { display:block; width:100%; max-height:260px; aspect-ratio:63/88; object-fit:contain; }
.guide-example figcaption,.guide-image-policy { color:#746647; font-size:12px; line-height:1.6; }
.guide-example figcaption { margin-top:9px; }
.guide-example a { color:#245f88; }
@media(max-width:820px) {
  .scene-shell .filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .scene-shell .filters input { grid-column:1/-1; }
  .scene-shell .filters #finishFilter { grid-column:1/-1; }
  .completion-help { flex-basis:100%; }
  .guide-examples { grid-template-columns:1fr; }
  .guide-example figure { max-width:210px; margin:auto; }
}
@media(max-width:480px) {
  .completion-toolbar { gap:6px 10px; }
  .completion-toolbar button { font-size:12px; padding-inline:9px; }
  .completion-counts strong { font-size:13px; }
  .guide-heading { padding:13px 14px; }
  .guide-heading h2 { font-size:17px; }
  .guide-scroll { padding:12px 14px 22px; }
  .guide-concepts { grid-template-columns:1fr; gap:0; }
  .rarity-guide { width:calc(100% - 18px); max-width:calc(100% - 18px); }
}
@media(prefers-reduced-motion:reduce) { .completion-cards .card { transition:none; } }
