/* One gallery for public decks, player libraries and official precons. */
.deck-library .page-heading{margin-bottom:1.25rem}
.deck-library-toolbar,.deck-library-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.deck-library-toolbar{justify-content:space-between;margin-bottom:1.4rem;gap:1rem}.deck-library-nav a{display:inline-flex;align-items:center;gap:.45rem;color:var(--mt-text-secondary);padding:.55rem .9rem;border-radius:.6rem;font-size:.82rem;font-weight:600;text-decoration:none}.deck-library-nav a:hover,.deck-library-nav a[aria-current]{color:var(--mt-primary);background:var(--mt-accent-soft)}.deck-library-toolbar>.btn{display:inline-flex;align-items:center;gap:.45rem}
.deck-library-filters{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(155px,1fr) minmax(155px,1fr) auto;align-items:end;gap:.7rem}.deck-library-filters>label{display:grid;gap:.3rem;color:var(--mt-text-secondary);font-size:.75rem;font-weight:600}.deck-library-filters .form-control,.deck-library-filters .form-select,.deck-library-filters .btn{min-height:2.8rem;font-size:.82rem;padding-block:.55rem}.deck-library-search{position:relative}.deck-library-search>i,.deck-library-search>[data-ui-action]{position:absolute;inset:50% auto auto .85rem;transform:translateY(-50%);color:var(--mt-text-secondary);pointer-events:none}.deck-library-search input{padding-left:2.45rem}
.deck-library-results{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:1.35rem 0 1rem;color:var(--mt-text-secondary);font-size:.82rem}.deck-library-results p{margin:0}.deck-library-results strong{color:var(--mt-text)}
.deck-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.deck-preview{display:flex;flex-direction:column;min-width:0;border:1px solid var(--mt-border);border-radius:1rem;overflow:hidden;background:var(--mt-surface);transition:border-color .18s,box-shadow .18s}.deck-preview:hover,.deck-preview:focus-within{border-color:var(--mt-primary);box-shadow:var(--mt-shadow-art)}
.deck-preview-visual{position:relative;display:flex;align-items:end;aspect-ratio:1;isolation:isolate;background:var(--mt-bg-secondary);overflow:hidden}.deck-preview-cover{position:absolute;inset:0;z-index:-2}.deck-preview-visual:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 22%,color-mix(in srgb,var(--mt-bg) 78%,transparent) 58%,var(--mt-bg) 100%)}.deck-preview-cover:focus-visible{outline:3px solid var(--mt-primary);outline-offset:-3px}.deck-preview-image{display:block;width:100%;height:100%;object-fit:cover}.deck-preview-visual.is-card-image .deck-preview-image{object-position:center 20%}.deck-preview-placeholder{display:grid;place-items:center;height:100%;color:var(--mt-primary);background:radial-gradient(ellipse at 70% 70%,var(--mt-accent-soft),transparent 70%)}.deck-preview-placeholder .game-icon{width:64px;height:64px}
.deck-preview-colors{position:absolute;top:.75rem;right:.75rem;display:flex;flex-wrap:wrap;gap:.25rem;max-width:calc(100% - 1.5rem);font-size:1rem}.deck-preview-colors>.ms{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;line-height:1;border-radius:50%;border:3px solid var(--mt-surface);box-shadow:0 2px 5px var(--mt-bg)}
.deck-preview-overlay{width:100%;min-width:0;padding:1rem;pointer-events:none}.deck-preview-overlay a,.deck-preview-overlay button{pointer-events:auto}.deck-preview-content{padding:.4rem 1rem 1rem}.deck-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:30px}.deck-preview-game{min-width:0;font-size:.68rem;color:var(--mt-text)}.deck-preview h2{font-size:1.1rem;line-height:1.35;font-weight:750;letter-spacing:-.02em;margin:.4rem 0 .7rem;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.deck-preview h2 a{color:var(--mt-text);text-decoration:none}.deck-preview h2 a:hover{color:var(--mt-primary)}
.deck-preview-facts{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-bottom:0}.deck-preview-format{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--mt-text);background:var(--mt-bg-secondary);border-radius:.4rem;padding:.3rem .5rem}.deck-info-icon{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:32px;min-height:32px;padding:.25rem .4rem;border:1px solid var(--mt-border);border-radius:.45rem;color:var(--mt-text-secondary);background:var(--mt-bg-secondary);font-size:.82rem;cursor:help}.deck-info-icon:hover,.deck-info-icon:focus-visible{color:var(--mt-primary);border-color:var(--mt-primary)}
.deck-library .game-icon{width:19px;height:19px;vertical-align:middle}.deck-preview-details{padding-top:.35rem;font-size:.8rem;color:var(--mt-text-secondary)}.deck-preview-details p{margin:.5rem 0 0;line-height:1.5}.deck-preview-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.deck-preview-meta a{display:inline-flex;align-items:center;gap:.4rem;color:var(--mt-text-secondary);text-decoration:none;overflow-wrap:anywhere}.deck-preview-meta a:hover{color:var(--mt-primary)}
.deck-preview-commanders,.deck-preview-set,.deck-preview-release,.deck-preview-validity{display:flex;align-items:flex-start;gap:.45rem}.deck-preview-commanders>.game-icon,.deck-preview-set>.game-icon,.deck-preview-release>.game-icon,.deck-preview-validity>.game-icon{flex:none;margin-top:.1rem}.deck-preview-set>span{min-width:0;overflow-wrap:anywhere}.deck-preview-set small{display:block;font-size:.7rem;color:var(--mt-text-disabled)}.deck-preview-set img{object-fit:contain;flex:none;margin-top:.1rem}.deck-preview-product{font-size:.75rem}.deck-preview-validity{font-size:.76rem}.deck-preview-validity.is-valid{color:var(--mt-success)}.deck-preview-validity.is-invalid{color:var(--mt-danger)}.deck-preview-validity.is-unchecked{color:var(--mt-warning)}
.deck-preview-stats{margin-top:auto;padding:.6rem 1rem;border-top:1px solid var(--mt-border);background:var(--mt-bg-secondary)}.deck-preview-stats .content-actions{margin:0;font-size:.8rem}.deck-library-empty{padding:3rem 1rem;text-align:center;border-top:1px solid var(--mt-border)}.deck-library-empty>i{display:block;color:var(--mt-primary);font-size:2.25rem;margin-bottom:1rem}.deck-library-empty h2{font-size:1.2rem}.deck-library-empty p{color:var(--mt-text-secondary);font-size:.85rem}.deck-library-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2.25rem;font-size:.8rem;color:var(--mt-text-secondary)}
.deck-gallery-tooltip{position:fixed;z-index:1090;max-width:min(22rem,calc(100vw - 16px));padding:.6rem .75rem;border:1px solid var(--mt-border);border-radius:.55rem;background:var(--mt-bg-secondary);color:var(--mt-text);font-size:.8rem;line-height:1.45;box-shadow:0 5px 20px #0005;pointer-events:none;overflow-wrap:anywhere}.deck-gallery-tooltip[hidden]{display:none}
@media(max-width:991.98px){.deck-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.deck-preview-grid{grid-template-columns:1fr}.deck-library-toolbar{align-items:stretch}.deck-library-nav a{padding:.55rem .65rem}.deck-preview-overlay{padding:1rem}.deck-library-filters{grid-template-columns:1fr}.deck-info-icon{min-height:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.deck-preview{transition:none}}

@media(min-width:1200px){
 .deck-preview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 .deck-preview-overlay{padding:.7rem}
 .deck-preview h2{font-size:.95rem;margin:.3rem 0 .5rem;-webkit-line-clamp:2}
 .deck-preview-game .tcg-brand{gap:.35rem}
 .deck-preview-game .tcg-brand img{width:2.8rem;height:1.4rem}
 .deck-preview-facts{gap:.35rem;flex-wrap:nowrap}
 .deck-preview-format,.deck-preview-count{font-size:.7rem;white-space:nowrap}
 .deck-preview-format{padding:.25rem .35rem}
 .deck-preview-content,.deck-preview-stats{padding-inline:.7rem}
}

.deck-library .deck-preview-placeholder .game-icon{width:64px;height:64px}
@media(max-width:575.98px){.deck-library .precon-filters{grid-template-columns:1fr}}
