html:has(.page-pokedex){overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y;scroll-behavior:smooth}.page-pokedex{--pkdex-card-size: 200px;flex-grow:1;width:100%;margin:0 auto;padding:0 var(--page-margin) var(--space-6);display:flex;flex-direction:column;gap:0}@media(max-width:768px){.page-pokedex{padding:0 var(--page-margin) var(--space-3)}}.pkdex-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6)}.pkdex-title{font-size:var(--text-2xl);letter-spacing:-.02em}.pkdex-subtitle{color:var(--ink-dim);font-size:var(--text-sm)}.pkdex-back{color:var(--ink-dim);font-size:var(--text-sm);text-decoration:none;letter-spacing:.02em;white-space:nowrap;transition:color var(--t-fast)}.pkdex-back:hover{color:var(--ink-dim)}.pkdex-controls{position:fixed;top:calc(var(--navbar-h) - 1px);left:0;right:0;z-index:50;height:64px;box-sizing:border-box;padding:var(--space-2) var(--page-margin);display:flex;align-items:center;border-bottom:var(--border) solid var(--line);background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pkdex-controls-inner{width:100%;max-width:round(down,100%,var(--pkdex-card-size));margin:0 auto;position:relative;display:flex;flex-direction:column;gap:0}.pkdex-top-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}#pkdex-filter-btn{margin-left:auto}.pkdex-search-wrap{flex:0 1 320px;min-width:160px;position:relative;display:flex;align-items:center}.pkdex-search{width:100%;padding:var(--space-2) var(--space-4);background:var(--panel);border:var(--border) solid var(--line);border-radius:var(--radius);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);outline:none;transition:border-color var(--t-fast)}@media(max-width:768px){.pkdex-controls-inner{max-width:none}.pkdex-search-wrap{flex:1;min-width:0}}@media(pointer:coarse){.pkdex-search{font-size:var(--text-base)}}.pkdex-search::placeholder{color:var(--ink-dim)}.pkdex-search:focus{border-color:var(--ink-dim)}.pkdex-search::-webkit-search-cancel-button{display:none}.pkdex-search-clear{position:absolute;right:var(--space-2);display:none;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;border-radius:50%;color:var(--ink-dim);font-size:var(--text-2xs);line-height:1;cursor:pointer;opacity:0;transition:opacity var(--t-fast),color var(--t-fast)}.pkdex-search-wrap:hover .pkdex-search-clear,.pkdex-search-wrap:focus-within .pkdex-search-clear{opacity:1}.pkdex-search-clear:hover{color:var(--ink)}.pkdex-search-wrap.has-value .pkdex-search-clear{display:flex}@media(pointer:coarse){.pkdex-search{padding-right:40px}.pkdex-search-clear{right:0;width:32px;height:32px;font-size:var(--text-base)}.pkdex-search-wrap.has-value .pkdex-search-clear{opacity:1}}.filter-group{display:flex;align-items:center;gap:var(--space-4)}.filter-label{flex-shrink:0;color:var(--ink-dim);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.filter-pills{display:flex;flex:1;flex-wrap:wrap;gap:var(--space-1)}.filter-pills [data-filter-type],.filter-pills [data-filter-game],.filter-pills .method-btn{cursor:pointer;border:none;background:none;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.filter-pills:has([data-filter-type]){gap:var(--space-2)}.filter-pills [data-filter-type].type-tag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:var(--space-1) var(--space-2);text-transform:uppercase;background:var(--tag-color);color:var(--tag-ink);border:var(--border) solid transparent}.filter-pills [data-filter-type].type-tag[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.filter-pills [data-filter-type].type-tag:not([aria-pressed=true]):hover{border-color:color-mix(in srgb,var(--tag-color) 70%,black)}.filter-pills.types-maxed [data-filter-type].type-tag:not([aria-pressed=true]){opacity:.35;cursor:not-allowed}.filter-pills.types-maxed [data-filter-type].type-tag:not([aria-pressed=true]):hover{border-color:transparent}.filter-pills [data-filter-game]{font-size:var(--text-xs)}.filter-pills [data-filter-game][aria-pressed=true]{box-shadow:0 0 0 1.5px var(--badge-color)}.pkdex-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pkdex-active-filters:empty{display:none}.active-filter-tag{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink);background:color-mix(in srgb,var(--tag-color, var(--ink-dim)) 16%,var(--panel));border:var(--border) solid color-mix(in srgb,var(--tag-color, var(--ink-dim)) 45%,transparent)}.active-filter-tag-icon{display:block;width:15px;height:15px;object-fit:contain;flex-shrink:0}.active-filter-tag-label{white-space:nowrap;text-transform:uppercase}.active-filter-tag-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-left:0;padding:0;border:none;border-radius:var(--radius);background:transparent;color:inherit;font-size:var(--text-sm);line-height:1;cursor:pointer;transition:background var(--t-fast)}.active-filter-tag-remove:hover{background:color-mix(in srgb,var(--tag-color, var(--ink-dim)) 25%,transparent)}.active-filter-type-tag{height:36px;padding:0 var(--space-2) 0 var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.active-filter-type-remove{width:18px;height:18px;margin-left:0;font-size:var(--text-sm)}.active-filter-type-remove:hover{background:color-mix(in srgb,currentColor 25%,transparent)}.method-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-0) var(--space-2);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;white-space:nowrap;color:var(--ink-dim);background:transparent;border:var(--border) solid var(--line);letter-spacing:.03em;text-transform:uppercase;transition:color var(--t-fast),border-color var(--t-fast)}.method-btn:hover{color:var(--ink-dim);border-color:var(--ink-dim)}.method-btn[aria-pressed=true]{color:var(--ink);border-color:var(--ink-dim)}.pkdex-filter-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);background:transparent;border:var(--border) solid var(--line);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast)}.pkdex-filter-btn:hover{color:var(--ink-dim);border-color:var(--ink-dim)}.pkdex-btn-icon{display:none;flex-shrink:0}@media(max-width:768px){.pkdex-filter-btn{width:40px;height:40px;padding:0}.pkdex-btn-icon{display:block}.pkdex-btn-label{display:none}.pkdex-filter-panel .filter-label,.pkdex-filter-panel .cat-btn,.pkdex-filter-panel .ball-btn,.pkdex-filter-panel .sort-btn,.pkdex-filter-panel .type-tag{font-size:var(--text-sm)}.pkdex-filter-close{position:absolute;top:var(--space-3);right:var(--page-margin);margin-left:0}.pkdex-filter-meta{padding-right:calc(36px + var(--space-3))}}.pkdex-filter-btn.is-active{color:var(--ink);border-color:var(--ink-dim)}.pkdex-filter-panel{position:absolute;top:100%;left:0;right:0;z-index:40;background:var(--paper);border:var(--border) solid var(--line);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 16px 32px #0000002e;max-height:min(70vh,640px);overflow-x:hidden;overflow-y:auto;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.pkdex-filter-panel.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.pkdex-filter-panel-inner{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--page-margin) var(--space-4)}.pkdex-filter-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin-left:auto;background:none;border:none;color:var(--ink-dim);font-size:var(--text-20);cursor:pointer;border-radius:var(--radius);flex-shrink:0;transition:color var(--t-fast)}.pkdex-filter-close:hover{color:var(--ink)}.pkdex-filter-meta{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.pkdex-filter-controls{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.sort-group{display:flex;align-items:center;gap:var(--space-1)}.sort-group-label{margin-right:var(--space-1)}.sort-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-0) var(--space-2);border-radius:var(--radius);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);border:var(--border) solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}.sort-btn:hover,.sort-btn.is-active{color:var(--ink);border-color:var(--line)}.pkdex-filter-panel-inner .filter-group{flex-direction:column;align-items:flex-start}.cat-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-0) var(--space-2);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);background:none;border:var(--border) solid transparent;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.cat-btn:hover,.cat-btn[aria-pressed=true]{color:var(--ink);border-color:var(--line)}.pkdex-filter-all{font-weight:600}.filter-group--balls{align-items:flex-start}.ball-filter-rows{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.ball-pills{flex-wrap:wrap}.ball-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-0) var(--space-2);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-dim);background:transparent;border:var(--border) solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast)}.ball-btn img{width:15px;height:15px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.ball-btn:hover,.ball-btn[aria-pressed=true]{color:var(--ink);border-color:var(--line)}.ball-filter-rows.balls-maxed [data-filter-ball]:not([aria-pressed=true]){opacity:.35;cursor:not-allowed}.pkdex-region{grid-column:1 / -1;padding-top:var(--space-7);padding-bottom:var(--space-2);color:var(--ink-dim);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;border-bottom:var(--border) solid var(--line);position:relative;z-index:0}.pkdex-region:before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:3px;z-index:-1;background:var(--paper);pointer-events:none}.pkdex-grid>.pkdex-region:first-child{padding-top:var(--space-4)}.pkdex-grid{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fill,var(--pkdex-card-size));justify-content:center;gap:0;position:relative;overflow-y:clip}.pkdex-grid:before{content:"";position:absolute;grid-column:1 / -1;inset:0;border-left:var(--border) solid var(--line);pointer-events:none}@media(hover:hover)and (pointer:fine){.pkdex-grid{will-change:transform}}:root[data-pkdex-scale="50"] .page-pokedex{--pkdex-card-size: 100px}@media(max-width:439px){.page-pokedex{--pkdex-card-size: calc((100vw - 2 * var(--page-margin) - 1px) / 2)}:root[data-pkdex-scale="50"] .page-pokedex{--pkdex-card-size: calc((100vw - 2 * var(--page-margin) - 1px) / 4)}}.pkdex-empty{grid-column:1 / -1;padding:var(--space-9) 0;text-align:center;color:var(--ink-dim);font-size:var(--text-sm);background:var(--paper);position:relative}.pkdex-card.is-filtered-out,.pkdex-region.is-filtered-out{display:none}.pkdex-card{position:relative;display:block;aspect-ratio:1;text-decoration:none;border-right:var(--border) solid var(--line);border-bottom:var(--border) solid var(--line);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}html.vt-transitioning .pkdex-card,html.vt-pointer-lock .pkdex-card{pointer-events:none}html.vt-transitioning .pkdex-card:hover{background:transparent;border-color:var(--line);box-shadow:none;color:inherit}html.vt-transitioning .pkdex-tooltip{opacity:0}@media(hover:hover)and (pointer:fine){.pkdex-card:hover{background:var(--card-hover-bg, var(--card-color, transparent));border-color:var(--glow-color, var(--line));color:var(--paper)}}.pkdex-group{grid-column:span var(--group-size, 1);display:grid;grid-template-columns:repeat(var(--group-size, 1),minmax(0,1fr));gap:var(--space-0)}.pkdex-group.evo-active .pkdex-card{background:color-mix(in srgb,var(--glow-color, var(--card-color)) 11%,transparent);border-color:var(--line);transition:background var(--t-fast),border-color var(--t-fast)}.pkdex-group.evo-active .pkdex-card.evo-focus{background:color-mix(in srgb,var(--glow-color, var(--card-color)) 100%,transparent);border-color:var(--glow-color, var(--line));box-shadow:0 0 6px var(--glow-color, transparent),0 0 24px color-mix(in srgb,var(--glow-color, transparent) 60%,transparent),0 0 64px color-mix(in srgb,var(--glow-color, transparent) 30%,transparent);color:var(--paper)}.pkdex-sprite-wrap{position:absolute;inset:0}@property --pkdex-skeleton-fade{syntax: "<number>"; inherits: false; initial-value: 1;}.pkdex-sprite-wrap:before{content:"";position:absolute;top:50%;left:50%;width:28px;height:28px;transform:translate(-50%,-50%);background:linear-gradient(90deg,color-mix(in srgb,var(--ink-dim) 8%,transparent) 25%,color-mix(in srgb,var(--ink-dim) 18%,transparent),color-mix(in srgb,var(--ink-dim) 8%,transparent) 75%);background-size:200% 100%;animation:pkdex-skeleton-shimmer 1.4s ease-in-out infinite;opacity:var(--pkdex-skeleton-fade);transition:--pkdex-skeleton-fade .28s ease;pointer-events:none}.pkdex-sprite-wrap.is-loaded:before{--pkdex-skeleton-fade: 0;animation-play-state:paused}@keyframes pkdex-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.pkdex-sprite-wrap:before{animation:none}}.pkdex-sprite-vt{--sprite-scale: 2;position:absolute;inset:calc((1 - var(--sprite-scale)) * 50%);pointer-events:none}.pkdex-sprite-vt.pkdex-sprite-no-scale{--sprite-scale: 1}@property --pkdex-sprite-fade{syntax: "<number>"; inherits: false; initial-value: 0;}.pkdex-sprite{width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:var(--pkdex-sprite-fade);transition:--pkdex-sprite-fade .28s ease;image-rendering:pixelated}.pkdex-sprite.is-loaded{--pkdex-sprite-fade: 1}.pkdex-tooltip{position:fixed;left:0;top:0;translate:0 0;transform:translate(-50%,-100%) scale(0);transform-origin:50% 100%;white-space:nowrap;background:var(--ink);color:var(--paper);font-size:var(--text-22);font-weight:700;font-family:var(--font-body);letter-spacing:.04em;padding:var(--space-3) var(--space-5);box-shadow:0 6px 16px #0000004d;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .16s ease;z-index:200;text-transform:uppercase}[data-time=day] .pkdex-tooltip,[data-time=dawn] .pkdex-tooltip{color:var(--ink)}.pkdex-tooltip.is-below{transform:translate(-50%) scale(0);transform-origin:50% 0}.pkdex-tooltip.is-visible{opacity:1;transform:translate(-50%,-100%) scale(1)}.pkdex-tooltip.is-visible.is-below{transform:translate(-50%) scale(1)}.pkdex-color-egg{position:fixed;left:50%;bottom:var(--space-6);z-index:500;display:flex;gap:var(--space-2);pointer-events:none;opacity:0;transform:translate(-50%,8px) scale(.96);transition:opacity var(--t-base),transform var(--t-base)}.pkdex-color-egg.is-visible{opacity:1;transform:translate(-50%) scale(1)}.pkdex-color-egg-key{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--panel);border:var(--border) solid var(--line);border-bottom-width:3px;color:var(--ink-dim);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;text-transform:uppercase;box-shadow:0 4px 10px #00000059;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.pkdex-color-egg-key.is-active{background:hsl(var(--egg-hue),70%,42%);border-color:hsl(var(--egg-hue),70%,32%);color:#fff;transform:translateY(-2px)}
