.catchemall-layout{flex:1;width:100%}.catchemall{--dex-red:#b94737;--dex-red-deep:#8e3028;--dex-gold:#d39a4b;--dex-paper:color-mix(in srgb, var(--color-surface) 82%, #fff 18%);isolation:isolate;width:min(100% - 2 * var(--page-pad), var(--content-wide));margin:0 auto;padding:clamp(2.5rem,7vw,5rem) 0 5rem;position:relative}.catchemall:before,.catchemall:after{z-index:-1;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--dex-gold) 26%, transparent);content:"";opacity:.6;pointer-events:none;border-radius:50%;width:clamp(10rem,28vw,18rem);position:absolute}.catchemall:before{background:radial-gradient(circle at center, var(--color-surface) 0 17%, transparent 18% 34%, color-mix(in srgb, var(--dex-gold) 10%, transparent) 35% 36%, transparent 37%), linear-gradient(180deg, color-mix(in srgb, var(--dex-red) 13%, transparent) 0 48%, transparent 48% 52%, color-mix(in srgb, var(--color-ink) 8%, transparent) 52%);top:2.5rem;right:-8rem}.catchemall:after{border-color:color-mix(in srgb, var(--dex-red) 20%, transparent);background:radial-gradient(circle, transparent 0 54%, color-mix(in srgb, var(--dex-red) 9%, transparent) 55% 56%, transparent 57%);bottom:8rem;left:-10rem}@media (prefers-color-scheme:dark){:root:not([data-theme]) .catchemall{--dex-red:#d6a452;--dex-red-deep:#ab762f;--dex-gold:#e8c47d;--dex-paper:#28231e}}:root[data-theme=dark] .catchemall{--dex-red:#d6a452;--dex-red-deep:#ab762f;--dex-gold:#e8c47d;--dex-paper:#28231e}.catchemall__header{margin-bottom:2rem;position:relative}.catchemall__eyebrow,.dex-card__game,.dex-card__type,.dex-card__percent{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem}.catchemall__eyebrow{color:var(--dex-red);align-items:center;gap:.55rem;font-weight:700;display:flex}.catchemall__eyebrow:before{width:.65rem;height:.65rem;box-shadow:inset 0 0 0 2px var(--color-surface);content:"";border:2px solid;border-radius:50%}.catchemall h1{font-family:var(--font-display);letter-spacing:-.045em;margin:.35rem 0;font-size:clamp(2.5rem,8vw,4.75rem);font-weight:600;line-height:1}.catchemall__header>p:last-child{max-width:38rem;color:var(--color-muted);margin:0}.catchemall__status{color:var(--color-muted);border:1px solid var(--color-stroke);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface-2) 55%, transparent);margin:0;padding:1.25rem}.dex-panel{border:1px solid color-mix(in srgb, var(--dex-gold) 25%, var(--color-stroke));background:linear-gradient(135deg, color-mix(in srgb, var(--dex-paper) 88%, transparent), color-mix(in srgb, var(--color-surface-2) 78%, transparent)), var(--dex-paper);box-shadow:var(--shadow-lift);border-radius:1.25rem;gap:1.75rem;padding:clamp(1.4rem,4vw,2.25rem);display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme]) .dex-panel{border-color:color-mix(in srgb, var(--dex-gold) 38%, transparent);background:linear-gradient(145deg,#332d27,#24201c);box-shadow:0 1.5rem 3.5rem -2rem #000}:root:not([data-theme]) .region-card{border-color:color-mix(in srgb, var(--dex-gold) 22%, transparent);background:#2a251f}:root:not([data-theme]) .region-card[open]{background:#211d19}}:root[data-theme=dark] .dex-panel{border-color:color-mix(in srgb, var(--dex-gold) 38%, transparent);background:linear-gradient(145deg,#332d27,#24201c);box-shadow:0 1.5rem 3.5rem -2rem #000}:root[data-theme=dark] .region-card{border-color:color-mix(in srgb, var(--dex-gold) 22%, transparent);background:#2a251f}:root[data-theme=dark] .region-card[open]{background:#211d19}.collection-summary{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.collection-summary__item{border:1px solid color-mix(in srgb, var(--color-stroke) 75%, transparent);background:color-mix(in srgb, var(--color-ink) 3%, transparent);border-radius:.65rem;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .75rem;padding:.85rem .95rem;display:grid}.collection-summary__label{color:var(--color-muted);font-size:.85rem}.collection-summary__item strong{font-family:var(--font-mono);font-size:.85rem;font-weight:500}.collection-summary__track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-ink) 12%, transparent);grid-column:1/-1;height:.34rem;overflow:hidden}.collection-summary__track>span{border-radius:inherit;background:var(--dex-red);height:100%;display:block}.collection-summary__filters{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.collection-summary__filter{min-height:2rem;color:var(--color-muted);border:1px solid color-mix(in srgb, var(--color-stroke) 82%, transparent);background:color-mix(in srgb, var(--color-surface) 72%, transparent);font:inherit;cursor:pointer;border-radius:.38rem;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.73rem;line-height:1;display:inline-flex}.collection-summary__filter[aria-pressed=true]{color:var(--dex-red-deep);border-color:color-mix(in srgb, var(--dex-red) 62%, var(--color-stroke));background:color-mix(in srgb, var(--dex-red) 14%, var(--color-surface))}.collection-summary__filter:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.collection-summary__item[data-collection-key=go] .collection-summary__track>span{background:#3c78b9}.collection-summary__item[data-collection-key=go] .collection-summary__filter[aria-pressed=true]{color:#285f9b;border-color:color-mix(in srgb, #3c78b9 62%, var(--color-stroke));background:color-mix(in srgb, #3c78b9 14%, var(--color-surface))}.region-collection{border-top:1px dashed color-mix(in srgb, var(--dex-gold) 38%, var(--color-stroke));gap:.6rem;padding-top:1.5rem;display:grid}.region-collection h3{font-family:var(--font-display);margin:0 0 .1rem;font-size:1.4rem}.region-collection__status{color:var(--color-muted);margin:0;font-size:.9rem}.region-card{border:1px solid color-mix(in srgb, var(--dex-gold) 20%, var(--color-stroke));background:color-mix(in srgb, var(--color-surface) 76%, transparent);border-radius:.8rem;transition:border-color .16s,box-shadow .16s,background .16s}.region-card:hover{border-color:color-mix(in srgb, var(--dex-red) 48%, var(--color-stroke));background:var(--color-surface)}.region-card[open]{border-color:color-mix(in srgb, var(--dex-red) 58%, var(--color-stroke));box-shadow:0 .5rem 1.75rem color-mix(in srgb, var(--color-ink) 8%, transparent)}.region-card summary{cursor:pointer;grid-template-columns:minmax(7rem,1fr) minmax(11rem,1.2fr) 1rem;align-items:center;gap:1.1rem;min-height:4.5rem;padding:.75rem 1rem .75rem 1.15rem;list-style:none;display:grid}.region-card summary::-webkit-details-marker{display:none}.region-card summary:before{border:solid var(--color-muted);content:"";border-width:0 2px 2px 0;grid-area:1/3;justify-self:end;width:.48rem;height:.48rem;transition:transform .16s;transform:rotate(45deg)translate(-.1rem,-.1rem)}.region-card[open] summary:before{transform:rotate(-135deg)translate(-.1rem,-.1rem)}.region-card__identity{gap:.1rem;display:grid}.region-card__title{font-weight:600;font-family:var(--font-display);font-size:1.2rem}.region-card__generation,.region-card__count small{color:var(--color-muted);font-size:.75rem}.region-card__collection-progress{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.region-card__collection-status{color:var(--dex-red-deep);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--dex-red) 11%, transparent);font-family:var(--font-mono);white-space:nowrap;padding:.28rem .42rem;font-size:.68rem}.region-card__collection-status[data-collection-key=go]{color:#285f9b;background:#3c78b91f}.region-card__copy-search{color:var(--color-accent);border-radius:var(--radius-pill);font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:.28rem .42rem;font-size:.75rem;text-decoration:underline}.region-card__copy-search:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.region-card__copy-search:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.region-card__body{gap:.8rem;padding:0 1.15rem 1.15rem;display:grid}.region-card__body p{color:var(--color-muted);margin:0;font-size:.82rem}.region-card__pokemon{scrollbar-color:var(--color-stroke) transparent;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));grid-auto-rows:10rem;gap:.6rem;max-height:min(50vh,28rem);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.region-card__pokemon-item{border:1px solid color-mix(in srgb, var(--dex-gold) 58%, var(--color-stroke));background:linear-gradient(135deg, color-mix(in srgb, var(--dex-paper) 88%, var(--color-surface)), color-mix(in srgb, var(--dex-gold) 9%, var(--color-surface))), var(--dex-paper);min-width:0;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-surface) 62%, transparent), inset 0 -.25rem 0 color-mix(in srgb, var(--dex-gold) 11%, transparent);border-radius:.45rem;grid-template-rows:7rem auto auto;grid-template-columns:1fr auto;align-items:center;gap:.2rem .4rem;padding:.55rem;font-size:.84rem;line-height:1.25;display:grid;position:relative;overflow:hidden}.region-card__pokemon-item:before{z-index:0;background:var(--dex-red);content:"";border-radius:0 0 .2rem .2rem;width:2.6rem;height:.25rem;position:absolute;top:-1px;left:.7rem}.region-card__pokemon-sprite{z-index:1;background-repeat:no-repeat;background-size:112rem;background-position:calc(var(--sprite-column) * -7rem) calc(var(--sprite-row) * -7rem);width:7rem;height:7rem;filter:drop-shadow(0 .2rem .08rem color-mix(in srgb, var(--color-ink) 22%, transparent));image-rendering:pixelated;grid-area:1/1/auto/-1;justify-self:center}.region-card__pokemon-number{z-index:2;color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.04em;opacity:.82;pointer-events:none;border-bottom:1px solid color-mix(in srgb, var(--dex-gold) 65%, transparent);font-size:.78rem;font-weight:500;line-height:1;position:absolute;top:.65rem;right:.7rem}.region-card__pokemon-meta{z-index:1;min-width:0;color:var(--color-muted);white-space:nowrap;grid-area:2/1;align-items:baseline;font-size:.72rem;display:flex}.region-card__pokemon-name{text-overflow:ellipsis;min-width:0;font-size:.78rem;font-weight:600;overflow:hidden}.region-card__pokemon-statuses{z-index:1;grid-area:2/2;gap:.3rem;display:flex}.region-card__pokemon-status{border:2px solid;border-radius:50%;width:1.15rem;height:1.15rem;display:block;position:relative;overflow:hidden}.region-card__pokemon-status:before{content:"";background:currentColor;height:2px;position:absolute;top:calc(50% - 1px);left:-2px;right:-2px}.region-card__pokemon-status:after{background:var(--color-surface);width:.42rem;height:.42rem;box-shadow:0 0 0 1px var(--color-surface);content:"";border:1.5px solid;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.region-card__pokemon-status.is-caught{color:var(--color-ink);background:linear-gradient(to bottom, var(--color-accent) 0 46%, var(--color-on-accent) 46%)}.region-card__pokemon-status.is-caught:after{background:var(--color-on-accent);box-shadow:none}.region-card__pokemon-status[data-collection-key=go].is-caught{background:linear-gradient(to bottom, #3c78b9 0 46%, var(--color-on-accent) 46%)}.region-card__pokemon-status.is-missing{color:var(--color-muted);transform:scale(.72)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .region-card__pokemon-status.is-caught{color:#171311;background:linear-gradient(#d95345 0 46%,#f5efe5 46%);border-color:#171311;box-shadow:0 1px 2px #0008}:root:not([data-theme]) .region-card__pokemon-status.is-caught:before{background:#171311}:root:not([data-theme]) .region-card__pokemon-status.is-caught:after{background:#fbf7ef;border-color:#171311;box-shadow:0 0 0 1px #171311}:root:not([data-theme]) .region-card__pokemon-status[data-collection-key=go].is-caught{background:linear-gradient(#4d91df 0 46%,#f5efe5 46%)}:root:not([data-theme]) .region-card__pokemon-status.is-missing{color:#9b958a;background:linear-gradient(#4b4640 0 46%,#292622 46%);border-color:#9b958a}:root:not([data-theme]) .region-card__pokemon-status.is-missing:after{background:#292622;box-shadow:0 0 0 1px #292622}}:root[data-theme=dark] .region-card__pokemon-status.is-caught{color:#171311;background:linear-gradient(#d95345 0 46%,#f5efe5 46%);border-color:#171311;box-shadow:0 1px 2px #0008}:root[data-theme=dark] .region-card__pokemon-status.is-caught:before{background:#171311}:root[data-theme=dark] .region-card__pokemon-status.is-caught:after{background:#fbf7ef;border-color:#171311;box-shadow:0 0 0 1px #171311}:root[data-theme=dark] .region-card__pokemon-status[data-collection-key=go].is-caught{background:linear-gradient(#4d91df 0 46%,#f5efe5 46%)}:root[data-theme=dark] .region-card__pokemon-status.is-missing{color:#9b958a;background:linear-gradient(#4b4640 0 46%,#292622 46%);border-color:#9b958a}:root[data-theme=dark] .region-card__pokemon-status.is-missing:after{background:#292622;box-shadow:0 0 0 1px #292622}@media (width<=34rem){.region-card summary{grid-template-columns:minmax(0,1fr) minmax(10rem,1.1fr) 1rem;gap:.8rem}.region-card summary:before{grid-column:3}.region-card__pokemon{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}}
