﻿/* Pokémon picker (free slot) */
.poke-picker { width: min(38rem, 94vw); max-height: min(40rem, 90vh); display: flex; flex-direction: column; }
.poke-picker .modal-header small { display: block; margin-top: .2rem; color: #94a3b8; font: 700 .6rem var(--font-pixel-ui); letter-spacing: .06em; }
.pp-controls { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem 0; }
.pp-controls .pp-search { flex: 1; }
.pp-filter { position: relative; flex: none; }
.pp-filter .mart-filter-menu { z-index: 30; right: 0; left: auto; min-width: 12rem; }
.pp-search { display: flex; align-items: center; gap: .5rem; padding: .45rem .7rem; border: 1px solid #2e4063; border-radius: .5rem; background: #0d1424; }
.pp-search:focus-within { border-color: #fbbf24; box-shadow: 0 0 0 3px #fbbf2426; }
.pp-search svg { width: 1rem; height: 1rem; fill: none; stroke: #94a3b8; stroke-width: 2; flex: none; }
.pp-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #e2e8f0; font: 600 .85rem var(--font-clean, inherit); }
.pp-sort { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.pp-sort button { display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .4rem; border-radius: .45rem; border: 1px solid #2e4063; background: #182238; color: #94a3b8; font: 800 .68rem var(--font-pixel-ui); cursor: pointer; transition: all .15s; }
.pp-sort button:hover { color: #e2e8f0; border-color: #4a6290; }
.pp-sort button.is-on { border-color: #fbbf24; background: #fbbf2418; color: #fde68a; box-shadow: 0 0 .6rem #fbbf2430; }
.pp-sort i { font-style: normal; min-width: .8rem; color: #fbbf24; }
.pp-count { padding: .5rem 1rem .3rem; color: #94a3b8; font: 700 .62rem var(--font-pixel-ui); letter-spacing: .05em; }
.pp-list { flex: 1; min-height: 0; overflow-y: auto; display: grid; gap: .35rem; align-content: start; padding: 0 1rem 1rem; scrollbar-width: thin; scrollbar-color: #2e4063 transparent; }
.pp-row { display: grid; grid-template-columns: 3rem 1fr auto 5.2rem 4rem; align-items: center; gap: .6rem; padding: .25rem .7rem .25rem .4rem; border: 1px solid #2e4063; border-left: 3px solid var(--r); border-radius: .5rem; background: linear-gradient(90deg, color-mix(in srgb, var(--r) 12%, #182238), #182238 60%); color: #e2e8f0; text-align: left; cursor: pointer; transition: transform .12s, border-color .15s, box-shadow .15s; }
.pp-row:hover { transform: translateX(3px); border-color: var(--r); box-shadow: 0 0 .8rem color-mix(in srgb, var(--r) 30%, transparent); }
.pp-row img { width: 2.8rem; height: 2.8rem; object-fit: contain; image-rendering: pixelated; }
.pp-name strong { display: block; font: 800 .82rem var(--font-pixel-ui); text-transform: capitalize; }
.pp-name small { color: #64748b; font-size: .62rem; font-weight: 700; }
.pp-types { display: flex; gap: .2rem; }
.pp-types .game-type-symbol { width: 1.3rem; height: auto; }
.pp-rarity { font-style: normal; text-align: center; padding: .12rem .3rem; border-radius: .3rem; border: 1px solid color-mix(in srgb, var(--r) 70%, transparent); background: color-mix(in srgb, var(--r) 18%, #0d1424); color: color-mix(in srgb, var(--r) 55%, #fff); font: 800 .58rem var(--font-pixel-ui); }
.pp-level { text-align: right; color: #fde68a; font: 800 .75rem var(--font-pixel-ui); }
.pp-empty { margin: 1.5rem 0; text-align: center; color: #94a3b8; }

/* Meu Time: drag from the catalog into a free slot */
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card[draggable="true"] { cursor: grab; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.is-dragging { opacity: .45; transform: scale(.96); }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot.is-drop { border-color: #fbbf24; border-style: solid; background: #fbbf2414; box-shadow: 0 0 1.2rem #fbbf2440, inset 0 0 1.4rem #fbbf2418; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot.is-drop .empty-slot-plus { transform: scale(1.25); background: #fbbf24; color: #1c1203; }

/* Bottom fade so the list never ends abruptly */
.pp-list { padding-bottom: 2.6rem; -webkit-mask-image: linear-gradient(#000 calc(100% - 2.8rem), transparent); mask-image: linear-gradient(#000 calc(100% - 2.8rem), transparent); }

/* Backpack-style filter bar, fixed modal size */
.poke-picker { height: min(40rem, 92vh); }
.pp-controls { flex-direction: column; align-items: stretch; gap: .55rem; padding: .45rem 1rem .3rem; flex: none; }
.pp-bar { --shelf-accent: #38bdf8; display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .35rem .4rem; margin: 0 -.4rem; }
.pp-bar .pp-count { padding: 0; color: #8ea4c2; font: 700 .68rem var(--font-pixel-ui); letter-spacing: .05em; }
.pp-filters { display: flex; gap: .5rem; }
.pp-filter .mart-filter-btn { min-height: 2.2rem; white-space: nowrap; }
.pp-filter .mart-filter-btn b { white-space: nowrap; }
.pp-controls .pp-search { flex: none; }
.pp-list { padding-top: .3rem; }
.pp-empty { padding: 2rem 0; }
.mp-fsym { display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; }
.mp-fsym .game-type-symbol { width: 1.3rem; height: 1.3rem; object-fit: contain; }
.pp-filter .mart-filter-menu { max-height: 16rem; overflow-y: auto; min-width: 13rem; }
.pp-filters .pp-filter:first-child .mart-filter-menu { left: 0; right: auto; }
