/* Review uses the whole editor width and leaves editing state intact. */
#deck-gallery { min-width: 0; }
.review-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 20px; }
.review-heading h2 { font-family: Georgia,serif; font-size: 30px; margin: 8px 0; }
.review-heading p { margin: 0; }
.review-search-row { display: grid; grid-template-columns: minmax(0,1fr) 160px; align-items: end; gap: 16px; }
.review-search-row label { margin: 0; }
.review-search-row .searchbar input { min-width: 0; }
.review-search-row .searchbar button { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.review-filters { background: var(--panel); border: 1px solid var(--line); padding: 12px 16px; border-radius: 8px; margin: 16px 0; }
.review-filters > summary { min-height: 32px; font-size: 13px; line-height: 2; }
.review-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 16px; margin-top: 12px; }
.review-filter-grid label { min-width: 0; margin-bottom: 12px; }
.review-count { font-size: 13px; margin: 18px 0; }
.review-zone h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; color: var(--gold); margin: 24px 0 12px; }
.review-zone h3 span { font-size: 11px; color: var(--muted); }
.review-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(320px,1fr)); gap: 14px; align-items: start; }
.review-card { display: grid; grid-template-columns: 108px minmax(0,1fr); gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); min-width: 0; }
.review-picture { min-width: 0; }
.review-image-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--raised); border-radius: 7px; overflow: hidden; aspect-ratio: 488/680; }
.review-image-button .card-image { object-fit: contain; }
.review-image-button .quantity-pill { right: 4px; bottom: 4px; padding: 3px 6px; }
.review-image-button .card-placeholder { font-size: 12px; padding: 8px; }
.review-image-button:hover { outline: 1px solid var(--gold); }
.review-flip { width: 100%; font-size: 11px; padding: 9px 3px; margin-top: 8px; }
.review-name { padding: 0; text-align: left; border: 0; background: none; color: var(--text); font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.review-name:hover { color: var(--gold); }
.review-info { min-width: 0; }
.review-info .card-name-es { font-size: 11px; margin-top: 2px; }
.review-mana { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 8px 0; }
.review-mana > span:last-child { font-size: 11px; color: var(--muted); }
.review-type { font-size: 12px; line-height: 1.5; margin: 6px 0; color: var(--gold); }
.review-rules { margin: 10px 0; padding: 0; border: 0; }
.review-rules summary { list-style: none; color: var(--text); min-height: 44px; }
.review-rules summary::-webkit-details-marker { display: none; }
.review-rule-preview { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.6; white-space: pre-wrap; }
.review-rule-hint { display: block; color: var(--gold); font-size: 11px; padding-top: 5px; }
.review-rules[open] .review-rule-preview { display: none; }
.review-rules[open] .review-rule-hint { font-size: 12px; }
.review-rules p { white-space: pre-wrap; font-size: 13px; line-height: 1.7; color: var(--text); }
.review-keywords { font-size: 11px; margin: 6px 0; color: var(--gold); }
.review-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0; }
.review-tags .tag { margin: 0; font-size: 10px; padding: 4px 6px; }
.review-printings { margin: 8px 0; }
.review-details { text-align: left; min-height: 44px; }
.review-image-button:focus-visible,.review-name:focus-visible,.review-details:focus-visible,.review-rules summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 3px; }
.editor-toolbar { flex-wrap: wrap; }
@media (max-width: 900px) { .review-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .review-heading { align-items: start; }
  .review-heading h2 { font-size: 26px; }
  .review-heading button { flex-shrink: 0; }
  .review-search-row { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .review-search-row > label { display: flex; align-items: center; gap: 12px; }
  .review-search-row select { margin: 0; width: auto; flex: 1; }
  .review-filters { padding: 8px 12px; }
  .review-filters > summary { min-height: 44px; padding: 10px 0; }
  .review-filter-grid { gap: 0 10px; }
  .review-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .review-card { grid-template-columns: 98px minmax(0,1fr); padding: 12px; gap: 12px; }
  .review-name { font-size: 15px; }
  .review-rule-preview,.review-type { font-size: 13px; }
  .review-rules p { font-size: 14px; }
  .review-details { font-size: 12px; padding: 10px 0; }
  .review-flip { min-height: 44px; }
  /* A tall edit toolbar must not cover the cards while scrolling on phones. */
  .editor-toolbar { position: static; }
}
@media (max-width: 360px) { .review-card { grid-template-columns: 82px minmax(0,1fr); gap: 10px; padding: 10px; } }

.review-collapse { display: none; }
.review-rules[open] .review-expand { display: none; }
.review-rules[open] .review-collapse { display: inline; }
#deck-editor:has(#deck-gallery:not([hidden])) .editor-toolbar > button:not(#close-deck) { display: none; }
@media (max-width: 640px) {
  #deck-editor:has(#deck-gallery:not([hidden])) .editor-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  #deck-editor:has(#deck-gallery:not([hidden])) .editor-toolbar #close-deck { margin: 0; }
  #deck-editor:has(#deck-gallery:not([hidden])) .editor-toolbar #save-status { grid-column: 1/-1; grid-row: 2; }
}

#review-search::-webkit-search-cancel-button { display: none; }

#decks-view:has(#deck-editor:not([hidden]) #deck-gallery:not([hidden])) > .heading { display: none; }
#deck-editor:has(#deck-gallery:not([hidden])) .editor-toolbar #save-status { display: none; }
