/* Catalog-only layout; keep the compact card browser on desktop and mobile. */
body.catalog-page { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.dark body.catalog-page { color: #e2e8f0; }
.catalog-page .catalog-header { flex-shrink: 0; }
.catalog-page .catalog-header-inner { width: 100%; max-width: 430px; padding: 12px 16px; }
.catalog-page .catalog-brand { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.catalog-page .catalog-brand-title { font-size: 16px; font-weight: 700; }
.catalog-page .catalog-nav { display: flex; gap: 16px; margin-top: 8px; overflow-x: auto; white-space: nowrap; padding-bottom: 2px; font-size: 12px; }
.catalog-page .catalog-layout { display: flex; justify-content: center; width: 100%; flex: 1; min-height: 0; }
.catalog-page .catalog-shell { width: 100%; max-width: 430px; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; }
.catalog-page .catalog-search { flex-shrink: 0; }
.catalog-page #filterPanelBody { max-height: 35vh; max-height: 35dvh; overflow-y: auto; }
/* Search and results share the shell scroll area so cards can use its full height. */
.catalog-page .catalog-results { flex-shrink: 0; padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
.catalog-page .catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px; }
.catalog-page #searchEmptyState { grid-column: 1 / -1; }
.catalog-page #deckFab { right: max(20px, calc((100vw - 430px) / 2 + 20px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); width: auto; min-width: 112px; padding: 0 16px; gap: 6px; font-size: 14px; }
.catalog-page #deckTooltip { right: max(16px, calc((100vw - 430px) / 2 + 16px)); }
.catalog-page #textSearch { font-size: 16px; }
.catalog-page #filterPanelBody select { min-width: 0; min-height: 32px; }
.catalog-page #mobileCivTags button { min-height: 32px; }
.catalog-page [role="button"]:focus-visible, .catalog-page button:focus-visible, .catalog-page a:focus-visible, .catalog-page select:focus-visible { outline: 2px solid #6366f1; outline-offset: 2px; }
.dark .catalog-page .bg-white, .dark .catalog-page .bg-gray-50 { background-color: #0f172a; }
.dark .catalog-page .bg-gray-100, .dark .catalog-page .bg-slate-50 { background-color: #1e293b; }
.dark .catalog-page .text-gray-900, .dark .catalog-page .text-gray-700, .dark .catalog-page .text-slate-700 { color: #e2e8f0; }
.dark .catalog-page .text-gray-600, .dark .catalog-page .text-gray-500, .dark .catalog-page .text-slate-500 { color: #cbd5e1; }
.dark .catalog-page .text-gray-400, .dark .catalog-page .text-gray-300 { color: #94a3b8; }
.dark .catalog-page .border-gray-100, .dark .catalog-page .border-gray-200, .dark .catalog-page .border-slate-100 { border-color: #334155; }
.dark .catalog-page select { color: #e2e8f0; background-color: #1e293b; border-color: #475569; }
.dark .catalog-page #todayPick { background: #1e1b4b; border-color: #3730a3; }
.dark .catalog-page #todayPick .text-gray-800 { color: #e2e8f0; }
.dark .catalog-page #todayPick .text-indigo-400 { color: #a5b4fc; }
.dark .catalog-page .rarity-SR { color: #fcd34d; }
.dark .catalog-page .rarity-VR { color: #c4b5fd; }
.dark .catalog-page .rarity-R { color: #93c5fd; }
.dark .catalog-page .rarity-U { color: #6ee7b7; }
.dark .catalog-page .rarity-C { color: #cbd5e1; }
