/* Pokedex: a reference library, collection bridge and form-aware comparison. */
.dex-filters{padding:1.4rem;margin-bottom:1.2rem}.dex-search-row{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.dex-search{flex:1;min-width:220px}.dex-search-row>label:not(.dex-search){min-width:210px}.dex-search-row>.button{margin-bottom:2px;min-height:44px}.dex-primary-filters{margin:1.1rem 0}.dex-extra-filters{padding:.85rem 0;border-top:1px solid var(--line)}.dex-extra-filters summary{font-weight:700;cursor:pointer;padding:.3rem 0}.dex-extra-filters[open]>.form-grid{padding-top:1rem}.dex-extra-filters .check-row{display:flex;align-items:center;gap:.6rem}.dex-extra-filters .check-row input{width:18px;min-height:18px}.dex-sort-row{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem}.dex-sort-row>label{min-width:130px;flex:1}.dex-layout-toggle{display:flex;gap:.3rem}.dex-layout-toggle .button{min-width:42px;padding:.65rem}.dex-layout-toggle [aria-pressed=true]{background:var(--accent);color:white}.dex-results-summary{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;padding:.7rem 0 1.4rem}.dex-results-summary>span{color:var(--muted);font-size:.8rem}.dex-results-summary .button{margin-left:auto}.dex-grid .dex-entry{cursor:default;position:relative;display:flex;flex-direction:column;min-width:0;padding:1rem;overflow:visible}.dex-card-meta{display:flex;align-items:center;justify-content:space-between;min-height:24px}.dex-card-meta .dex-number,.dex-card-meta .favorite-button{position:static}.dex-card-meta .favorite-button{width:30px;height:30px;padding:0;font-size:1.2rem;border:0;background:none;color:var(--muted)}.dex-card-meta .favorite-button.selected{color:var(--coral)}.dex-open{border:0;background:none;color:var(--text);padding:0;cursor:pointer;width:100%;text-align:inherit}.dex-open h3{margin:.4rem 0 .2rem;font-size:1.03rem}.dex-open small{color:var(--muted);font-size:.75rem}.dex-sprite-wrap{position:relative;min-height:120px;display:grid;place-items:center;width:100%;overflow:hidden}.dex-sprite-wrap img{position:static!important;width:120px!important;height:120px!important;object-fit:contain;aspect-ratio:1;margin:0!important;transition:transform .3s}.dex-open:hover .dex-sprite-wrap img{transform:translateY(-5px) scale(1.07)}.dex-art-fallback{display:none;color:var(--muted);font-size:2rem;text-align:center}.dex-art-fallback small,.dex-art-placeholder small{display:block;font-size:.68rem;line-height:1.5}.sprite-missing .dex-art-fallback{display:block}.dex-art-placeholder{padding:3rem 1rem;text-align:center;background:var(--panel-alt);border-radius:18px;font-size:3rem}.dex-grid .types{margin-top:.65rem}.dex-card-tags{display:flex;gap:.3rem .7rem;flex-wrap:wrap;font-size:.67rem;color:var(--muted);margin:.7rem 0 .15rem}.dex-game-dots{display:flex;gap:.25rem;flex-wrap:wrap;margin:.85rem 0;font-size:.56rem;font-weight:700}.dex-game-dots span{padding:4px 5px;border:1px solid var(--line);border-radius:5px}.dex-game-dots .available{color:var(--mint);border-color:var(--accent)}.dex-game-dots .unavailable{opacity:.38}.dex-card-actions{display:flex;gap:.35rem;margin-top:auto}.dex-card-actions .button{flex:1;padding:.55rem .3rem;font-size:.68rem;min-height:38px}.dex-grid.list{grid-template-columns:1fr}.dex-grid.list .dex-entry{display:grid;grid-template-columns:140px minmax(140px,1fr) minmax(140px,1fr);gap:.5rem 1.3rem;align-items:center}.dex-grid.list .dex-card-meta{grid-column:1/-1}.dex-grid.list .dex-open{display:grid;grid-template-columns:100px 1fr;align-items:center}.dex-grid.list .dex-sprite-wrap{grid-row:1/3;min-height:80px}.dex-grid.list .dex-sprite-wrap img{width:80px!important;height:80px!important}.dex-grid.list .dex-open h3,.dex-grid.list .dex-open small{grid-column:2}.dex-grid.list .dex-card-actions{grid-column:3;grid-row:3}.dex-grid.compact .dex-entry{padding:.7rem}.dex-grid.compact .dex-sprite-wrap{min-height:80px}.dex-grid.compact .dex-sprite-wrap img{width:80px!important;height:80px!important}.dex-grid.compact .dex-game-dots{display:none}.dex-pagination{display:flex;gap:1rem;justify-content:center;align-items:center;margin:2rem 0}.dex-pagination>label{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.dex-pagination select{width:75px}.dex-source-note{font-size:.75rem;color:var(--muted);line-height:1.8}.dex-compare-tray{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;position:sticky;bottom:1rem;z-index:5;border:1px solid var(--accent);border-radius:16px;background:var(--panel);padding:1rem;box-shadow:0 10px 35px #13062040;margin-bottom:1.3rem}.dex-compare-tray>div{display:flex;gap:.4rem;flex-wrap:wrap;flex:1}.dex-compare-tray .chip{border:1px solid var(--line);cursor:pointer;color:var(--text);background:var(--panel-alt)}.dex-detail{width:min(100%,880px)}.dex-detail-header{display:flex;gap:1.5rem;align-items:center;padding-bottom:1.5rem}.dex-detail-header>.dex-sprite-wrap{width:200px;flex-shrink:0;min-height:200px;border-radius:24px;background:radial-gradient(ellipse at center,#a47aff28,transparent 75%)}.dex-detail-header .dex-sprite-wrap img{width:190px!important;height:190px!important}.dex-detail-header h2{font-size:2rem;margin:.3rem 0}.dex-detail-header p{color:var(--muted);font-size:.8rem}.dex-detail-tabs{margin:1.2rem 0 1.5rem}.dex-detail-tabs [aria-pressed=true]{background:var(--accent);color:white}.dex-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.dex-stat-bars>div{grid-template-columns:90px 1fr 36px}.dex-stat-bars>div>span{font-size:.72rem}.dex-bst{display:flex!important;justify-content:space-between;border-top:1px solid var(--line);margin-top:.85rem;padding-top:.8rem}.dex-bst strong{font-size:1.2rem}.dex-ability-list{display:grid;gap:.6rem}.dex-ability-list>div{padding:.75rem;border-radius:12px;background:var(--panel-alt)}.dex-ability-list small{display:block;color:var(--muted);font-size:.7rem;margin-top:.3rem}.dex-family{display:flex;gap:.5rem;flex-wrap:wrap}.dex-family .button{font-size:.73rem}.dex-evolution{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.dex-evolution li{padding:.4rem 0;font-size:.8rem}.dex-evolution .muted{font-size:.75rem;line-height:1.65}.dex-detail-footer{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.4rem}.dex-detail-footer small{font-size:.65rem;color:var(--muted)}.dex-move-table-wrap,.dex-comparison-scroll{overflow-x:auto;max-width:100%}.dex-move-table,.dex-comparison{border-collapse:collapse;width:100%;font-size:.78rem}.dex-move-table th,.dex-move-table td,.dex-comparison th,.dex-comparison td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.dex-move-table th{font-size:.67rem;color:var(--muted)}.dex-move-table td:first-child small,.dex-comparison th small{display:block;font-size:.66rem;color:var(--muted);padding-top:.25rem}.dex-move-source{display:inline-block;font-size:.62rem;padding:3px 5px;border:1px solid var(--line);border-radius:5px;margin:2px}.dex-move-table .type-pill{font-size:.63rem}.dex-move-table .button{padding:.35rem .6rem;min-width:32px}.dex-comparison{min-width:460px}.dex-comparison .dex-sprite-wrap{min-height:90px}.dex-comparison .dex-sprite-wrap img{height:90px!important;width:90px!important}.dex-comparison th:not(:first-child),.dex-comparison td{text-align:center}.dex-comparison .types{justify-content:center}.dex-best{background:#50d0a018;color:#78e8ba;font-weight:800}body.light .dex-best{color:#176b4e;background:#50d0a025}.dex-detail .note,.dex-detail .muted{font-size:.8rem;line-height:1.7}.dex-grid [data-action=select-pokemon]:disabled{opacity:.4;cursor:not-allowed;transform:none}.dex-grid button:focus-visible,.dex-pagination button:focus-visible,.dex-detail button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
@media(max-width:900px){.dex-grid.list .dex-entry{grid-template-columns:1fr 1fr}.dex-grid.list .dex-card-actions{grid-column:auto;grid-row:auto}.dex-detail-columns{gap:1rem}.dex-sort-row>.button{width:100%}.dex-grid.list .dex-open{grid-column:1/-1}}
@media(max-width:600px){.dex-filters{padding:1rem}.dex-search-row{gap:.7rem}.dex-search-row>label,.dex-search-row>.button{width:100%;min-width:0}.dex-extra-filters .form-grid{grid-template-columns:1fr 1fr}.dex-primary-filters{grid-template-columns:1fr 1fr}.dex-sort-row>label{min-width:110px}.dex-layout-toggle{width:100%;justify-content:flex-end}.dex-results-summary{font-size:.82rem}.dex-results-summary .button{margin-left:0;width:100%}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important}.dex-grid.list{grid-template-columns:1fr!important}.dex-grid .dex-entry{padding:.75rem}.dex-card-actions{flex-wrap:wrap}.dex-card-actions .button{flex-basis:100%;font-size:.7rem}.dex-card-meta .dex-number{font-size:.66rem}.dex-sprite-wrap{min-height:94px}.dex-sprite-wrap img{width:94px!important;height:94px!important}.dex-open h3{font-size:.86rem}.dex-open small{font-size:.62rem}.dex-grid .type-pill{font-size:.57rem;padding:3px 5px}.dex-game-dots{font-size:.5rem}.dex-card-tags{font-size:.59rem}.dex-origin-badges span{font-size:.53rem}.dex-detail-header{gap:.6rem;align-items:start;flex-wrap:wrap}.dex-detail-header>.dex-sprite-wrap{width:135px;min-height:135px;margin:auto}.dex-detail-header .dex-sprite-wrap img{width:130px!important;height:130px!important}.dex-detail-header>div:last-child{width:100%}.dex-detail-header h2{font-size:1.6rem}.dex-detail-columns{grid-template-columns:1fr}.dex-detail .form-grid{grid-template-columns:1fr}.dex-compare-tray{position:static;gap:.6rem;font-size:.8rem}.dex-compare-tray>div{flex-basis:100%}.dex-compare-tray .button{font-size:.75rem}.dex-pagination{gap:.5rem}.dex-pagination .button{font-size:.7rem;padding:.6rem}.dex-pagination select{width:58px}.dex-move-table{min-width:560px}.dex-move-table-wrap{border:1px solid var(--line);border-radius:10px}.dex-detail-tabs{gap:.3rem}.dex-detail-tabs .button{font-size:.74rem;padding:.65rem}.dex-detail-footer .toolbar{flex-direction:column;align-items:stretch}.dex-grid.list .dex-card-actions{flex-wrap:nowrap}.dex-grid.list .dex-card-actions .button{flex-basis:auto}.dex-source-note{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.dex-sprite-wrap img{transition:none}.dex-open:hover .dex-sprite-wrap img{transform:none}}.reduce-motion .dex-sprite-wrap img{transition:none}.reduce-motion .dex-open:hover .dex-sprite-wrap img{transform:none}
.dex-grid.list .types{display:flex}.dex-grid.list .dex-open{grid-column:1/3}.dex-grid.list .dex-card-meta{grid-column:1/-1}@media(max-width:600px){.dex-grid.list .dex-open{grid-column:1/-1}.dex-grid.list .types{display:flex}}
