/* Collection controls and entry details share the game's quiet blue palette. */
.pokedex-collection .pokedex-heading{padding:19px 24px;gap:16px;border-bottom-width:3px}
.pokedex-collection .pokedex-heading h1{font-size:25px;line-height:1.25;color:#fff;margin:0;letter-spacing:-.6px}
.pokedex-collection .pokedex-device{width:44px;height:55px;flex-basis:44px;padding:7px 4px;gap:3px}
.pokedex-collection .pokedex-device>.icon{width:25px;height:25px;top:7px}
.pokedex-collection .pokedex-device>span{width:5px;height:5px}
.pokedex-collection .pokedex-kicker{margin-bottom:5px;font-size:8px;letter-spacing:1.4px}
.dex-total{text-align:right;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.dex-total small{display:block;font-size:10px;font-weight:500;color:#bfcede;margin-top:4px}
.pokedex-collection .pokedex-tools{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1.2fr) minmax(100px,1fr) minmax(110px,1fr) auto;padding:16px 24px;gap:12px 16px;align-items:end}
.pokedex-collection .pokedex-tools label{font-size:11px}
.pokedex-collection .pokedex-tools input,.pokedex-collection .pokedex-tools select{min-height:44px;margin-top:6px;font-size:12px;padding:10px 11px}
.pokedex-collection .pokedex-search-wrap{margin-top:6px}
.pokedex-collection .pokedex-search-wrap input{margin-top:0;padding-left:37px}
.pokedex-search-wrap>.icon{top:13px;left:12px}
.pokedex-tools select:disabled{opacity:.5;cursor:not-allowed}
.dex-tool-actions{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:3px}
.dex-layout{display:flex;padding:3px;border:1px solid #d6e2ed;background:#f3f7fb;border-radius:8px;gap:3px}
.dex-layout>button{display:grid;place-items:center;min-width:40px;min-height:32px;font-size:21px;line-height:1;color:#738ba2;border-radius:5px}
.dex-layout>button[aria-pressed=true]{background:#fff;color:#c4324b;box-shadow:0 1px 4px #183e601c}
.dex-clear{min-height:26px;padding:5px 7px;color:#57748f;font-size:10px;font-weight:750;border-radius:6px;white-space:nowrap}
.dex-clear:hover{background:#edf4fa}
.pokedex-collection .pokedex-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(135px,1.2fr);gap:10px;padding:10px 24px;background:#f3f7fb;align-items:center}
.pokedex-collection .pokedex-summary>.dex-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;margin:0;padding:10px 12px;min-height:66px;border:1px solid transparent;border-radius:8px;min-width:0;background:transparent;text-align:left}
.pokedex-collection .pokedex-summary>.dex-stat:hover{background:#e8f1f8;border-color:#d4e1eb}
.pokedex-collection .pokedex-summary>.dex-stat.selected{background:#fff;border-color:#9cb7ce;box-shadow:0 2px 4px #22435b09}
.pokedex-collection .dex-stat>strong{font-size:24px;font-weight:800;color:#345779;letter-spacing:-.5px;line-height:1}
.pokedex-collection .dex-stat[data-filter=caught]>strong{color:#398565}
.pokedex-collection .dex-stat>span{font-size:10px;letter-spacing:0;color:#668199;font-weight:650;white-space:normal;line-height:1.3}
.pokedex-collection .pokedex-completion{display:block;grid-column:auto;border:0;padding:0 0 0 10px;margin:0;min-width:0;max-width:none}
.pokedex-collection .pokedex-completion>div:first-child{display:flex;margin:0 0 9px;gap:8px;font-size:10px;align-items:center;justify-content:space-between}
.pokedex-collection .pokedex-completion strong{font-size:16px}
.pokedex-collection .pokedex-results-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 24px 15px;flex-wrap:wrap}
.pokedex-results-heading>div>span{font-size:14px;font-weight:800;color:#3e5e7d}
.pokedex-collection .pokedex-result-count{padding:0;margin:5px 0 0;font-size:11px;color:#6a839a}
.dex-pagination{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:#6b8399}
.dex-pagination>button{min-height:36px;padding:8px 11px;border:1px solid #d0deea;border-radius:7px;background:#fff;color:#426889;font-size:11px;font-weight:700;white-space:nowrap}
.dex-pagination>button:hover:not(:disabled){background:#edf5fb;border-color:#9cb8cf}
.dex-pagination>button:disabled{opacity:.4}
.dex-pagination>span{white-space:nowrap;font-variant-numeric:tabular-nums}
.pokedex-collection>#pokedex-content>.dex-pagination{padding:0 20px 23px}
.pokedex-collection .pokedex-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0 24px 24px}
.pokedex-collection .pokedex-species{position:relative;min-height:194px;padding:11px 10px 13px;border-radius:10px;box-shadow:0 2px 0 #e4ebf2;gap:0}
.pokedex-collection .pokedex-species:before{top:43px;width:82px;height:82px}
.pokedex-collection .pokedex-card-top{font-size:10px;flex-wrap:wrap;gap:4px}
.pokedex-collection .pokedex-status{font-size:8px;padding:3px 5px;line-height:1.2;gap:4px;white-space:nowrap}
.pokedex-collection .pokedex-species>.sprite,.pokedex-collection .pokedex-unknown{width:90px;height:90px;min-height:90px;margin:6px 0 4px;object-fit:contain}
.pokedex-collection .pokedex-unknown{font-size:43px}
.pokedex-collection .pokedex-species>strong{font-size:13px;min-height:20px;line-height:1.4}
.pokedex-collection .pokedex-species>.pokemon-type-tags{margin:6px 0 0;min-height:19px;gap:3px}
.pokedex-collection .pokedex-species .type{font-size:7px;padding:4px 5px;line-height:1}
.pokedex-collection .pokedex-locked{padding:0;margin:7px 0 0;background:none;border:0;width:auto;font-size:9px;min-height:0}
.pokedex-collection .pokedex-card-link{position:absolute;right:8px;bottom:8px;margin:0;padding:0;border:0;background:none;width:auto;min-height:0;color:#719b86}
.pokedex-collection .pokedex-card-link>.icon{width:12px;height:12px}
.pokedex-collection .pokedex-empty{margin-inline:24px;padding:30px 20px}
.pokedex-empty>.button{margin-top:20px;min-height:42px;font-size:12px}
.pokedex-collection .pokedex-grid.dex-list{display:flex;flex-direction:column;gap:7px}
.pokedex-collection .dex-list>.pokedex-species{display:grid;grid-template-columns:145px 54px minmax(100px,1fr) minmax(100px,auto) 20px;gap:14px;align-items:center;min-height:72px;padding:9px 16px;text-align:left}
.pokedex-collection .dex-list>.pokedex-species:before{display:none}
.pokedex-collection .dex-list .pokedex-card-top{flex-wrap:nowrap;gap:10px;align-items:center}
.pokedex-collection .dex-list>.pokedex-species>.sprite,.pokedex-collection .dex-list .pokedex-unknown{width:50px;height:50px;min-height:50px;margin:0;font-size:30px;grid-column:2;grid-row:1}
.pokedex-collection .dex-list>.pokedex-species>strong{grid-column:3;grid-row:1;min-height:0}
.pokedex-collection .dex-list .pokemon-type-tags{grid-column:4;grid-row:1;margin:0;justify-content:flex-start}
.pokedex-collection .dex-list .pokedex-card-link{position:static;grid-column:5;grid-row:1;justify-self:end}
.pokedex-collection .dex-list .pokedex-locked{grid-column:4;grid-row:1;margin:0;text-align:right}
.pokedex-collection button:focus-visible,.dex-entry-dialog button:focus-visible,.dex-entry-dialog summary:focus-visible,.dex-moves-scroll:focus-visible{outline:3px solid #2b96df;outline-offset:3px}
/* Entry navigation stays available while inspecting long learnsets. */
.dex-secondary-controls{display:contents}
.dex-tools-toggle{display:none}
.dex-entry-dialog{width:min(850px,calc(100% - 24px));overflow-y:auto;border:1px solid #c5d7e6;background:#f8fbfe}
.dex-entry-dialog>.modal-close{z-index:4;top:12px;right:12px}
.dex-entry-nav{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:1fr auto 1fr 34px;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #d7e4ee;background:#f5f9fd}
.dex-entry-nav>.modal-close{position:static;width:32px;height:32px;justify-self:end}
.dex-entry-nav>button[data-direction="-1"]{justify-self:start}
.dex-entry-nav>button[data-direction="1"]{justify-self:end}
.dex-entry-nav>button{min-height:36px;padding:7px 10px;font-size:12px;color:#416583;font-weight:750;border-radius:6px}
.dex-entry-nav>button:hover:not(:disabled){background:#e7f1f9}
.dex-entry-nav>span{font-size:11px;color:#72889d;font-variant-numeric:tabular-nums}
.dex-entry-hero{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:24px;padding:27px 30px;background:linear-gradient(125deg,#e7f2f8,#f7fbfd 65%);border-bottom:1px solid #d9e6ef}
.dex-entry-art{display:grid;place-items:center;border-radius:50%;background:#fff9;aspect-ratio:1}
.dex-entry-art>.sprite{width:145px;height:145px}
.dex-entry-hero h2{font-size:30px;line-height:1.2;color:#294c6b;margin:8px 0 11px;overflow-wrap:anywhere}
.dex-entry-hero p{margin:14px 0 0;font-size:13px;line-height:1.75;color:#57738b}
.dex-entry-types{display:flex;gap:6px;flex-wrap:wrap}
.dex-entry-types>.type{font-size:9px}
.dex-entry-body{padding:25px 30px;text-align:left}
.dex-entry-body h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 17px;font-size:14px;color:#355b7b}
.dex-entry-body h3>span{font-size:10px;color:#718ba0;font-weight:500;white-space:nowrap}
.dex-entry-body h3>span>b{font-size:13px;color:#426580;margin-left:4px}
.dex-entry-overview{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:26px}
.dex-base-stats>div{display:grid;grid-template-columns:68px 30px 1fr;gap:11px;align-items:center;margin:13px 0;font-size:11px;color:#6a8298}
.dex-base-stats>div>strong{text-align:right;font-size:13px;color:#345c7b;font-variant-numeric:tabular-nums}
.dex-base-stats i{height:7px;border-radius:5px;background:#e0eaf2;overflow:hidden}
.dex-base-stats i>b{display:block;height:100%;background:#6c9fba;border-radius:5px}
.dex-base-stats>div:first-of-type i>b{background:#68ae8b}
.dex-entry-facts{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;margin:0 0 19px}
.dex-entry-facts dt{font-size:10px;color:#8194a6;margin-bottom:4px}
.dex-entry-facts dd{font-size:12px;color:#486b86;margin:0;line-height:1.5}
.dex-abilities>h3{margin-bottom:11px}
.dex-abilities>div+div{margin-top:9px}
.dex-abilities strong{font-size:12px;color:#486b86}
.dex-abilities small{font-size:9px;color:#7c91a4;margin-left:7px;background:#eaf0f6;padding:2px 5px;border-radius:4px}
.dex-abilities p{font-size:11px;color:#6c849a;line-height:1.5;margin:4px 0 0}
.dex-moves,.dex-evolutions{padding-top:22px;margin-bottom:24px;border-top:1px solid #d9e5ee}
.dex-moves-scroll{overflow-x:auto;border:1px solid #d7e3ed;border-radius:8px;max-width:100%}
.dex-move-table{width:100%;border-collapse:collapse;background:#fff;font-size:11px;text-align:left;font-variant-numeric:tabular-nums}
.dex-move-table th,.dex-move-table td{padding:10px 12px;border-bottom:1px solid #e3ebf2;white-space:nowrap}
.dex-move-table thead{color:#71899f;background:#edf4f9;font-size:10px}
.dex-move-table tbody th{font-weight:600;color:#426784;white-space:normal;min-width:120px}
.dex-move-table td{color:#6b849a}
.dex-move-table td>.type{font-size:7px}
.dex-move-table th small{display:block;font-size:9px;font-weight:400;color:#8a9cab;margin-top:3px}
.dex-move-table tr:last-child>th,.dex-move-table tr:last-child>td{border-bottom:0}
.dex-learnset{margin-top:12px}
.dex-learnset summary{display:flex;align-items:center;justify-content:space-between;padding:13px 3px;cursor:pointer;font-size:12px;color:#4e7190;font-weight:700;list-style:none}
.dex-learnset summary:before{content:'▸';margin-right:8px}.dex-learnset[open] summary:before{content:'▾'}
.dex-learnset summary>span{margin-left:auto;font-size:10px;background:#e5edf5;padding:3px 7px;border-radius:4px;font-weight:500}
.dex-learnset .dex-move-available{background:#f3faf6}
.dex-evolution{display:flex;align-items:center;gap:14px;width:100%;padding:12px 15px;margin-top:9px;background:#fff;border:1px solid #d2e0eb;border-radius:9px;text-align:left}
.dex-evolution>.sprite,.dex-evolution-unknown{width:52px;height:52px;flex-shrink:0}
.dex-evolution>span{font-size:12px;line-height:1.6;color:#53738d}
.dex-evolution>span>small{display:block;font-size:10px;color:#899bab}
.dex-evolution>.icon{width:16px;height:16px;margin-left:auto;color:#7795ac}
.dex-evolution-unknown{display:grid;place-items:center;background:#eff4f8;border-radius:8px;color:#a4b7c7!important;font-size:27px!important}
.dex-evolution.locked{border-style:dashed;background:#f4f8fb}
button.dex-evolution:hover{border-color:#8baec7;background:#eff6fc}
.dex-no-evolution{font-size:12px;color:#7a8e9e;line-height:1.6}
.dex-entry-body>.button{min-height:44px;font-size:12px}
@media(min-width:1600px){.pokedex-collection .pokedex-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:1100px){.pokedex-collection .pokedex-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.pokedex-collection .pokedex-tools{grid-template-columns:1.6fr 1fr 1fr}.pokedex-collection .pokedex-search-label{grid-column:1/3}.pokedex-tools>label[for=pokedex-filter]{grid-column:3}.pokedex-tools>label[for=pokedex-type]{grid-column:1}.pokedex-tools>label[for=pokedex-sort]{grid-column:2}.dex-tool-actions{grid-column:3;align-self:end}}
@media(max-width:760px){.pokedex-collection .pokedex-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pokedex-collection .pokedex-tools{grid-template-columns:1fr 1fr;padding:17px;gap:12px}.pokedex-collection .pokedex-search-label{grid-column:1/-1}.pokedex-tools>label[for=pokedex-filter],.pokedex-tools>label[for=pokedex-sort]{grid-column:auto}.pokedex-tools>label[for=pokedex-type]{grid-column:auto}.dex-tool-actions{grid-column:auto}.pokedex-collection .pokedex-summary{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;gap:5px}.pokedex-collection .pokedex-summary>.dex-stat{padding:9px 7px;align-items:center;text-align:center}.pokedex-collection .pokedex-completion{grid-column:1/-1;display:block;padding:8px 5px 3px}.pokedex-collection .pokedex-results-heading{padding:17px;gap:13px}.pokedex-collection .pokedex-grid{padding-inline:17px}.pokedex-collection .dex-list>.pokedex-species{grid-template-columns:110px 44px minmax(60px,1fr) auto;gap:10px;padding:9px 12px}.pokedex-collection .dex-list .pokedex-card-link{display:none}.pokedex-collection .dex-list .pokedex-card-top{flex-direction:column;align-items:flex-start;gap:3px}.pokedex-collection .dex-list>.pokedex-species>.sprite,.pokedex-collection .dex-list .pokedex-unknown{width:44px;height:44px;min-height:44px}.dex-entry-hero{grid-template-columns:120px 1fr;padding:24px;gap:18px}.dex-entry-art>.sprite{width:115px;height:115px}.dex-entry-hero h2{font-size:26px}.dex-entry-body{padding:24px}.dex-entry-overview{gap:20px}}
@media(max-width:480px){.dex-total{font-size:15px}.dex-total small{font-size:9px}.pokedex-collection .pokedex-heading{padding:16px;gap:11px}.pokedex-collection .pokedex-heading h2{font-size:18px}.pokedex-collection .pokedex-kicker{font-size:7px}.pokedex-collection .pokedex-device{display:none}.pokedex-collection .pokedex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pokedex-collection .pokedex-species{min-height:191px}.pokedex-collection .pokedex-card-top{font-size:9px;flex-wrap:nowrap}.pokedex-collection .pokedex-summary>.dex-stat{min-height:64px;padding-inline:3px}.pokedex-collection .dex-stat>strong{font-size:22px}.pokedex-collection .dex-stat>span{font-size:9px}.pokedex-collection .pokedex-results-heading>.dex-pagination{width:100%;justify-content:space-between}.dex-pagination{gap:8px}.dex-pagination>button{min-height:40px;padding:9px;font-size:10px}.dex-pagination>span{font-size:10px}.pokedex-collection .pokedex-empty{margin-inline:17px}.pokedex-collection .dex-list>.pokedex-species{grid-template-columns:70px 40px 1fr;gap:9px;min-height:83px}.pokedex-collection .dex-list .pokedex-status{font-size:7px;padding:2px 3px}.pokedex-collection .dex-list .pokedex-card-top{grid-row:1/3}.pokedex-collection .dex-list>.pokedex-species>.sprite,.pokedex-collection .dex-list .pokedex-unknown{grid-row:1/3;width:40px;height:40px;min-height:40px}.pokedex-collection .dex-list>.pokedex-species>strong{grid-row:1;align-self:end;font-size:12px}.pokedex-collection .dex-list .pokemon-type-tags,.pokedex-collection .dex-list .pokedex-locked{grid-column:3;grid-row:2;justify-content:flex-start;align-self:start;text-align:left;margin:0}.dex-entry-nav{padding:9px 48px 9px 9px;gap:5px}.dex-entry-nav>button{font-size:11px;padding:7px}.dex-entry-nav>span{font-size:10px}.dex-entry-hero{grid-template-columns:86px 1fr;padding:20px 17px;gap:14px}.dex-entry-art>.sprite{width:84px;height:84px}.dex-entry-hero h2{font-size:23px}.dex-entry-hero p{grid-column:1/-1;font-size:12px}.dex-entry-body{padding:21px 17px}.dex-entry-overview{grid-template-columns:1fr;gap:19px}.dex-entry-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.dex-base-stats>div{grid-template-columns:75px 32px 1fr}.dex-move-table th,.dex-move-table td{padding:10px 9px}.dex-entry-body h3{font-size:13px}.dex-evolution{padding:10px;gap:10px}.dex-evolution>span{font-size:11px}}
@media(max-width:480px){.pokedex-collection .pokedex-heading h1{font-size:20px;line-height:1.3}.pokedex-collection .dex-total{display:none}.pokedex-collection .pokedex-tools{gap:10px}.dex-tools-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:9px 12px;color:#4d6c88;border:1px solid #d3e1ed;border-radius:7px;background:#f4f8fc;font-size:11px;font-weight:700}.dex-tools-toggle:after{content:"▾";margin-left:10px}.dex-tools-toggle[aria-expanded=true]:after{content:"▴"}.dex-tools-toggle>span{margin-left:auto;font-size:9px;padding:3px 6px;border-radius:4px;background:#ddebf5;color:#47708e}.dex-tools-toggle>span[hidden]{display:none}.pokedex-tools .dex-secondary-controls{grid-column:1/-1;display:none;grid-template-columns:1fr 1fr;gap:12px}.pokedex-tools .dex-secondary-controls[data-expanded=true]{display:grid}}
@media(max-width:480px){.dex-entry-nav{padding:9px;gap:5px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 30px}}
/* Regional Pokédex is a peer of status, type and ordering. */
.pokedex-collection .pokedex-tools{grid-template-columns:minmax(170px,1.8fr) minmax(105px,1fr) minmax(130px,1.2fr) minmax(95px,.9fr) minmax(110px,1fr) auto;gap:12px}
@media(max-width:1100px){.pokedex-collection .pokedex-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.pokedex-collection .pokedex-search-label{grid-column:1/3}.dex-secondary-controls>label[for=pokedex-region]{grid-column:3}.dex-secondary-controls>label[for=pokedex-filter]{grid-column:4}.dex-secondary-controls>label[for=pokedex-type]{grid-column:1}.dex-secondary-controls>label[for=pokedex-sort]{grid-column:2}.dex-secondary-controls>.dex-tool-actions{grid-column:3/-1;flex-direction:row;justify-content:space-between}}
@media(max-width:760px){.pokedex-collection .pokedex-tools{grid-template-columns:1fr 1fr}.pokedex-collection .pokedex-search-label{grid-column:1/-1}.dex-secondary-controls>label[for=pokedex-region],.dex-secondary-controls>label[for=pokedex-filter],.dex-secondary-controls>label[for=pokedex-type],.dex-secondary-controls>label[for=pokedex-sort]{grid-column:auto}.dex-secondary-controls>.dex-tool-actions{grid-column:1/-1}}
