.wiki-main, .wiki-reading { --wiki-ink: #c6b7da; }
.tab[aria-current="location"] { color: var(--grape-lit); border-color: var(--grape); }
.wiki-main [hidden], .wiki-reading [hidden] { display: none; }
.wiki-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(2rem, 6vw, 5rem);
  border-bottom: 1px solid var(--line);
  background: #191324;
}
.wiki-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 0 24%;
  background: linear-gradient(90deg, #191324 0%, rgba(25,19,36,.92) 12%, rgba(25,19,36,.05) 67%),
    url("../img/screens/bridge.png") center 53% / cover;
}
.wiki-hero-copy { max-width: 31rem; }
.wiki-hero h1 { font-size: clamp(3.4rem, 7vw, 6rem); letter-spacing: -.055em; line-height: 1; }
.wiki-hero-copy > p:last-child { margin-top: 1.2rem; max-width: 24rem; font-size: 1.2rem; color: #e0d9e9; }
.wiki-version, .wiki-checked { font: .85rem var(--font-data); color: var(--lilac); }
.wiki-version { margin-bottom: .85rem; }
.wiki-directory, .wiki-reading { padding: clamp(1.2rem, 4vw, 3.3rem); }
.wiki-directory-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.wiki-directory-head h2 { font-size: 2.1rem; }
.wiki-search { display: grid; gap: .35rem; }
.wiki-directory-head .wiki-search { width: min(20rem, 100%); }
.wiki-search label { font: 600 .85rem var(--font-ui); color: var(--wiki-ink); }
.wiki-search input {
  font: inherit; color: var(--bone); border: 1px solid #665278; border-radius: 4px;
  background: #130f1d; padding: .65rem .85rem; width: min(20rem, 100%);
}
.wiki-search input::placeholder { color: #b1a1bf; }
.wiki-result { color: var(--wiki-ink); margin: .6rem 0; }
.wiki-group {
  display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(0, 4fr);
  border-top: 1px solid var(--line); padding: 1.5rem 0; gap: 1.5rem;
}
.wiki-group > h2 { font-size: 1.25rem; color: #dbc1f4; padding-top: .8rem; }
.wiki-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.wiki-topic {
  position: relative; display: grid; align-content: start; gap: .35rem; padding: .9rem 2rem .95rem 1rem;
  background: var(--panel); border: 1px solid var(--line); border-radius: 4px; color: var(--bone);
}
.wiki-topic strong { font: 600 1.05rem var(--font-ui); }
.wiki-topic span { color: #c3b9cc; line-height: 1.45; }
.wiki-topic::after { content: "↗"; color: var(--lilac); position: absolute; right: .8rem; top: .8rem; }
.wiki-topic:hover, .wiki-topic:focus-visible { color: #fff; border-color: #9774ba; background: var(--panel-hi); }
.wiki-back, .wiki-reading article a, .wiki-contents a { color: #d6a8ff; text-decoration: underline; text-underline-offset: .18em; }
.wiki-back { font: 600 .95rem var(--font-ui); }
.wiki-columns { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3.2fr); gap: clamp(1.2rem, 5vw, 5rem); margin-top: 2rem; }
.wiki-contents nav { position: sticky; top: 1rem; padding-left: 1rem; border-left: 2px solid #7048b0; }
.wiki-contents h2 { font-size: 1rem; }
.wiki-contents ul { list-style: none; padding: 0; margin: .8rem 0; }
.wiki-contents li + li { margin-top: .55rem; }
.wiki-reading article { max-width: 54rem; font-size: 1.05rem; line-height: 1.65; overflow-wrap: anywhere; }
.wiki-reading article h1 { font-size: clamp(2.1rem, 4.3vw, 3.6rem); margin-bottom: 1.25rem; letter-spacing: -.035em; }
.wiki-reading article h2 { margin: 2rem 0 .65rem; font-size: 1.45rem; scroll-margin-top: 1rem; color: #e9ccff; }
.wiki-reading article p + p, .wiki-reading article ul, .wiki-reading article figure { margin-top: .8rem; }
.wiki-reading article li + li { margin-top: .45rem; }
.wiki-reading article figure { max-width: 40rem; }
.wiki-reading article figure img { width: 100%; border-radius: 5px; }
.wiki-reading figcaption, .wiki-reading caption { color: var(--wiki-ink); font-size: .9rem; }
.wiki-reading table { border-collapse: collapse; width: 100%; margin: 1rem 0; font-size: .95rem; }
.wiki-reading th, .wiki-reading td { padding: .45rem .65rem; text-align: left; border-bottom: 1px solid var(--line); }
.wiki-reading th { background: #2d203c; color: #f6e7ff; }
.wiki-reading td { vertical-align: top; }
.wiki-reading tbody tr:nth-child(even) { background: #1b1425; }
.wiki-reading caption { text-align: left; padding: .6rem; }
.wiki-table-scroll { overflow: auto; max-height: 30rem; border: 1px solid var(--line); }
.wiki-table-scroll table { margin: 0; }
.wiki-table-scroll th { position: sticky; top: 0; }
.wiki-checked { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 1rem; }
@media (max-width: 760px) {
  .wiki-hero::before { inset-inline-start: 0; background-position: center, 66% center; opacity: .45; }
  .wiki-hero { padding: 2.4rem 1.4rem; }
  .wiki-directory-head, .wiki-group, .wiki-columns { display: grid; grid-template-columns: 1fr; gap: 1rem; }
  .wiki-contents nav { position: static; }
  .wiki-contents ul { display: flex; flex-wrap: wrap; column-gap: 1rem; }
  .wiki-contents li + li { margin-top: 0; }
  .wiki-search input { width: 100%; }
}
@media (max-width: 520px) {
  .wiki-links { grid-template-columns: 1fr; }
  .wiki-reading th, .wiki-reading td { padding: .4rem; }
}

.wiki-reading article.dex-catalog { max-width: none; }
.dex-catalog { margin-top: 1.8rem; }
.dex-intro {
  padding: 1.6rem clamp(6rem, 18vw, 12rem) 1.6rem 1.4rem;
  border-block: 1px solid var(--line);
  background: url("/assets/brand/purpleball.webp") right 1rem center / auto 75% no-repeat, #21162e;
}
.dex-intro p { max-width: 43rem; }
.dex-guide { padding: .7rem 0; }
.dex-guide summary { cursor: pointer; color: var(--lilac); }
.dex-controls { display: flex; gap: 1rem; align-items: end; margin-block: 1.35rem .7rem; }
.dex-controls label { display: grid; gap: .3rem; font: 600 .9rem var(--font-ui); }
.dex-controls > div { display: grid; gap: .3rem; }
.dex-controls input, .dex-controls select, .dex-pagination button {
  background: #18111f; color: var(--bone); border: 1px solid #685578; border-radius: 4px;
  font: inherit; padding: .65rem .8rem;
}
.dex-controls input { width: min(24rem, 100%); }
.dex-pagination { display: flex; align-items: center; gap: .45rem; padding: .45rem 0; }
.dex-pagination p { flex: 1; color: var(--wiki-ink); font: .95rem var(--font-data); }
.dex-pagination button { padding: .4rem .65rem; cursor: pointer; }
.dex-pagination button:disabled { opacity: .5; cursor: default; }
.wiki-reading .dex-grid { list-style: none; padding: 0; display: grid; gap: .55rem; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.wiki-reading .dex-grid li { margin: 0; min-width: 0; }
.wiki-reading .dex-card {
  display: grid; align-content: start; gap: .4rem; height: 100%; text-decoration: none;
  padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 4px; background: var(--panel);
}
.wiki-reading .dex-card:hover, .wiki-reading .dex-card:focus-visible { border-color: var(--grape-lit); background: var(--panel-hi); }
.dex-number { color: #c9a5e8; font: .85rem var(--font-data); letter-spacing: .04em; }
.dex-card strong { color: var(--bone); font: 600 1.2rem var(--font-ui); }
.dex-types { display: flex; flex-wrap: wrap; gap: .35rem; }
.dex-type {
  display: inline-flex; align-items: center; gap: .35rem; color: #ede7f4; border-radius: 3px;
  font: .85rem var(--font-ui); background: #2e2537; padding: .18rem .45rem;
}
.dex-type::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--type-color, #b6a6b6); }
.dex-type[data-type="grass"], .dex-type[data-type="bug"] { --type-color: #8fcc71; }
.dex-type[data-type="fire"], .dex-type[data-type="fighting"] { --type-color: #fa977a; }
.dex-type[data-type="water"], .dex-type[data-type="dragon"] { --type-color: #80b7ff; }
.dex-type[data-type="electric"] { --type-color: #f4d764; }
.dex-type[data-type="ground"], .dex-type[data-type="rock"] { --type-color: #e3c590; }
.dex-type[data-type="psychic"], .dex-type[data-type="fairy"] { --type-color: #f5a4d1; }
.dex-type[data-type="poison"], .dex-type[data-type="ghost"] { --type-color: #bf8be1; }
.dex-type[data-type="ice"], .dex-type[data-type="flying"] { --type-color: #9ed8e1; }
.dex-breadcrumb, .dex-jumps { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.dex-page a { color: #deaaff; }
.dex-heading { padding-block: 1.7rem; border-bottom: 1px solid var(--line); }
.dex-heading h1 { margin-block: .4rem .65rem; font-size: clamp(2.4rem, 5vw, 4rem); }
.dex-jumps { margin: 1rem 0 2rem; }
.dex-jumps a { font: 600 .9rem var(--font-ui); padding: .4rem .7rem; border: 1px solid var(--line); border-radius: 4px; }
.dex-page article { margin-inline: auto; }
.dex-page section { margin-bottom: 2.4rem; }
.dex-page small { display: block; color: var(--wiki-ink); }
.dex-page th[scope="row"] { background: transparent; }
.dex-note { color: var(--wiki-ink); font-size: .93rem; }
.dex-page details { margin-top: .7rem; padding: .7rem 1rem; background: var(--panel); }
.dex-page summary { cursor: pointer; color: var(--lilac); }
.dex-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); gap: .6rem; margin-block: 1rem; }
.dex-stat { background: var(--panel); border: 1px solid var(--line); padding: .65rem; }
.dex-stat dt { color: var(--wiki-ink); font-size: .9rem; }
.dex-stat dd { margin: 0; font: 600 1.15rem var(--font-ui); }
.dex-stat meter { width: 100%; display: block; margin-top: .35rem; }
@media (max-width: 540px) {
  .dex-intro { padding: 1rem; background-image: none; }
  .dex-controls { display: grid; grid-template-columns: 1fr; }
  .dex-controls input { width: 100%; }
  .wiki-reading .dex-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wiki-reading .dex-card { padding: .7rem; }
}
