/* Named collection and editing surfaces; battle geometry is untouched. */
.deck-organization-filters, .deck-organization { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.deck-organization-filters { margin-left: auto; }
.deck-favorite-filter { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 12px; }
body #libraryOverlay .deck-favorite-filter input { width: 16px; height: 16px; min-height: 16px; margin: 0; accent-color: #9c233c; }
.deck-local-scope { color: #c8baa5; font-size: 11px; }
.deck-organization { padding: 0 12px 10px; }
body #libraryOverlay .deck-organization button { width: 32px; height: 32px; min-height: 32px; padding: 6px; flex: none; }
.deck-tag { color: #cfbd98; font-size: 11px; overflow-wrap: anywhere; }
.deck-tag + .deck-tag::before { content: '/'; margin-right: 7px; color: #837260; }
.deck-tag-form { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid #b9a27640; }
.deck-tag-form label { display: grid; gap: 5px; width: 100%; font-size: 12px; }
.deck-tag-form input { width: 100%; box-sizing: border-box; }
.deck-tag-form output { width: 100%; color: #edb8ad; font-size: 12px; }
.deck-economy { display: grid; gap: 6px; padding: 10px 0; border-bottom: 1px solid #b9a27640; }
.deck-economy strong { font-size: 11px; font-weight: 500; color: #ddc69b; }
.deck-economy small { font-size: 11px; color: #c8baa5; line-height: 1.5; }
.deck-upgrade-fees { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); text-align: center; gap: 3px; font-variant-numeric: tabular-nums; color: #f0dbb1; font-size: 13px; }
.deck-upgrade-fees span { border-bottom: 1px solid #9f6e554f; padding: 3px 0; }
.deck-upgrade-card-label { text-align: center; color: #6e2433; font-size: 10px; line-height: 1.4; }
.deck-invalid-row { color: #f0b4aa; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; padding: 6px 0; }
.deck-invalid-row button { padding: 3px; min-height: 28px; width: 28px; margin-left: 5px; }
.deck-backup-scope { color: #d6c5ab; font-size: 12px; line-height: 1.7; white-space: pre-line; }
body .deck-utility-dialog { box-sizing: border-box; width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 20px; border: 1px solid #ac9264; border-radius: 4px; color: #f5ebd6; background: #1c171c; box-shadow: 0 18px 60px #0008; overflow: auto; letter-spacing: 0; color-scheme: dark; }
.deck-utility-dialog::backdrop { background: #100d12b8; }
.deck-utility-dialog header, .deck-utility-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.deck-utility-dialog header { border-bottom: 1px solid #b9a27640; padding-bottom: 12px; }
.deck-utility-dialog h2 { font-size: 20px; margin: 0; }
.deck-utility-dialog h3 { font-size: 15px; margin: 18px 0 8px; color: #e0c697; }
.deck-utility-dialog p { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.deck-utility-dialog label { display: grid; grid-template-columns: 90px minmax(0,1fr); align-items: center; gap: 10px; margin: 14px 0; font-size: 13px; }
body .deck-utility-dialog :is(select, button) { min-height: 36px; padding: 6px 10px; color: #f5ebd6; background: #211b20; border: 1px solid #8c785e; border-radius: 3px; font: inherit; font-size: 13px; box-shadow: none; }
.deck-utility-dialog select { width: 100%; min-width: 0; }
.deck-utility-dialog svg { width: 18px; height: 18px; }
.deck-utility-dialog header button { width: 36px; padding: 7px; }
.deck-utility-dialog output { display: block; color: #dac7a7; font-size: 12px; margin: 12px 0; line-height: 1.5; }
body .deck-utility-dialog button:hover { background: #38232b; border-color: #d5b683; transform: none; translate: none; }
.deck-utility-dialog :focus-visible { outline: 2px solid #d5b683; outline-offset: 2px; }
.deck-compare-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12px; }
.deck-compare-table th, .deck-compare-table td { text-align: right; padding: 8px 4px; border-bottom: 1px solid #b9a27630; font-variant-numeric: tabular-nums; }
.deck-compare-table th:first-child { text-align: left; width: 49%; font-weight: 500; overflow-wrap: anywhere; }
.deck-added { color: #b7d0b5; }
.deck-removed { color: #edb1ac; }
body #collectionEditor.deck-library-enhanced.archive-surface[open] { grid-template-rows: 60px 48px 40px auto minmax(0,1fr) 58px; }
body #collectionEditor.deck-library-enhanced.archive-surface #collectionCardGrid { grid-row: 5; }
body #collectionEditor.deck-library-enhanced.archive-surface .archive-card-details { grid-row: 2/6; }
body #collectionEditor.deck-library-enhanced.archive-surface footer { grid-row: 6; }
body #collectionEditor.deck-library-enhanced .collection-filter-chips { grid-column: 2; grid-row: 4; display: flex; gap: 5px; background: var(--archive-paper, #f3ebd8); padding: 3px 10px 6px; overflow: auto; min-width: 0; max-height: 42px; }
body #collectionEditor.deck-library-enhanced .collection-filter-chips[hidden] { display: none; }
body #collectionEditor.deck-library-enhanced .collection-filter-chips button { flex: none; min-height: 28px; height: 28px; padding: 3px 7px; font-size: 11px; white-space: nowrap; border-color: #a49379; background: #eee4d0; color: #65303b; }
body #collectionEditor.deck-library-enhanced .collection-filter-chips svg { width: 13px; height: 13px; }
body #collectionEditor.deck-library-enhanced #collectionFilterButton { width: 34px; height: 34px; min-height: 34px; padding: 6px; flex: none; }
body #collectionEditor.deck-library-enhanced #collectionCompareButton { white-space: nowrap; flex: none; margin-left: auto; }
body #collectionEditor.deck-library-enhanced #collectionDraftState { display: block; max-width: 180px; line-height: 1.5; margin: 0; color: #c5b492; font-size: 11px; }
body #collectionEditor.deck-library-enhanced #collectionDraftState[data-dirty='true'] { color: #e1ad9c; }
body #collectionEditor.deck-library-enhanced .archive-title { font-size: 19px; line-height: 1.45; overflow-wrap: anywhere; margin: 8px 0; max-height: 84px; overflow: auto; letter-spacing: 0; text-shadow: none; }
body #collectionEditor.deck-library-enhanced .archive-rail-label { letter-spacing: 0; }
body #collectionEditor.deck-library-enhanced .archive-selected .card { outline: 1px solid #a58b59; outline-offset: 3px; }
body :is(#collectionEditor.deck-library-enhanced,#libraryOverlay.archive-surface) button:not(:disabled):not(.card):is(:hover,:focus-visible) { box-shadow: none; transform: none; translate: none; border-color: #cdb17d; }
body #collectionEditor.deck-library-enhanced .card:hover { filter: brightness(1.025); }
body #libraryOverlay.archive-surface .saved-deck.is-selected { outline: none; border-color: #c7ad79; box-shadow: inset 0 0 0 1px #c7ad7935; }
body #libraryOverlay.archive-surface.deck-collection-mode button:focus-visible, body #collectionEditor.deck-library-enhanced.archive-surface button:focus-visible { outline: 1px solid #cfb68c; outline-offset: 2px; }
@media (max-width: 1000px), (max-height: 520px) and (orientation: landscape) {
  body #collectionEditor.deck-library-enhanced.archive-surface[open] { grid-template-rows: 44px 40px 34px auto minmax(0,1fr) 46px; }
  body #collectionEditor.deck-library-enhanced #collectionDraftState { font-size: 10px; max-width: 100px; }
  body #collectionEditor.deck-library-enhanced .archive-title { font-size: 16px; max-height: 68px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-scope { gap: 4px; }
  body #collectionEditor.deck-library-enhanced #collectionCompareButton { padding-inline: 5px; font-size: 10px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools { gap: 4px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools select { width: 76px; font-size: 12px; }
  body #collectionEditor.deck-library-enhanced #collectionCardSearch { min-width: 40px; }
  .deck-organization-filters { margin-left: 0; }
}
@media (max-width: 650px) and (orientation: landscape) {
  body #collectionEditor.deck-library-enhanced.archive-surface[open] { grid-template-columns: 116px minmax(0,1fr); padding: 6px; column-gap: 7px; grid-template-rows: 38px 38px 32px auto minmax(0,1fr) 42px; }
  body #collectionEditor.deck-library-enhanced #collectionDeckName { width: 100px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools select { width: 65px; }
  body #collectionEditor.deck-library-enhanced .editor-display button { width: 27px; padding: 4px; }
  body #collectionEditor.deck-library-enhanced .deck-economy { padding: 7px 0; }
}
@media (max-width: 580px) and (orientation: portrait) {
  body #collectionEditor.deck-library-enhanced.archive-surface[open] { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto auto minmax(0,1fr) auto; padding: 10px; gap: 0; }
  body #collectionEditor.deck-library-enhanced.archive-surface :is(header,footer,.collection-editor-tools,.collection-editor-scope,#collectionFilterChips,#collectionCardGrid) { grid-column: 1; }
  body #collectionEditor.deck-library-enhanced header { flex-wrap: wrap; padding-bottom: 7px; }
  body #collectionEditor.deck-library-enhanced #collectionDeckName { width: 155px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools { flex-wrap: wrap; padding: 7px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools > div { width: auto; }
  body #collectionEditor.deck-library-enhanced .collection-editor-tools select { flex: 1; }
  body #collectionEditor.deck-library-enhanced #collectionCardSearch { width: 100px; }
  body #collectionEditor.deck-library-enhanced .collection-editor-scope { flex-wrap: wrap; padding: 5px 7px; }
  body #collectionEditor.deck-library-enhanced #collectionSummaryToggle { display: block; }
  body #collectionEditor.deck-library-enhanced .archive-editor-rail { display: none; }
  body #collectionEditor.deck-library-enhanced.show-summary #collectionCardGrid { display: none; }
  body #collectionEditor.deck-library-enhanced.show-summary .archive-editor-rail { display: flex; grid-column: 1; grid-row: 5; border: 0; padding: 8px 0; overflow: hidden; }
  body #collectionEditor.deck-library-enhanced.show-summary .archive-editor-rail :is(.archive-logo,.archive-rail-label) { display: none; }
  body #collectionEditor.deck-library-enhanced footer { flex-wrap: wrap; padding-top: 8px; }
  body #collectionEditor.deck-library-enhanced #collectionEditorError { flex-basis: 100%; }
  body #libraryOverlay.archive-surface .deck-collection-filters { gap: 6px; }
  body #libraryOverlay.archive-surface .library-header { flex-wrap: wrap; gap: 8px; padding-bottom: 10px; }
  body #libraryOverlay.archive-surface .library-header > div:first-of-type { flex: 1; min-width: 0; }
  body #libraryOverlay.archive-surface .library-header h2 { white-space: nowrap; font-size: 20px; margin: 0; text-shadow: none; }
  body #libraryOverlay.archive-surface #closeLibraryButton { order: 2; flex: none; width: 36px; min-width: 36px; margin: 0; }
  body #libraryOverlay.archive-surface .collection-nav { order: 3; width: 100%; margin: 0; gap: 5px; }
  body #libraryOverlay.archive-surface .collection-nav button { flex: 1; min-width: 0; padding: 6px; }
  body #libraryOverlay.archive-surface .library-view-switch { order: 4; }
  body #libraryOverlay.archive-surface #savedDeckList { grid-template-columns: repeat(auto-fit, minmax(138px,1fr)); padding: 12px; }
  body #libraryOverlay.archive-surface .saved-deck-actions { flex-wrap: wrap; }
  body #libraryOverlay.archive-surface .saved-deck-actions button { flex: 1 1 100%; }
  body #libraryOverlay.archive-surface .deck-organization-filters { width: 100%; }
  body #libraryOverlay.archive-surface #savedDeckTag { width: 100px; }
  .deck-local-scope { font-size: 10px; }
}
#libraryOverlay .collection-nav { display: flex; gap: 8px; padding: 8px 0; margin-left: auto; }
#libraryOverlay .collection-nav button { min-width: 120px; min-height: 42px; padding: 8px 18px; border-radius: 3px; }
#libraryOverlay .collection-nav [aria-pressed="true"], #collectionEditor [aria-pressed="true"] { background: #852e42; color: #fff; border-color: #d79a8d; }
#myDecksView[hidden] { display: none; }
#libraryOverlay.deck-collection-mode .library-panel > :not(.library-header):not(.collection-nav):not(#myDecksView):not(#deckPresetsView),
#libraryOverlay.deck-collection-mode .library-view-switch { display: none; }
#libraryOverlay.deck-collection-mode .library-panel { width: min(1360px, 100%); height: min(920px, calc(100dvh - 32px)); padding: 20px 24px; display: flex; flex-direction: column; overflow: hidden; }
#libraryOverlay.deck-collection-mode .library-header { flex: none; margin: 0; }
#libraryOverlay.deck-collection-mode .library-header h2 { font-size: 25px; }
#myDecksView { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.deck-collection-toolbar, .deck-collection-filters { display: flex; gap: 12px; align-items: center; padding: 14px 0; flex: none; }
.deck-collection-toolbar > div { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
#deckActiveName { font-size: 18px; overflow-wrap: anywhere; }
#deckActiveStats { display: block; color: #bdc9c6; font-size: 13px; }
.deck-active-badge { color: #96e0b8; font-size: 12px; white-space: nowrap; }
.deck-collection-filters { padding-top: 0; flex-wrap: wrap; }
.deck-collection-filters input { width: 220px; }
#deckCollectionCount { margin-left: auto; color: #c4c3bb; font-size: 13px; }
#deckLibraryNotice { color: #a0e2bd; font-size: 14px; flex: none; overflow-wrap: anywhere; }
#deckLibraryNotice:not(:empty) { padding: 8px 0; }
#deckLibraryNotice.is-error, #collectionEditorError { color: #ffb2a8; }
.deck-collection-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 22px; flex: 1; min-height: 0; }
#savedDeckList { display: grid; grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); grid-auto-rows: max-content; align-content: start; gap: 14px; overflow: auto; padding: 4px 6px 14px 2px; min-width: 0; scrollbar-gutter: stable; }
.saved-deck { min-width: 0; border: 1px solid #68694f; border-radius: 6px; background: #142620; overflow: hidden; }
.saved-deck.is-selected { border-color: #e0c88a; box-shadow: inset 0 0 0 1px #e0c88a; }
.saved-deck-cover { display: flex; width: 100%; align-items: center; flex-direction: column; gap: 8px; padding: 12px; border: 0; background: #12201d; color: #fff1d7; border-radius: 0; font: inherit; }
.saved-deck-cover img { height: 138px; width: 100%; object-fit: contain; }
.saved-deck-cover span { font-size: 16px; font-weight: 650; min-height: 24px; overflow-wrap: anywhere; }
.saved-deck-meta { padding: 10px 12px; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: 12px; color: #c9d2cc; }
.saved-deck-meta small { color: #e7dcbf; }
.saved-deck-meta strong { margin-left: auto; font-size: 12px; }
.saved-deck-actions { display: flex; border-top: 1px solid #4d5d50; }
.saved-deck-actions button { flex: 1; border: 0; border-radius: 0; min-height: 42px; font-size: 13px; padding: 7px; background: #23352f; }
.deck-command { display: inline-flex; gap: 6px; align-items: center; justify-content: center; }
.deck-command svg, #collectionEditorBack svg { width: 18px; height: 18px; display: block; }
#savedDeckDetail { min-height: 0; overflow: auto; padding: 10px 0 14px 20px; border-left: 1px solid #566558; }
#savedDeckDetail h3 { margin: 0; font-size: 20px; overflow-wrap: anywhere; }
.deck-detail-status { font-size: 12px; color: #c5d2c9; }
.deck-detail-actions { display: flex; gap: 6px; flex-wrap: wrap; padding: 12px 0; }
.deck-detail-actions button { font-size: 13px; min-height: 38px; padding: 7px 9px; }
.deck-detail-rows h4, #collectionDeckSummary h4 { margin: 16px 0 8px; font-size: 13px; color: #e1c996; }
.deck-summary-row { display: block; border: 0; border-bottom: 1px solid #3f5148; border-radius: 0; text-align: left; padding: 9px 3px; width: 100%; font-size: 13px; font-weight: 400; color: #eee9dc; background: transparent; overflow-wrap: anywhere; }
.deck-cost-curve { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; align-items: end; min-height: 83px; margin-top: 12px; }
.deck-cost-bin { display: flex; flex-direction: column; align-items: center; justify-content: end; height: 83px; gap: 4px; font-size: 11px; color: #bfd1cb; }
.deck-cost-bin i { display: block; width: 100%; min-height: 2px; background: #a34354; border-top: 1px solid #e4ba96; }
.deck-cost-bin small { font-size: 11px; color: #e7d0a7; }
.deck-library-empty { grid-column: 1/-1; padding: 30px 0; color: #d0c9b4; text-align: center; }
#collectionEditor, #deckNameDialog { color: #eeeada; background: #12211d; border: 1px solid #ad9968; border-radius: 6px; padding: 18px; box-shadow: 0 20px 70px #000a; }
#collectionEditor::backdrop, #deckNameDialog::backdrop { background: #060909d9; }
#deckNameDialog { width: min(430px, calc(100vw - 24px)); }
#deckNameDialog h2 { font-size: 22px; margin: 0 0 20px; }
#deckNameDialog label { display: grid; gap: 7px; margin: 12px 0; font-size: 14px; }
#deckNameDialog .deck-check { display: flex; align-items: center; }
#deckNameDialog input[type="checkbox"] { width: 18px; height: 18px; }
#deckNameDialog footer { display: flex; justify-content: end; gap: 8px; margin-top: 20px; }
#collectionEditor[open] { display: flex; flex-direction: column; width: min(1380px, calc(100vw - 28px)); height: min(950px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); overflow: hidden; }
#collectionEditor header { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; flex: none; padding-bottom: 12px; border-bottom: 1px solid #657059; }
#collectionEditor header label { display: flex; gap: 9px; align-items: center; font-size: 13px; min-width: 0; }
#collectionDeckName { width: 220px; }
#collectionDraftState { font-size: 12px; color: #e7c188; }
#collectionDeckCount { margin-left: auto; font-size: 16px; color: #f0daab; }
#collectionEditorBack { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; }
.collection-editor-tools { display: flex; gap: 10px; padding: 12px 0; flex-wrap: wrap; flex: none; }
.collection-editor-tools > div { display: flex; gap: 3px; }
#collectionCardSearch { width: 210px; flex: 1; min-width: 130px; }
#collectionCardResults { color: #b5c4b9; font-size: 12px; padding-bottom: 8px; flex: none; }
.collection-editor-scope { display: flex; flex: none; align-items: center; flex-wrap: wrap; gap: 12px; padding: 0 0 8px; }
.collection-editor-scope > div { display: flex; gap: 3px; }
.collection-editor-scope button { min-height: 30px; padding: 4px 10px; font-size: 12px; }
.collection-editor-scope output { padding: 0 !important; }
#deckNameError { color: #ffb2a8; display: block; font-size: 13px; }
#deckDetailsDialog { width: min(430px, calc(100vw - 20px)); max-height: calc(100dvh - 18px); overflow: auto; background: #12211d; color: #eee9dc; border: 1px solid #ad9968; padding: 12px; }
#deckDetailsDialog::backdrop { background: #060909d9; }
#deckDetailsDialog form { display: flex; justify-content: end; }
#deckDetailsDialog form button { width: 36px; height: 36px; padding: 8px; }
#deckDetailsDialog svg { width: 18px; height: 18px; }
.collection-editor-body { display: grid; grid-template-columns: minmax(0, 1fr) 245px; gap: 18px; min-height: 0; flex: 1; }
#collectionCardGrid { overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); align-content: start; gap: 14px; padding: 8px 8px 20px 0; min-width: 0; scrollbar-gutter: stable; }
.collection-build-card { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
#collectionCardGrid .card { width: 100%; min-width: 0; height: 460px; margin: 0; display: flex; flex-direction: column; gap: 6px; padding: 8px; }
#collectionCardGrid .card > :not(.card-text) { flex-shrink: 0; }
#collectionCardGrid .card .card-name { display: block; position: static; font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
#collectionCardGrid .card .card-type { position: static; font-size: 11px; }
#collectionCardGrid .card .keywords { display: flex; min-height: 20px; }
#collectionCardGrid .card .card-text { display: block; flex: 1; min-height: 0; overflow: hidden; font-size: 12px; line-height: 1.4; text-align: left; }
#collectionCardGrid .card .stats { padding: 0; font-size: 14px; }
#collectionCardGrid .card .card-art { height: 152px; min-height: 152px; padding: 0; margin: 4px 0; }
#collectionCardGrid .card .card-art img { width: 100%; height: 100%; object-fit: contain; }
.collection-card-count { display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; text-align: center; height: 38px; }
.collection-card-count button { padding: 0; height: 38px; font-size: 20px; }
.collection-card-count strong { font-size: 15px; }
#collectionDeckSummary { border-left: 1px solid #556250; padding-left: 16px; overflow: auto; min-width: 0; }
#collectionEditor footer { display: flex; gap: 10px; align-items: center; flex: none; border-top: 1px solid #526352; padding-top: 12px; }
#collectionEditorError { flex: 1; font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
#collectionEditor footer button { white-space: nowrap; min-height: 42px; }
#myDecksView input, #myDecksView select, #collectionEditor input, #collectionEditor select, #deckNameDialog input, #deckNameDialog select { min-height: 40px; min-width: 0; background: #0a1814; color: #f3eddf; border: 1px solid #647467; border-radius: 3px; padding: 7px 10px; font: inherit; font-size: 14px; }
#myDecksView button:not(:disabled):hover, #collectionEditor button:not(:disabled):hover, #deckNameDialog button:not(:disabled):hover { color: #172019; background: #f0eee7; }
#myDecksView :focus-visible, #collectionEditor :focus-visible, #deckNameDialog :focus-visible { outline: 2px solid #e6c784; outline-offset: 2px; }
#myDecksView button:disabled, #collectionEditor button:disabled { opacity: .45; cursor: not-allowed; }
#deckRecoverButton[hidden], #deckNameDialog [hidden], #collectionSave[hidden] { display: none; }
@media (max-width: 900px) {
  #libraryOverlay.deck-collection-mode .library-panel { padding: 10px 12px; height: calc(100dvh - 12px); }
  .deck-collection-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: 12px; }
  #savedDeckList { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
  .saved-deck-cover img { height: 108px; }
  .collection-editor-body { grid-template-columns: minmax(0, 1fr) 185px; gap: 10px; }
  #collectionCardGrid { grid-template-columns: repeat(auto-fill, minmax(133px, 1fr)); gap: 10px; }
  #collectionDeckCount { font-size: 13px; }
  #collectionDeckName { width: 160px; }
  #savedDeckDetail { padding-left: 10px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  #libraryOverlay.deck-collection-mode .library-header .eyebrow { display: none; }
  #libraryOverlay.deck-collection-mode .library-header h2 { font-size: 20px; }
  #libraryOverlay.deck-collection-mode .library-header { padding-bottom: 6px; }
  #libraryOverlay .collection-nav { padding: 5px 0; }
  #libraryOverlay .collection-nav button { min-height: 32px; padding: 4px 12px; }
  .deck-collection-toolbar, .deck-collection-filters { padding: 6px 0; gap: 8px; }
  #myDecksView input, #myDecksView select { min-height: 34px; }
  #deckActiveName { font-size: 15px; }
  #deckNewButton { min-height: 36px; padding: 6px 12px; }
  #collectionEditor[open] { padding: 9px; width: calc(100vw - 12px); height: calc(100dvh - 12px); max-height: calc(100dvh - 12px); }
  #collectionEditor header { padding-bottom: 5px; gap: 8px; }
  .collection-editor-tools { padding: 6px 0; gap: 5px; }
  #collectionEditor input, #collectionEditor select, #collectionEditorBack { min-height: 34px; height: 34px; }
  #collectionEditor header label { font-size: 0; }
  #collectionEditor header label input { font-size: 14px; }
  #collectionEditor footer { padding-top: 5px; gap: 6px; }
  #collectionEditor footer button { min-height: 36px; padding: 6px 12px; }
  .saved-deck-cover { flex-direction: row; text-align: left; padding: 6px 8px; }
  .saved-deck-cover img { width: 42px; height: 58px; }
  .saved-deck-cover span { font-size: 14px; }
  .saved-deck-meta { padding: 5px 8px; font-size: 11px; }
  .saved-deck-actions button { min-height: 34px; padding: 4px; }
  #collectionCardGrid .card { height: 420px; }
  #collectionCardGrid .card .card-art { height: 128px; min-height: 128px; }
  #deckLibraryNotice:not(:empty) { max-height: 32px; overflow: auto; padding: 3px 0; font-size: 12px; }
  #libraryOverlay .collection-nav button { min-width: 94px; }
  #deckNameDialog { max-height: calc(100dvh - 16px); overflow: auto; }
}
@media (max-width: 580px) {
  .deck-collection-layout, .collection-editor-body { grid-template-columns: minmax(0, 1fr); }
  #savedDeckDetail, #collectionDeckSummary { display: none; }
}
