/* Shared material system. Does not alter card rules or mobile battle geometry. */
:root {
  --ui-surface: #1c1c20;
  --ui-raised: #26262b;
  --ui-line: #ffffff17;
  --ui-line-strong: #615956;
  --ui-text: #efebe4;
  --ui-muted: #a9a5a4;
  --ui-metal: #c8b99d;
  --ui-accent: #ad5965;
  --ui-positive: #90d0bb;
  --ui-display: "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;
}
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckDetailsDialog, #deckCodeDialog, #battleJournal, #settingsOverlay, #guideOverlay, #cardInspector) { color-scheme: dark; letter-spacing: 0; }
.theme-feijin :is(#libraryOverlay, #deckBuilderOverlay, #cardInspector, #battleJournal, #remainingDeckDialog, #phase1RewardDialog, #settingsOverlay, #guideOverlay) { --atelier-panel: #1c1c20; --atelier-control: #2c2b30; --atelier-ink: #efebe4; }
:is(#libraryOverlay, #deckBuilderOverlay, #settingsOverlay, #guideOverlay) { background: #0b0b0eda; backdrop-filter: blur(8px); }
:is(#libraryOverlay .library-panel, #deckBuilderOverlay .library-panel, .settings-panel, .guide-panel, #battleJournal, #collectionEditor, #deckNameDialog, #deckDetailsDialog, #deckCodeDialog) {
  background: var(--ui-surface); color: var(--ui-text); border: 1px solid var(--ui-line-strong); box-shadow: 0 24px 90px #0009; border-radius: 6px;
}
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckDetailsDialog, #deckCodeDialog, #battleJournal, #settingsOverlay, #guideOverlay) button {
  color: var(--ui-text); background: #2c2b30; border-color: var(--ui-line-strong); border-radius: 4px; font-weight: 500; transition: background-color .15s, border-color .15s;
}
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckDetailsDialog, #deckCodeDialog, #battleJournal, #settingsOverlay, #guideOverlay) button:not(:disabled):hover { color: #fff; background-color: #443b3e; border-color: var(--ui-metal); }
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckCodeDialog) .primary-button { color: #fff4ee; background: #783945; border-color: #b77a7e; box-shadow: inset 0 1px #ffffff14; }
:is(#libraryOverlay, #collectionEditor, #deckNameDialog, #deckCodeDialog, #battleJournal, #settingsOverlay, #guideOverlay) :focus-visible { outline: 2px solid var(--ui-metal); outline-offset: 3px; }
:is(#libraryOverlay, #collectionEditor, #deckNameDialog, #deckCodeDialog) button:disabled { opacity: .4; cursor: not-allowed; }
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckCodeDialog) :is(input:not([type="checkbox"]), select, textarea) { background: #121215; color: var(--ui-text); border: 1px solid var(--ui-line-strong); border-radius: 4px; font-size: 13px; }
:is(#libraryOverlay, #deckBuilderOverlay, #collectionEditor, #deckNameDialog, #deckCodeDialog, #battleJournal, #settingsOverlay, #guideOverlay) { scrollbar-color: #6e6363 #19191c; scrollbar-width: thin; }
:is(#libraryOverlay, #deckBuilderOverlay, #guideOverlay, #settingsOverlay) .library-header { border-bottom: 1px solid var(--ui-line); }
:is(#libraryOverlay, #deckBuilderOverlay, #guideOverlay, #settingsOverlay) h2 { font-family: var(--ui-display); font-weight: 500; color: var(--ui-text); }
:is(#libraryOverlay, #deckBuilderOverlay, #guideOverlay, #settingsOverlay) .eyebrow { color: var(--ui-metal); letter-spacing: 0; font-size: 10px; }
#libraryOverlay .collection-nav { gap: 4px; }
.theme-feijin #libraryOverlay .library-header { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px 0; }
.theme-feijin #libraryOverlay .library-header::after { content: none; }
.theme-feijin #libraryOverlay .library-header :is(h2, .eyebrow) { letter-spacing: 0; }
.theme-feijin #libraryOverlay .library-header h2 { font-size: 24px; }
.theme-feijin #libraryOverlay #closeLibraryButton { width: 38px; height: 38px; min-height: 38px; padding: 8px; flex: 0 0 38px; background: transparent; border: 1px solid var(--ui-line-strong); }
#closeLibraryButton svg { width: 20px; height: 20px; }
#libraryOverlay .collection-nav button { min-width: 104px; background: transparent; color: var(--ui-muted); border: 0; border-radius: 0; }
#libraryOverlay .collection-nav [aria-pressed="true"] { color: var(--ui-text); background: #ffffff06; box-shadow: inset 0 -2px var(--ui-accent); }
#libraryOverlay.deck-collection-mode .library-panel { width: min(1560px, 100%); height: calc(100dvh - 40px); max-height: calc(100dvh - 40px); padding: 8px 28px 24px; }
#libraryOverlay.deck-collection-mode .library-panel > #deckPresetsView:not([hidden]) { display: flex; }
#deckPresetsView[hidden], #myDecksView[hidden] { display: none; }
.deck-collection-toolbar { padding: 24px 0 18px; }
.deck-collection-toolbar button { display: inline-flex; gap: 6px; align-items: center; justify-content: center; min-height: 40px; }
.deck-collection-toolbar svg { width: 17px; height: 17px; }
#deckActiveName { font-size: 19px; }
#deckActiveStats, #deckCollectionCount { color: var(--ui-muted); font-size: 12px; }
.deck-active-badge { color: var(--ui-positive); font-size: 11px; }
.deck-draft-badge { color: #e6b983; }
.deck-collection-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 26px; }
#savedDeckList { grid-template-columns: repeat(auto-fill, minmax(208px, 1fr)); gap: 18px; padding: 2px 10px 20px 2px; }
.saved-deck { background: #252429; border: 1px solid var(--ui-line); border-radius: 6px; transition: border-color .18s; }
.saved-deck.is-selected { border-color: var(--ui-metal); box-shadow: 0 0 0 1px #c8b99d28; }
.saved-deck:hover { border-color: #9b8787; }
#libraryOverlay .saved-deck-cover { background: transparent; padding: 0; gap: 0; border-radius: 0; color: var(--ui-text); align-items: stretch; }
.deck-artwork { height: 210px; width: 100%; padding: 12px 12px 0; border-bottom: 1px solid #ffffff08; overflow: hidden; }
.saved-deck-cover img { height: 100%; width: 100%; filter: drop-shadow(0 6px 8px #0008); }
.saved-deck-cover > span { padding: 14px 14px 2px; text-align: left; font-size: 17px; min-height: 46px; }
.saved-deck-meta { padding: 8px 14px 16px; font-size: 11px; color: var(--ui-muted); }
.saved-deck-meta small { width: 100%; color: var(--ui-metal); }
.saved-deck-meta strong { font-size: 11px; font-weight: 500; }
.saved-deck-actions { border-color: var(--ui-line); }
#libraryOverlay .saved-deck-actions button { background: #ffffff03; border-radius: 0; font-size: 12px; border-right: 1px solid var(--ui-line); }
#savedDeckDetail { padding: 10px 0 14px 22px; border-color: var(--ui-line); }
#savedDeckDetail h3, #deckDetailsBody h3 { font-family: var(--ui-display); font-size: 22px; font-weight: 500; margin: 8px 0; }
.workshop-kicker { color: var(--ui-metal); font-size: 11px; }
.deck-detail-status { color: var(--ui-muted); line-height: 1.6; }
.deck-detail-actions { gap: 5px; padding: 14px 0; }
.deck-detail-actions button { font-size: 12px; min-height: 34px; padding: 6px 9px; }
.deck-cost-bin { color: var(--ui-muted); }
.deck-cost-bin i { background: #987779; border-color: #d3b7a5; }
.deck-cost-bin small { color: var(--ui-metal); }
.deck-composition { display: flex; margin-top: 14px; padding: 12px 0; border-block: 1px solid var(--ui-line); }
.deck-composition > span { flex: 1; display: grid; gap: 4px; text-align: center; border-right: 1px solid var(--ui-line); }
.deck-composition > span:last-child { border: 0; }
.deck-composition b { font-size: 18px; color: var(--ui-text); font-weight: 500; }
.deck-composition small { font-size: 10px; color: var(--ui-muted); }
.deck-detail-rows h4, #collectionDeckSummary h4 { color: var(--ui-metal); font-size: 12px; font-weight: 500; }
.deck-summary-line { display: flex; align-items: stretch; border-bottom: 1px solid #ffffff0b; min-width: 0; }
:is(#libraryOverlay, #collectionEditor, #deckDetailsDialog) .deck-summary-row { display: flex; gap: 7px; align-items: center; justify-content: start; background: transparent; padding: 4px 0; border: 0; border-radius: 0; min-height: 44px; min-width: 0; font-size: 12px; }
.deck-summary-row img { width: 27px; height: 36px; object-fit: contain; flex-shrink: 0; }
.deck-summary-row img[hidden] { display: none; }
.deck-row-cost { width: 20px; text-align: center; color: #a1d4ce; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.deck-summary-row .deck-row-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.deck-row-count { color: var(--ui-metal); font-size: 11px; font-weight: 500; flex-shrink: 0; }
#collectionEditor .deck-row-remove { align-self: center; width: 28px; height: 32px; min-height: 32px; padding: 5px; border: 0; background: transparent; }
.deck-row-remove > span:empty { display: none; }
#deckPresetsView { min-height: 0; flex: 1; overflow: auto; flex-direction: column; }
.preset-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 24px 0 18px; }
.preset-heading h3 { font-family: var(--ui-display); font-size: 24px; font-weight: 500; margin: 0; }
.preset-heading span { color: var(--ui-muted); font-size: 12px; }
#deckPresetGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.workshop-preset { min-width: 0; border-bottom: 1px solid var(--ui-line); padding-bottom: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.preset-art { width: 100%; height: 220px; display: flex; align-items: end; justify-content: center; overflow: hidden; margin-bottom: 10px; }
.preset-art img { object-fit: contain; width: 35%; height: 90%; filter: drop-shadow(0 6px 9px #0006); }
.preset-art img:nth-child(1) { transform: rotate(-9deg) translate(15px, 6px); }
.preset-art img:nth-child(2) { height: 100%; z-index: 1; }
.preset-art img:nth-child(3) { transform: rotate(9deg) translate(-15px, 6px); }
.workshop-preset :is(.workshop-kicker, h3, p) { width: 100%; margin: 0; }
.workshop-preset h3 { font-family: var(--ui-display); font-weight: 500; font-size: 22px; }
.workshop-preset p { color: var(--ui-muted); font-size: 13px; line-height: 1.7; min-height: 44px; }
.preset-size { color: var(--ui-metal); font-size: 12px; flex: 1; }
.workshop-preset button { font-size: 12px; min-height: 38px; padding: 8px 12px; }
.deck-missing-card { color: #efb8ad; padding: 8px 0; font-size: 12px; align-items: center; gap: 8px; }
.deck-missing-card .deck-row-name { min-width: 0; flex: 1; overflow-wrap: anywhere; }
#deckCodeDialog { width: min(700px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 24px; }
#deckCodeDialog::backdrop, #collectionEditor::backdrop, #deckNameDialog::backdrop, #deckDetailsDialog::backdrop, #battleJournal::backdrop { background: #08080be0; backdrop-filter: blur(6px); }
#deckCodeDialog header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
#deckCodeDialog h2, #deckNameDialog h2 { font-family: var(--ui-display); font-weight: 500; font-size: 24px; margin: 0 0 20px; }
#deckCodeDialog header button { width: 36px; height: 36px; padding: 8px; }
#deckCodeDialog svg { width: 18px; height: 18px; }
#deckCodeInput { display: block; width: 100%; height: min(400px, 52dvh); min-height: 120px; padding: 14px; font: 12px/1.7 Consolas, monospace; resize: vertical; margin-bottom: 12px; }
#deckCodeDialog footer { display: flex; justify-content: end; margin-top: 18px; }
#deckCodeStatus { color: #efb8ad; font-size: 13px; }
#collectionEditor[open] { width: min(1560px, calc(100vw - 28px)); height: calc(100dvh - 28px); max-height: calc(100dvh - 28px); padding: 20px 24px; }
#collectionEditor header, #collectionEditor footer, #collectionDeckSummary { border-color: var(--ui-line); }
#collectionEditor header { padding-bottom: 16px; }
#collectionEditor header label { color: var(--ui-muted); font-size: 12px; }
#collectionDeckCount { color: var(--ui-text); font-weight: 500; font-size: 15px; }
#collectionDraftState { color: var(--ui-metal); font-size: 11px; }
.editor-history { display: flex; gap: 4px; }
.editor-history button, .editor-display button { width: 36px; height: 36px; display: grid; place-items: center; padding: 7px; }
#collectionEditor .editor-history svg, .editor-display svg { width: 18px; height: 18px; }
#collectionRedo svg { transform: scaleX(-1); }
.collection-editor-scope .editor-display { margin-left: auto; }
#collectionEditor .editor-display button { min-height: 32px; height: 32px; padding: 6px; }
#collectionEditor [aria-pressed="true"] { background: #413036; color: #ffe8e5; border-color: #9c656a; }
.collection-editor-body { grid-template-columns: minmax(0, 1fr) 280px; gap: 22px; }
#collectionCardGrid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 18px; padding-top: 14px; }
#collectionCardGrid .card { height: 405px; padding: 10px; gap: 5px; background: #242429; border: 1px solid var(--ui-line); border-radius: 5px; box-shadow: none; }
#collectionCardGrid .card:hover { border-color: var(--ui-metal); background: #2c282d; transform: none; }
#collectionCardGrid .card .card-art { height: 190px; min-height: 190px; margin: 2px 0; }
#collectionCardGrid .card .card-name { color: var(--ui-text); }
#collectionCardGrid .card .card-type { color: var(--ui-metal); font-size: 10px; }
#collectionCardGrid .card .keywords { min-height: 18px; }
#collectionCardGrid .card .card-text { color: #d6d2cf; font-size: 11px; line-height: 1.6; }
#collectionEditor[data-display="effect"] #collectionCardGrid .card { height: 520px; }
#collectionEditor[data-display="effect"] #collectionCardGrid .card .card-art { height: 160px; min-height: 160px; }
#collectionEditor[data-display="effect"] #collectionCardGrid .card .card-text { overflow: auto; font-size: 12px; }
.collection-card-count strong { color: var(--ui-metal); font-size: 13px; font-weight: 500; }
#collectionSaveDraft[hidden] { display: none; }
#collectionSummaryToggle { display: none; }
#collectionCardGrid .card:not([data-kind="minion"]) .stats { visibility: hidden; }
#introOverlay.rebel-home .rebel-version { color: #dfd5ca; font-size: 12px; padding: 8px 10px; background: #121215a8; }
#introOverlay.rebel-home :is(.rebel-menu-item, .rebel-deck-copy strong) { letter-spacing: 0; }
/* All-card collection, legacy editors, card reading and settings. */
#libraryFilters, #libraryTerms { border-color: var(--ui-line); }
#libraryFilters label, #libraryResultCount { color: var(--ui-muted); }
#libraryTerms summary { color: var(--ui-metal); }
#libraryOverlay .library-tab { background: transparent; color: var(--ui-muted); border-color: var(--ui-line); border-radius: 0; }
#libraryOverlay .library-tab.active { background: #3c2e34; color: var(--ui-text); border-bottom: 2px solid var(--ui-accent); }
#libraryOverlay .library-card, #deckBuilderOverlay .deck-builder-card { background: #252429; border-color: var(--ui-line); color: var(--ui-text); }
#libraryOverlay .library-series-intro :is(h3, p) { color: var(--ui-text); }
#libraryOverlay .library-series-intro small, #libraryOverlay .card-text { color: #d0cac8; }
#libraryOverlay .keyword, #collectionEditor .keyword { background: #30332e; border-color: #807b5e; color: #e6d2a0; }
.theme-feijin #cardInspector { border-color: var(--ui-line-strong); background: #18181cf5; color: var(--ui-text); border-radius: 6px; box-shadow: 0 24px 90px #000b; }
.theme-feijin #cardInspector #inspectTitle { color: var(--ui-text); letter-spacing: 0; font-family: var(--ui-display); }
.theme-feijin #cardInspector .inspect-reading { background: transparent; }
#cardInspector::backdrop { background: #08080bdb; backdrop-filter: blur(8px); }
#cardInspector .inspect-back { background: transparent; border-color: var(--ui-line); }
#cardInspector .inspect-front { background: #101013; border-color: var(--ui-line); }
#cardInspector .inspect-meta { color: var(--ui-metal); font-size: 12px; }
#cardInspector h2 { color: var(--ui-text); font-family: var(--ui-display); font-weight: 500; }
#cardInspector .inspect-effect { color: #e1ddd7; line-height: 1.85; }
#cardInspector .inspect-keywords { border-color: var(--ui-line); }
#cardInspector .inspect-keywords dt { color: var(--ui-metal); }
#cardInspector .inspect-keywords dd { color: var(--ui-muted); }
#cardInspector .inspect-actions { border-color: var(--ui-line); background: #202024; }
#cardInspector .inspect-actions button { color: var(--ui-text); background: #333035; border-color: var(--ui-line-strong); }
#battleJournal { padding: 24px; width: min(960px, calc(100vw - 24px)); }
#battleJournal h2 { font-family: var(--ui-display); font-weight: 500; font-size: 24px; }
.journal-tabs { border-bottom: 1px solid var(--ui-line); padding-bottom: 8px; }
#battleJournal .journal-tabs button { border: 0; background: transparent; border-radius: 0; color: var(--ui-muted); }
#battleJournal .journal-tabs [aria-pressed="true"] { color: var(--ui-text); box-shadow: inset 0 -2px var(--ui-accent); }
#journalSummary { color: var(--ui-muted); }
#journalSearchRow { padding-bottom: 10px; }
#journalSearchRow[hidden] { display: none; }
#journalSearch { width: min(100%, 380px); min-height: 38px; background: #121215; color: var(--ui-text); border: 1px solid var(--ui-line-strong); border-radius: 4px; padding: 8px 12px; font-size: 13px; }
#journalContent { max-height: calc(100dvh - 295px); }
#remainingDeckDialog { background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-line-strong); box-shadow: 0 24px 90px #0009; border-radius: 6px; }
#remainingDeckDialog::backdrop { background: #08080bdb; backdrop-filter: blur(6px); }
#remainingDeckDialog header { background: var(--ui-surface); border-color: var(--ui-line); }
#remainingDeckDialog h2 { font-family: var(--ui-display); color: var(--ui-text); font-weight: 500; }
#remainingDeckDialog p { color: var(--ui-muted); }
#remainingDeckDialog .remaining-card { border-color: var(--ui-line); background: #252429; }
.battle-info-table :is(th, td), .battle-info-progress, .battle-info-fields, .battle-info-field, .journal-events li { border-color: var(--ui-line); }
.battle-info-table th { color: var(--ui-muted); }
#battleJournal .battle-info-table thead th { background: #29262b; color: var(--ui-metal); }
#battleJournal .battle-info-table tbody tr:nth-child(even) { background: #ffffff03; }
#battleJournal .battle-count-link { background: transparent; color: #aad5d0; border: 0; }
#battleJournal .battle-info-field { background: transparent; border-radius: 0; }
.battle-info-progress p, .battle-background-source { color: var(--ui-muted); }
.battle-scoreboard { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 8px 0 20px; }
.battle-score-side { padding: 12px 0; border-top: 2px solid #91bfb6; }
.battle-score-side[data-side="enemy"] { border-color: #c98086; }
.battle-score-side > header { margin-bottom: 10px; }
.battle-score-side h3 { margin: 0; font-family: var(--ui-display); font-size: 20px; font-weight: 500; }
.battle-score-side header small { color: var(--ui-metal); font-size: 11px; }
.battle-score-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.battle-score-metrics span { display: grid; gap: 4px; }
.battle-score-metrics b { font-size: 20px; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--ui-text); }
.battle-score-metrics small { color: var(--ui-muted); font-size: 11px; }
.battle-info-field img { width: 78px; height: 100px; flex-basis: 78px; }
.settings-panel .settings-row, .settings-panel .salon-settings, .guide-panel .flow-step, .guide-panel .guide-grid article { background: transparent; border-color: var(--ui-line); border-radius: 0; box-shadow: none; }
.settings-panel input[type="checkbox"] { accent-color: var(--ui-accent); }
.guide-panel .guide-grid article { border: 0; border-bottom: 1px solid var(--ui-line); padding: 20px 0; }
.guide-panel .guide-grid strong { color: var(--ui-metal); }
.guide-panel .guide-grid p, .guide-panel .flow-step small { color: #c3bebb; }
#changelogOverlay { background: #0b0b0eda; backdrop-filter: blur(8px); }
.theme-feijin #changelogOverlay .changelog-panel { background: var(--ui-surface); color: var(--ui-text); border: 1px solid var(--ui-line-strong); border-radius: 6px; box-shadow: 0 24px 90px #0009; }
#changelogOverlay .version-card { background: transparent; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; }
#changelogOverlay .changelog-list article { background: transparent; border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; box-shadow: none; padding: 20px 0; }
#changelogOverlay .changelog-list p { color: var(--ui-muted); }
#changelogOverlay .changelog-list span { color: var(--ui-metal); }
/* Combat accents stay quiet. Existing mobile hand/leader layouts remain in charge. */
.battle-layout .battle-status-strip { background: #1e1c20eb; border-color: #9d8a7355; box-shadow: 0 3px 12px #0005; color: #eee7de; }
.battle-layout .log-panel { background: #1a191edb; border-color: #9d8a7344; }
.battle-layout .log-panel h2 { color: #d7c6a7; }
.battle-layout .log-panel p { color: #d7d1cd; }
.battle-layout .battle-menu .top-actions { background: #211e24f5; border-color: #9d8a7366; }
.battle-layout #endTurn { border-color: #ccb088; box-shadow: inset 0 1px #ffffff30, 0 4px 14px #0006; }
.theme-feijin #resultOverlay { background: #09090ddd; backdrop-filter: blur(8px); }
.theme-feijin #resultPanel { background: #201e23f5; border: 1px solid #a89a82; border-radius: 6px; box-shadow: 0 24px 90px #000b; max-height: calc(100dvh - 24px); overflow: auto; }
.theme-feijin #resultPanel #resultTitle { font-family: var(--ui-display); font-weight: 500; font-size: 42px; letter-spacing: 0; color: #f0e1c6; }
.theme-feijin #resultPanel #resultSummary { color: var(--ui-muted); font-size: 14px; font-weight: 400; }
.theme-feijin #resultPanel button { background: #373038; border: 1px solid #817274; color: var(--ui-text); min-height: 40px; padding: 8px 16px; box-shadow: none; border-radius: 4px; }
.theme-feijin #resultPanel .primary-button { background: #783945; border-color: #b77a7e; }
.result-ledger { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #ffffff20; padding: 20px 0; margin: 22px 0; }
.result-ledger div { display: grid; gap: 8px; border-right: 1px solid #ffffff20; }
.result-ledger div:last-child { border: 0; }
.result-ledger strong { font-weight: 500; font-size: 25px; color: #e7dac7; }
.result-ledger span { font-size: 12px; color: #bdb4b4; }
@media (max-width: 1000px) {
  #libraryOverlay.deck-collection-mode .library-panel { padding: 8px 16px 14px; height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); }
  .deck-collection-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 16px; }
  #savedDeckList { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
  .deck-artwork { height: 170px; }
  .collection-editor-body { grid-template-columns: minmax(0, 1fr) 215px; gap: 14px; }
  #collectionCardGrid { grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 12px; }
  #collectionDeckCount { font-size: 12px; }
  #collectionDeckName { width: 165px; }
  #savedDeckDetail { padding-left: 12px; }
  #deckPresetGrid { gap: 18px; }
  .preset-art { height: 180px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  #libraryOverlay.deck-collection-mode .library-header { padding-bottom: 5px; }
  #libraryOverlay .collection-nav button { min-width: 80px; min-height: 32px; padding: 5px 9px; }
  .deck-collection-toolbar, .deck-collection-filters { padding: 6px 0; gap: 6px; }
  .deck-collection-toolbar button { min-height: 32px; font-size: 12px; padding: 6px 9px; }
  #deckActiveName { font-size: 14px; }
  #deckActiveStats { font-size: 10px; }
  #deckCollectionCount { font-size: 10px; }
  #collectionEditor[open] { padding: 9px 12px; width: calc(100vw - 12px); height: calc(100dvh - 12px); max-height: calc(100dvh - 12px); }
  #collectionEditor header { padding-bottom: 5px; gap: 8px; }
  #collectionEditor header label { font-size: 0; }
  #collectionDeckName { font-size: 13px; width: 145px; }
  .editor-history button { height: 32px; width: 32px; }
  #collectionEditor footer { padding-top: 6px; gap: 6px; }
  #collectionEditor footer button { min-height: 34px; padding: 6px 10px; }
  .deck-artwork { height: 90px; width: 66px; flex-shrink: 0; padding: 4px; }
  #libraryOverlay .saved-deck-cover { align-items: center; }
  .saved-deck-cover > span { padding: 8px; min-height: 0; font-size: 14px; }
  .saved-deck-meta { padding: 7px 10px; }
  .saved-deck-meta small { width: auto; }
  .preset-art { height: 154px; }
  .preset-heading { padding: 12px 0; }
  .result-ledger { padding: 10px 0; margin: 12px 0; }
}
@media (max-width: 580px) {
  .deck-collection-layout, .collection-editor-body { grid-template-columns: minmax(0, 1fr); }
  #savedDeckDetail, #collectionDeckSummary { display: none; }
  #libraryOverlay .collection-nav { width: 100%; order: 4; margin: 0; }
  #libraryOverlay .collection-nav button { flex: 1; min-width: 0; padding: 8px; }
  .deck-collection-toolbar { flex-wrap: wrap; }
  .deck-collection-toolbar > div { flex-basis: 100%; }
  .deck-collection-toolbar button { flex: 1; font-size: 12px; padding: 8px; }
  #savedDeckList { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-right: 0; }
  .deck-artwork { height: 175px; padding: 8px 4px 0; }
  .saved-deck-cover > span { font-size: 14px; }
  .saved-deck-meta { padding-inline: 10px; }
  .deck-collection-filters input { width: 100%; }
  .deck-collection-filters select { flex: 1; }
  #collectionEditor[open] { padding: 12px; }
  #collectionDeckName { width: 145px; }
  #collectionDeckCount { width: 100%; margin: 0; }
  #collectionDraftState { margin-left: auto; }
  .editor-history { margin-left: auto; }
  #collectionCardGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-right: 0; }
  #collectionCardGrid .card { padding: 7px; height: 390px; }
  #collectionCardGrid .card .card-art { height: 178px; min-height: 178px; }
  .collection-editor-tools { gap: 6px; }
  .collection-editor-tools > div { width: 100%; }
  .collection-editor-tools > div button { flex: 1; }
  #collectionCardSearch { flex-basis: 100%; }
  .collection-editor-tools select { flex: 1; }
  #collectionCardResults { width: 100%; order: 3; }
  #collectionSummaryToggle { display: block; min-height: 32px; font-size: 12px; padding: 5px 10px; }
  #collectionEditor.show-summary #collectionCardGrid { display: none; }
  #collectionEditor.show-summary #collectionDeckSummary { display: block; border-left: 0; padding-left: 0; }
  #collectionEditor footer { flex-wrap: wrap; gap: 6px; }
  #collectionEditorError { flex-basis: 100%; }
  #collectionEditor footer button { flex: 1; padding: 8px; font-size: 12px; }
  #deckPresetGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .preset-art { height: 148px; }
  .workshop-preset h3 { font-size: 18px; }
  .workshop-preset p { font-size: 12px; min-height: 65px; }
  .workshop-preset button { width: 100%; }
  .battle-scoreboard { gap: 14px; }
  .battle-score-side h3 { font-size: 17px; }
  .battle-score-metrics b { font-size: 17px; }
}
@media (max-width: 620px) and (max-height: 520px) and (orientation: landscape) {
  #collectionEditor[open] { padding: 8px; }
  #collectionEditor header { gap: 6px; flex-wrap: nowrap; }
  #collectionEditor header label { font-size: 0; }
  #collectionDeckName { width: 115px; }
  #collectionDeckCount { width: auto; margin-left: auto; font-size: 10px; }
  #collectionDraftState { display: none; }
  .editor-history { margin: 0; }
  .editor-history button, #collectionEditorBack { width: 28px; height: 30px; min-height: 30px; }
  .collection-editor-tools { flex-wrap: nowrap; gap: 4px; }
  .collection-editor-tools > div { width: auto; flex: none; }
  .collection-editor-tools > div button { padding: 5px; font-size: 11px; }
  #collectionCardSearch { flex: 1; width: 80px; min-width: 60px; }
  #collectionEditor .collection-editor-tools select { flex: 0 1 82px; width: 82px; font-size: 11px; padding: 4px; }
  .collection-editor-scope { flex-wrap: nowrap; gap: 5px; }
  #collectionCardResults { width: auto; order: 0; font-size: 10px; flex: 1; }
  .collection-editor-scope button { padding: 5px 6px; font-size: 11px; }
  #collectionEditor footer { flex-wrap: nowrap; padding-top: 5px; }
  #collectionEditor footer button { flex: none; font-size: 11px; min-height: 30px; padding: 5px 8px; }
  #collectionEditorError { flex: 1; font-size: 10px; }
  #collectionDeckSummary { max-height: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .saved-deck, :is(#libraryOverlay, #collectionEditor, #battleJournal) button { transition: none; }
}
