.pokedex{max-width:1240px;margin:75px auto;padding:38px;border:1px solid #eed6e1;background:#fffcfa;border-radius:28px}.pokedex .section-heading{margin-bottom:22px}.dex-tools{display:flex;gap:12px;flex-wrap:wrap}.dex-tools input,.dex-tools select{font:inherit;font-size:14px;color:var(--ink);border:1px solid #e6cad8;border-radius:12px;background:#fff;padding:13px 16px}.dex-tools input{flex:1;min-width:180px}.dex-pagination button{border:1px solid #eed6e1;border-radius:20px;padding:7px 15px;background:#fce8ef;color:#aa456c;font:inherit;font-size:12px}.dex-status,.dex-disclaimer{font-size:12px;color:var(--muted)}.dex-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0}.dex-card{padding:14px 10px;text-align:center;border:1px solid #f0e2e5;border-radius:16px;background:#fff9fb;overflow-wrap:anywhere}.dex-art{width:96px;height:96px;background-size:960px 960px;margin:0 auto 8px;image-rendering:pixelated}.dex-card small{color:#b47d98;font-size:10px}.dex-card h3{font-size:16px;margin:2px 0;font-weight:600}.dex-english{display:block;color:var(--muted);font-size:10px}.dex-card p{font-size:11px;margin:8px 0}.dex-badge{display:inline-block;font-size:10px;padding:2px 9px;border-radius:12px;background:#f8e7ef;color:#aa456c}.dex-pagination{display:flex;gap:20px;align-items:center;justify-content:center;font-size:12px}.dex-pagination button:disabled{opacity:.4;cursor:default}.dex-empty{grid-column:1/-1;text-align:center;padding:35px;color:var(--muted)}.dex-jump{display:inline-block;margin:15px 0 0;color:#aa456c;font-size:13px;text-decoration:underline;text-underline-offset:5px}.pokemon-cast{min-height:510px;border-radius:28px;border:1px solid #eed6e1;background:radial-gradient(ellipse at 50% 30%,#fffdf6,#fae7ef 70%);padding:35px;display:flex;flex-direction:column;justify-content:center;text-align:center}.cast-title{font-size:11px;color:#b47d98;letter-spacing:2px}.cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.cast-portrait{margin:0;padding:20px 10px;background:#ffffffaa;border:1px solid #efdae4;border-radius:20px}.cast-portrait .dex-art{transform:scale(1.35);margin:18px auto 26px}.cast-portrait strong{display:block;font-size:16px;font-weight:500}.cast-portrait small{font-size:10px;color:#927383}.cast-note{font-size:11px;color:#927383;line-height:1.9}.feature-cover-image .pokemon-cast{height:100%;border:0;border-radius:0;min-height:390px;padding:24px}.feature-cover-image .cast-grid{gap:10px;margin:12px 0}.feature-cover-image .cast-portrait{padding:5px}.feature-cover-image .cast-portrait .dex-art{transform:none;margin:0 auto}.feature-cover-image .cast-portrait strong{font-size:13px}.feature-cover-image .cast-title{font-size:9px}.feature-cover-image .cast-note{font-size:9px}.feature-cover-image .cover-label{display:none}
@media(max-width:1320px){.pokedex{margin:55px 40px}}@media(max-width:1000px){.dex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pokemon-cast{padding:20px}.cast-grid{gap:10px}.cast-portrait strong{font-size:13px}}@media(max-width:700px){.pokedex{margin:45px 22px;padding:22px 14px;border-radius:22px}.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dex-tools input,.dex-tools select{width:100%}.pokemon-cast{min-height:450px;padding:18px}.hero-scene figcaption{font-size:8px}.feature-cover-image{aspect-ratio:auto}.dex-pagination{gap:12px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Owner-provided cover: preserve the whole composition at every breakpoint. */
.hero-scene .art-frame{aspect-ratio:1376/768;border-radius:24px;background:#15233d}.hero-scene .art-frame>img{width:100%;height:100%;object-fit:contain;object-position:center}.feature-cover-image{background:#15233d;min-height:0;display:flex;align-items:center}.feature-cover-image>img{width:100%;height:auto;object-fit:contain}.feature-cover-image .cover-label{display:block}.hero-scene figcaption{flex-wrap:wrap}
@media(max-width:1000px){.hero{grid-template-columns:1fr;gap:32px}.hero-scene{width:100%}.hero-scene .art-frame{aspect-ratio:1376/768;border-radius:22px}.hero-scene figcaption{flex-direction:row}}

/* Homepage-style hero: the illustration fades into the shared sakura paper. */
.hero{position:relative;isolation:isolate;display:block;overflow:hidden;min-height:640px;padding:60px 48px;background:#fff9f7}
.hero .hero-copy{position:relative;z-index:2;max-width:510px;width:46%}
.hero .hero-scene{position:absolute;inset:0;z-index:0;margin:0;width:auto;pointer-events:none}
.hero .hero-scene .art-frame{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;background:none;overflow:hidden}
.hero .hero-scene .art-frame>img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.hero .hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff9f7 0%,#fff9f7fa 27%,#fff9f7ce 39%,#fff9f770 51%,#fff9f71a 66%,#fff9f708 100%),linear-gradient(180deg,#fff9f71a,transparent 12%,transparent 88%,#fff9f755);z-index:1}
.hero .hero-scene figcaption{position:absolute;z-index:2;right:20px;bottom:18px;display:block;background:#fff9f7d9;border-radius:7px;padding:5px 10px;margin:0;color:#927383;font-size:8px;letter-spacing:.6px}
.hero .hero-scene figcaption span:first-child{display:none}
.hero h1{font-size:78px;letter-spacing:-3px}.hero h1 small{font-size:25px;letter-spacing:4px}.hero .hero-intro{font-size:25px}.hero .hero-description{font-size:14px}
@media(max-width:1120px){.hero{padding:48px 36px;min-height:620px}.hero .hero-copy{width:49%}.hero h1{font-size:66px}.hero h1 small{font-size:23px}.hero .hero-intro{font-size:23px}.hero .hero-scene .art-frame>img{object-position:60% center}}
@media(max-width:800px){.hero{padding:36px 30px;min-height:600px}.hero .hero-copy{width:57%}.hero h1{font-size:59px}.hero .hero-intro{font-size:21px}.hero .hero-description{font-size:13px}.hero .hero-scene::after{background:linear-gradient(90deg,#fff9f7 0%,#fff9f7f5 36%,#fff9f7b3 53%,#fff9f726 78%)}.hero .hero-scene .art-frame>img{object-position:63% center}}
@media(max-width:600px){.hero{padding:30px 24px 340px;min-height:800px}.hero .hero-copy{width:100%;max-width:none}.hero h1{font-size:clamp(45px,12vw,64px);margin-bottom:22px}.hero h1 small{font-size:22px}.hero .hero-intro{font-size:22px}.hero .hero-description{font-size:13px}.hero .hero-scene{inset:390px 0 0}.hero .hero-scene .art-frame>img{object-position:60% bottom}.hero .hero-scene::after{background:linear-gradient(180deg,#fff9f7 0%,#fff9f7cc 10%,#fff9f74d 27%,transparent 45%,#fff9f71a 100%)}.hero .hero-scene figcaption{right:12px;bottom:12px;font-size:7px}}

/* Shift the desktop illustration one fifth of the hero width to the right. */
@media(min-width:601px){.hero .hero-scene .art-frame>img{transform:translateX(20%)}}


/* Keep the original gameplay chapters together before the searchable Pokedex. */
.rare+.pokedex{margin-top:60px}
@media(max-width:700px){.rare+.pokedex{margin-top:40px}}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero-actions .button{gap:12px;padding:13px 17px;white-space:nowrap}.hero-actions .button.secondary{background:#fff9f7e8;color:#aa456c;border-color:#e6bfd1;box-shadow:none}.hero-actions .button.secondary:hover{background:#fce8ef}.dex-page-heading{max-width:1240px;margin:40px auto 25px}.dex-back{font-size:13px;color:#aa456c}.dex-page-heading h1{font-size:40px;color:#634153;margin:18px 0 8px}.dex-page-heading>p{font-size:14px;color:#927383}.pokedex-page .pokedex{margin-top:0}.pokedex-page .site-footer{margin-top:55px}
@media(max-width:1320px){.dex-page-heading{margin-left:40px;margin-right:40px}}@media(max-width:700px){.dex-page-heading{margin:28px 22px 22px}.dex-page-heading h1{font-size:32px}.hero-actions{gap:8px}.hero-actions .button{font-size:11px;padding:11px 12px;gap:8px}}
