/* A single artwork tile, regardless of its containing grid or library row. */
.unified-card-tile { position: relative; isolation: isolate; padding: 0; }
.unified-card-tile .deck-card-image { border-radius: inherit; }
.unified-card-tile [hidden], .card-actions-dialog [hidden], .card-actions-page [hidden], [data-card-actions-inline] [hidden] { display: none !important; }
.card-tile-controls {
    position: absolute; z-index: 2; top: 18%; left: .4rem; right: .4rem; pointer-events: none;
    display: flex; flex-direction: column; align-items: flex-end; gap: .3rem;
}
.card-tile-control, .card-tile-count {
    display: grid; place-items: center; box-sizing: border-box;
    min-width: 2.75rem; min-height: 2.75rem; margin: 0; padding: .4rem;
    border: 1px solid rgba(255,255,255,.34); border-radius: .65rem;
    background: rgba(15,19,25,.94); color: var(--paper-100, #f5f7fa);
    box-shadow: 0 2px 8px rgba(0,0,0,.25); text-decoration: none;
    font: 700 .95rem/1 var(--font-body, sans-serif); font-variant-numeric: tabular-nums;
}
.card-tile-control { width: 2.75rem; height: 2.75rem; cursor: pointer; }
.card-tile-controls > .card-tile-control { pointer-events: auto; }
.card-tile-controls > .card-face-switch { position: absolute; top: 0; left: 0; }
.card-tile-control svg { width: 1.3rem; height: 1.3rem; }
.card-tile-control:hover, .card-tile-control:focus-visible { background: #254057; border-color: var(--blue-200, #9cd9ff); }
.card-tile-control:focus-visible { outline: 3px solid var(--blue-200, #9cd9ff); outline-offset: 1px; }
.card-tile-count { min-height: 2rem; padding-inline: .5rem; pointer-events: none; }
.unified-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); align-items: start; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.unified-card-row > .unified-card-tile { flex: 0 0 12rem; }

.card-actions-dialog {
    width: min(34rem, calc(100vw - 1.25rem)); max-width: none; max-height: calc(100dvh - 2rem);
    margin: auto; padding: 0; overflow: hidden; color: var(--paper-100, #f5f7fa);
    background: #20242a; border: 1px solid var(--line-strong, #4b525b); border-radius: 1.2rem;
    box-shadow: 0 1.5rem 6rem #0009;
}
.card-actions-dialog::backdrop { background: rgba(5,12,22,.76); backdrop-filter: blur(5px); }
.card-actions-dialog[open] { display: flex; flex-direction: column; }
.card-actions-dialog-bar { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: .6rem; padding: .7rem 1rem; border-bottom: 1px solid var(--line, #394149); }
.card-actions-dialog-bar h2 { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 1.05rem; line-height: 1.35; overflow-wrap: anywhere; }
.card-actions-dialog-bar [data-card-actions-close] { flex: 0 0 2.75rem; }
.card-actions-dialog-bar button { min-width: 2.75rem; min-height: 2.75rem; padding: .4rem .65rem; background: #272d35; color: var(--paper-100, #f5f7fa); border: 1px solid var(--line-strong, #4b525b); border-radius: .6rem; cursor: pointer; }
.card-actions-dialog-body { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 1rem; }
.card-actions-feedback { margin: 0; padding: 0; font-size: .75rem; line-height: 1.25; text-align: right; color: var(--blue-200, #9cd9ff); flex: 0 0 auto; max-width: 5.5rem; }
.card-actions-feedback:empty { display: none; }
.card-actions-feedback.is-error { color: #ffb1b1; }
.card-actions-page { width: min(100%, 38rem); margin-inline: auto; }
[data-card-actions-content] { min-width: 0; }
[data-card-actions-content] h1, [data-card-actions-content] h2 { font-size: 1.3rem; margin: 0 0 .45rem; overflow-wrap: anywhere; }
[data-card-actions-content] h3 { font-size: .95rem; margin: 0 0 .5rem; }
[data-card-actions-content] p { overflow-wrap: anywhere; }
[data-card-actions-content] form { margin: 0; min-width: 0; }
.card-actions-dialog .card-actions-heading h2 { display: none; }
.card-actions-heading p { margin: 0 0 .6rem; }
[data-card-actions-content] input, [data-card-actions-content] select { min-width: 0; max-width: 100%; }
[data-card-actions-content] .button { min-height: 2.75rem; padding: .55rem .8rem; font-size: .88rem; }
[data-card-actions-content] section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line, #394149); }
[data-card-actions-inline] { min-width: 0; }
.card-actions-inline-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
[data-card-actions-content] .card-actions-inline-heading h2 { margin: 0; }
[data-card-actions-inline] .card-actions-chip-row { margin-top: .75rem; }
.card-actions-art { position: relative; isolation: isolate; overflow: hidden; border-radius: .8rem; aspect-ratio: 1.8; background: #171b20; }
.card-actions-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card-actions-art [data-card-actions-art-fallback] { display: grid; place-items: center; height: 100%; padding: 1rem; text-align: center; color: var(--paper-400); }
.card-actions-chip-row, .card-action-finishes, .card-action-zones { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.card-actions-chip-row { margin-block: .85rem; }
.card-action-finishes { margin: 0; }
.action-chip, .favorite-chip.button, .favorite-chip.favorite-deck-remove {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    min-height: 2.75rem; padding: .45rem .8rem; border: 1px solid var(--line-strong, #4b525b); border-radius: 2rem;
    color: var(--paper-300, #cad2dc); background: #272c33; box-shadow: none; text-decoration: none;
    font: 600 .83rem/1.2 var(--font-body, sans-serif); cursor: pointer;
}
.action-chip.is-active, .favorite-chip.is-active, .action-chip[aria-current="true"] { color: var(--blue-200, #9cd9ff); background: #21415b; border-color: #70b7e7; }
.action-chip:hover:not(:disabled), .favorite-chip:hover { border-color: #9cd9ff; }
.action-chip:focus-visible, .favorite-chip:focus-visible { outline: 3px solid #9cd9ff; outline-offset: 2px; }
.action-chip:disabled { opacity: .45; cursor: not-allowed; }
[data-quantity-row] { min-width: 0; margin: 0; }
.card-action-quantity-controls { display: grid; grid-template-columns: 2.75rem 3rem 2.75rem; gap: .2rem; align-items: start; }
.card-action-quantity-controls [data-quantity-set] { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
.card-action-quantity-controls [data-quantity-commit] { flex-direction: column; }
.card-actions-printing, .card-actions-metadata { font-size: .85rem; color: var(--paper-400); }
.card-actions-metadata p { margin: .3rem 0; }
.card-actions-context-quantities { display: grid; gap: .4rem; margin: .6rem 0; font-size: .88rem; }
.card-actions-context-quantities > div { display: flex; justify-content: space-between; gap: .75rem; }
.card-actions-context-quantities dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.card-actions-target-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: start; }
.card-actions-target-row:has([data-card-target-selector][open]) { margin-bottom: 18.5rem; }
.card-target-selector { min-width: 0; }
.card-target-selector > summary { display: flex; align-items: center; justify-content: space-between; gap: .3rem; min-height: 2.75rem; padding: .3rem .6rem; border: 1px solid var(--line-strong, #4b525b); border-radius: .65rem; list-style: none; cursor: pointer; background: #272c33; }
.card-target-selector > summary::-webkit-details-marker { display: none; }
.card-target-selector summary > span:first-child { min-width: 0; }
.card-target-selector summary small { display: block; color: var(--paper-400); font-size: .65rem; line-height: 1.2; }
.card-target-selector summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; line-height: 1.35; }
.card-target-chevron { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; color: var(--blue-200, #9cd9ff); transition: transform .15s ease; }
.card-target-selector[open] > summary .card-target-chevron { transform: rotate(180deg); }
.card-target-panel { position: absolute; left: 0; right: 0; top: 3.25rem; z-index: 5; max-height: 18rem; overflow-y: auto; overscroll-behavior: contain; background: #191f26; border: 1px solid #587087; border-radius: .7rem; box-shadow: 0 .8rem 2rem #0006; padding: .65rem; }
[data-card-actions-search] { display: flex; gap: .4rem; position: sticky; top: -.65rem; background: #191f26; padding-block: .2rem .5rem; z-index: 1; }
[data-card-actions-search] input[type=search] { width: 100%; min-height: 2.75rem; padding: .55rem .7rem; font-size: 1rem; }
.card-target-group:has(ul:empty) { display: none; }
[data-card-actions-content] .card-target-group h3 { color: var(--paper-400); margin: .6rem .5rem .2rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.card-target-group ul { padding: 0; margin: 0; list-style: none; }
.card-target-group a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 2.75rem; padding: .55rem; border-radius: .45rem; color: var(--paper-200, #e0e6ed); text-decoration: none; font-size: .85rem; overflow-wrap: anywhere; }
.card-target-group a:hover, .card-target-group a[aria-current=true] { background: #21415b; color: #9cd9ff; }
.card-action-zones { margin-top: .85rem; }
.card-action-selected-zone, .card-actions-unavailable { font-size: .8rem; color: var(--paper-400); }
.card-actions-cmc { display: grid; grid-template-columns: minmax(0, 1fr) 4.25rem auto; align-items: center; gap: .5rem; margin-top: 1.1rem !important; padding-top: 1rem; border-top: 1px solid var(--line, #394149); }
.card-actions-cmc label { font-size: .85rem; }
.card-actions-cmc input { min-height: 2.75rem; padding: .4rem; font-size: 1rem; text-align: center; }
.card-actions-cmc small { grid-column: 1 / -1; font-size: .75rem; color: var(--paper-400); }
.card-actions-page { padding: 1.2rem; }
[data-quantity-row] input[type="number"] { width: 3rem; min-height: 2.75rem; padding: .2rem; text-align: center; font-size: 1rem; font-variant-numeric: tabular-nums; appearance: textfield; }
[data-quantity-row] input::-webkit-inner-spin-button, [data-quantity-row] input::-webkit-outer-spin-button { appearance: none; margin: 0; }
[data-quantity-row] .quantity-button { min-width: 2.75rem; min-height: 2.75rem; }
[data-quantity-commit] { display: flex; gap: .3rem; }
.card-actions-list { display: grid; gap: .5rem; list-style: none; padding: 0; }
.card-actions-list form, .card-actions-list li { min-width: 0; }
.card-actions-list button { width: 100%; text-align: left; overflow-wrap: anywhere; }
.card-actions-face-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.card-actions-face-images img { width: 100%; height: auto; }
.card-actions-dialog .card-actions-face-images { display: none; }
@media (max-width: 40rem) {
    .unified-card-grid, .deck-card-grid:has(.unified-card-tile) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
    .card-tile-controls { left: .25rem; right: .25rem; gap: .25rem; }
    .card-actions-dialog { max-height: calc(100dvh - 1rem); border-radius: .9rem; }
    .card-actions-dialog-body { padding: .85rem; }
}
