:root {
  --wiki-bg: #020817;
  --wiki-panel: rgba(7, 19, 43, .96);
  --wiki-panel-2: rgba(4, 11, 26, .98);
  --wiki-border: rgba(41, 152, 255, .34);
  --wiki-blue: #149cff;
  --wiki-gold: #e8bd5a;
  --wiki-text: #f5f7fb;
  --wiki-muted: #a9b5c9;
  --wiki-scrollbar-thumb: rgba(41,152,255,.54);
  --wiki-scrollbar-thumb-strong: rgba(41,152,255,.72);
  --wiki-scrollbar-firefox: rgba(41,152,255,.62);
  --wiki-scrollbar-track: rgba(3,12,31,.72);
  --wiki-scrollbar-track-firefox: rgba(3,12,31,.70);
}

html { scroll-behavior: smooth; }
html, body, * { scrollbar-color: var(--wiki-scrollbar-firefox) var(--wiki-scrollbar-track-firefox); scrollbar-width: thin; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: var(--wiki-scrollbar-track); border-radius: 999px; }
*::-webkit-scrollbar-thumb { background: var(--wiki-scrollbar-thumb); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: var(--wiki-scrollbar-thumb-strong); }
body { background: var(--wiki-bg); color: var(--wiki-text); }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -2;
  background: #020817 url('../assets/image/lpw-front-background.png') center/cover no-repeat;
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(2,8,23,.50), rgba(2,8,23,.96));
}

.wiki-navbar { position: fixed; inset: 0 0 auto; z-index: 50; padding: 10px 0; background: rgba(2,8,23,.80); backdrop-filter: blur(16px); }
.wiki-navbar .container { max-width: 1420px; min-height: 84px; border: 1px solid rgba(41,152,255,.48); border-radius: 18px; background: rgba(3,12,31,.90); }
.wiki-navbar .container::before { display: none !important; content: none !important; }
.wiki-navbar .logo-img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(25,157,255,.72)); }
.wiki-navbar .nav-menu a.active { color: var(--wiki-gold); }
.wiki-navbar .nav-menu a.active::after { width: 100%; }

.wiki-sidebar { position: fixed; top: 132px; left: 0; z-index: 80; pointer-events: none; }
.wiki-sidebar-toggle { width: 46px; height: 46px; position: fixed; top: 132px; left: 14px; z-index: 2; display: grid; place-items: center; color: var(--wiki-gold); border: 1px solid rgba(41,152,255,.46); border-radius: 12px; background: rgba(3,12,31,.94); box-shadow: 0 16px 36px rgba(0,0,0,.38), 0 0 18px rgba(20,156,255,.12); cursor: pointer; pointer-events: auto; }
.wiki-sidebar-toggle:hover { color: #fff; border-color: rgba(20,156,255,.72); background: rgba(7,26,61,.98); }
.wiki-sidebar-panel { width: min(292px, calc(100vw - 28px)); height: calc(100vh - 146px); max-height: calc(100vh - 146px); margin-left: 14px; position: relative; z-index: 1; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(41,152,255,.48); border-radius: 16px; background: linear-gradient(180deg, rgba(3,12,31,.96), rgba(3,14,35,.98)); box-shadow: 0 24px 60px rgba(0,0,0,.48), 0 0 26px rgba(20,156,255,.10); transform: translateX(calc(-100% - 22px)); transition: transform .22s ease; pointer-events: auto; }
.wiki-sidebar.is-open .wiki-sidebar-panel { transform: translateX(0); }
.wiki-sidebar-head { min-height: 70px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(41,152,255,.20); background: rgba(7,19,43,.84); }
.wiki-sidebar-head img { width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 0 10px rgba(25,157,255,.62)); }
.wiki-sidebar-head strong { color: #fff; font: 900 1.08rem/1 var(--font-primary); }
.wiki-sidebar-scroll { min-height: 0; padding: 10px; overflow-y: auto; overscroll-behavior: contain; }
.wiki-sidebar-wiki-group, .wiki-sidebar-nested-group { display: grid; }
.wiki-sidebar-group-row { position: relative; display: block; }
.wiki-sidebar-group-label { width: 100%; min-width: 0; padding-right: 42px; }
.wiki-sidebar-group-label:not(a) { cursor: default; }
.wiki-sidebar-tree-toggle { width: 34px; min-height: 32px; position: absolute; top: 0; right: 0; bottom: 0; display: grid; place-items: center; color: rgba(245,247,251,.58); border: 1px solid transparent; border-radius: 0 9px 9px 0; background: transparent; cursor: pointer; }
.wiki-sidebar-tree-toggle:hover { color: #fff; border-color: rgba(41,152,255,.28); background: rgba(20,156,255,.12); }
.wiki-sidebar-tree-toggle i { font-size: .72rem; transition: transform .18s ease; }
.wiki-sidebar-wiki-group.is-open > .wiki-sidebar-group-row .wiki-sidebar-tree-toggle i, .wiki-sidebar-nested-group.is-open > .wiki-sidebar-group-row .wiki-sidebar-tree-toggle i { transform: rotate(180deg); }
.wiki-sidebar-wiki-topics { margin: 4px 0 0 22px; padding: 2px 0 4px 6px; display: grid; gap: 5px; }
.wiki-sidebar-wiki-topics[hidden] { display: none; }
.wiki-sidebar-nested-links { margin: 3px 0 7px 30px; padding-left: 8px; display: grid; gap: 4px; }
.wiki-sidebar-nested-links[hidden] { display: none; }
.wiki-sidebar-wiki-topics .wiki-sidebar-link, .wiki-sidebar-nested-links .wiki-sidebar-link { min-height: 32px; padding: 6px 8px; font-size: .80rem; }
.wiki-sidebar-nested-links .wiki-sidebar-link { padding-left: 12px; }
.wiki-sidebar-link { min-height: 34px; padding: 7px 8px; display: flex; align-items: center; gap: 9px; color: rgba(245,247,251,.70); text-decoration: none; border: 1px solid transparent; border-radius: 9px; font: 800 .82rem/1.08 var(--font-secondary); }
.wiki-sidebar-link i { width: 17px; color: var(--wiki-blue); text-align: center; font-size: .82rem; }
.wiki-sidebar-link span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wiki-sidebar-link:hover, .wiki-sidebar-link.active { color: #fff; border-color: rgba(41,152,255,.28); background: rgba(20,156,255,.12); }
.wiki-sidebar-link.active i { color: var(--wiki-gold); }
.wiki-sidebar-backdrop { position: fixed; inset: 0; z-index: 0; display: none; border: 0; background: rgba(0,0,0,.46); backdrop-filter: blur(3px); pointer-events: auto; }
.wiki-sidebar.is-open .wiki-sidebar-backdrop { display: block; }

.wiki-page { padding-top: 104px; min-height: 100vh; }
.wiki-hero { padding: 78px 20px 56px; text-align: center; border-bottom: 1px solid rgba(41,152,255,.18); }
.wiki-hero-content { max-width: 820px; margin: auto; }
.wiki-wordmark { width: min(470px, 82vw); max-height: 150px; object-fit: contain; margin-bottom: 8px; }
.wiki-kicker { display: block; color: var(--wiki-gold); font: 700 .78rem/1.2 var(--font-primary); letter-spacing: .18em; text-transform: uppercase; }
.wiki-hero h1 { margin: 12px 0 8px; font: 800 clamp(2rem, 5vw, 3.6rem)/1.1 var(--font-primary); }
.wiki-hero p { color: var(--wiki-muted); font-size: 1.16rem; }
.wiki-search { max-width: 680px; height: 60px; margin: 30px auto 0; padding: 0 18px; display: flex; align-items: center; gap: 14px; background: rgba(3,12,31,.90); border: 1px solid rgba(41,152,255,.50); border-radius: 14px; box-shadow: 0 16px 45px rgba(0,0,0,.34), 0 0 20px rgba(20,156,255,.08); }
.wiki-search i { color: var(--wiki-blue); }
.wiki-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: white; background: transparent; font: 600 1rem var(--font-secondary); }
.wiki-search input::placeholder { color: #8290a7; }
.wiki-search kbd { padding: 4px 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: #91a0b8; background: rgba(255,255,255,.05); }

.wiki-topics { padding: 40px 40px 92px; }
.wiki-topic-grid { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.wiki-topic-card { min-height: 255px; padding: 22px 16px 24px; display: flex; flex-direction: column; color: var(--wiki-text); text-decoration: none; border: 1px solid rgba(41,152,255,.24); border-radius: 14px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.30); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.wiki-topic-card:hover { transform: translateY(-4px); border-color: rgba(20,156,255,.62); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 50px rgba(0,0,0,.38), 0 0 22px rgba(20,156,255,.14); }
.topic-card-top { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.topic-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; font-size: 1.3rem; background: rgba(255,255,255,.04); }
.topic-icon-blue { color: #87b7ff; }
.topic-icon-pink { color: #ff5d9e; }
.topic-icon-green { color: #6ee7a8; }
.topic-icon-purple { color: #b9a2ff; }
.topic-icon-gold { color: #f0bd47; }
.topic-icon-orange { color: #ffad72; }
.topic-icon-violet { color: #a98dff; }
.topic-icon-cyan { color: #5ed9ff; }
.topic-badge { max-width: 130px; padding: 5px 9px; color: #f2f3f7; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.04); font: 800 .76rem/1 var(--font-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wiki-topic-card h2 { margin: 28px 0 0; font: 800 1.22rem/1.2 var(--font-secondary); letter-spacing: 0; }
.wiki-topic-card p { margin: auto 0 0; color: rgba(245,247,251,.68); font-size: .98rem; line-height: 1.4; }

.topic-page { min-height: calc(100vh - 100px); }
.topic-detail-hero { padding: 78px 24px 36px; border-bottom: 1px solid rgba(41,152,255,.18); }
.topic-detail-content { width: min(1250px, 100%); margin: 0 auto; }
.topic-back-link { width: fit-content; margin-bottom: 26px; display: inline-flex; align-items: center; gap: 9px; color: var(--wiki-blue); text-decoration: none; font-weight: 800; }
.topic-back-link:hover { color: var(--wiki-gold); }
.topic-detail-content h1 { margin: 12px 0 10px; font: 800 clamp(2rem, 5vw, 3.8rem)/1.05 var(--font-primary); }
.topic-detail-content p { max-width: 720px; color: var(--wiki-muted); font-size: 1.12rem; }
.topic-content-placeholder { padding: 34px 24px 86px; }
.topic-content-card { width: min(1040px, 100%); min-height: 240px; margin: 0 auto; padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(41,152,255,.30); border-radius: 16px; background: linear-gradient(180deg, rgba(7,26,61,.90), rgba(3,14,35,.96)); box-shadow: 0 20px 55px rgba(0,0,0,.34); }
.topic-content-card h2 { margin: 22px 0 10px; font: 800 clamp(1.35rem, 3vw, 2rem)/1.2 var(--font-primary); }
.topic-content-card p { max-width: 760px; color: var(--wiki-muted); font-size: 1.05rem; }

.item-category-section { padding: 34px 32px 92px; }
.item-category-group { width: min(1250px, 100%); margin: 0 auto 34px; }
.item-category-group-decoration { width: min(720px, 100%); margin-bottom: 0; }
.item-category-header { min-height: 42px; margin-bottom: 12px; padding: 9px 18px; display: grid; place-items: center; border: 1px solid rgba(84,172,255,.38); border-radius: 10px; background: linear-gradient(180deg, rgba(21,67,124,.96), rgba(12,48,96,.96)); box-shadow: 0 14px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08); }
.item-category-header h2 { margin: 0; color: #f5f7fb; font: 900 1rem/1.1 var(--font-secondary); text-align: center; }
.item-category-grid { display: grid; gap: 12px; }
.item-category-grid-general { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.item-category-grid-decoration { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.item-category-card { min-height: 168px; padding: 18px 10px 14px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--wiki-text); text-decoration: none; border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.item-category-card:hover, .item-category-card:focus-visible, .item-category-card.active { transform: translateY(-4px); border-color: rgba(20,156,255,.64); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 52px rgba(0,0,0,.38), 0 0 24px rgba(20,156,255,.13); outline: 0; }
.item-category-card img { width: 82px; height: 84px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 12px 18px rgba(0,0,0,.36)); }
.item-category-card strong { width: 100%; min-height: 34px; display: grid; place-items: center; color: #f5f7fb; font: 900 .98rem/1.12 var(--font-secondary); text-align: center; overflow-wrap: anywhere; }
.item-category-count { min-height: 24px; padding: 5px 9px; display: grid; place-items: center; color: #bdeeff; border: 1px solid rgba(41,152,255,.28); border-radius: 999px; background: rgba(20,156,255,.12); font: 900 .72rem/1 var(--font-secondary); white-space: nowrap; }

.items-list-section { width: min(1250px, 100%); margin: 46px auto 0; scroll-margin-top: 120px; }
.items-list-section[hidden] { display: none; }
body.items-subtopic-active .topic-detail-hero { display: none; }
body.items-subtopic-active .item-category-section { padding-top: 32px; }
body.items-subtopic-active .item-category-group { display: none; }
body.items-subtopic-active .items-list-section { margin-top: 0; }
.items-list-heading { margin-bottom: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(280px, 360px); gap: 14px 18px; align-items: end; }
.items-list-heading .items-clear-filter { grid-column: 1 / -1; width: fit-content; display: inline-flex; align-items: center; gap: 9px; color: var(--wiki-blue); text-decoration: none; font: 900 .95rem/1 var(--font-secondary); }
.items-list-heading .items-clear-filter:hover { color: var(--wiki-gold); }
.items-list-heading h2 { margin: 9px 0 7px; font: 800 clamp(1.65rem, 3vw, 2.35rem)/1.08 var(--font-primary); }
.items-list-heading p { margin: 0; max-width: 620px; color: var(--wiki-muted); font-size: 1rem; line-height: 1.4; }
.items-list-count { align-self: center; padding: 8px 12px; color: #071329; border-radius: 8px; background: var(--wiki-gold); font: 900 .78rem/1 var(--font-secondary); white-space: nowrap; }
.items-search { align-self: center; }
.items-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.item-entry-card { min-height: 288px; padding: 14px 12px 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); }
.item-entry-id { align-self: flex-start; min-width: 58px; padding: 6px 9px; border: 1px solid rgba(20,156,255,.34); border-radius: 999px; color: #bdeeff; background: rgba(20,156,255,.13); font: 900 .78rem/1 var(--font-secondary); }
.item-entry-image { width: 100%; min-height: 118px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.035); }
.item-entry-image img { width: auto; height: auto; max-width: min(96px, 76%); max-height: 96px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 12px 18px rgba(0,0,0,.38)); }
.item-entry-card strong { min-height: 38px; display: grid; place-items: center; color: #fff; font: 900 .98rem/1.16 var(--font-secondary); text-align: center; overflow-wrap: anywhere; }
.item-entry-category { padding: 5px 10px; color: #071329; border-radius: 6px; background: var(--wiki-gold); font: 900 .72rem/1 var(--font-secondary); }
.item-entry-card p { margin: auto 0 0; width: 100%; color: rgba(245,247,251,.66); font-size: .9rem; line-height: 1.28; text-align: center; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

body.modal-open { overflow: hidden; }
.pokedex-header { padding: 64px 32px 22px; border-bottom: 1px solid rgba(41,152,255,.18); }
.pokedex-header-content { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 18px 28px; align-items: end; }
.pokedex-header-content .topic-back-link { grid-column: 1 / -1; margin-bottom: 6px; }
.pokedex-header h1 { margin: 10px 0 8px; font: 800 clamp(2.2rem, 5vw, 4rem)/1.05 var(--font-primary); }
.pokedex-header p { max-width: 720px; color: var(--wiki-muted); font-size: 1.12rem; }
.pokedex-search { height: 52px; padding: 0 15px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(232,189,90,.34); border-radius: 9px; background: rgba(7,26,61,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.pokedex-search i { color: rgba(245,247,251,.78); }
.pokedex-search input { min-width: 0; flex: 1; color: var(--wiki-text); border: 0; outline: 0; background: transparent; font: 700 1rem var(--font-secondary); }
.pokedex-search input::placeholder { color: rgba(245,247,251,.62); }
.pokedex-search kbd { padding: 3px 8px; color: rgba(245,247,251,.72); border: 1px solid rgba(255,255,255,.15); border-radius: 6px; background: rgba(255,255,255,.05); }
.pokedex-list { padding: 26px 32px 88px; }
.pokedex-grid { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.pokedex-card { min-height: 360px; padding: 15px 12px 18px; position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.pokedex-card:hover { transform: translateY(-4px); border-color: rgba(20,156,255,.64); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 52px rgba(0,0,0,.38), 0 0 24px rgba(20,156,255,.13); }
.pokedex-number-badge { align-self: flex-start; min-width: 54px; padding: 6px 9px; border: 1px solid rgba(20,156,255,.34); border-radius: 999px; color: #bdeeff; background: rgba(20,156,255,.13); font: 900 .78rem/1 var(--font-secondary); }
.pokedex-tier-mark { width: 42px; height: 42px; position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(232,189,90,.58); border-radius: 12px; color: var(--wiki-gold); background: linear-gradient(180deg, rgba(232,189,90,.18), rgba(232,189,90,.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(0,0,0,.28); font: 900 .78rem/1 var(--font-primary); text-align: center; }
.pokedex-tier-mark.is-missing { color: rgba(245,247,251,.62); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.045); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.pokedex-card-actions { position: absolute; top: 62px; right: 14px; display: flex; gap: 12px; color: rgba(245,247,251,.62); font-size: .95rem; }
.pokedex-image-box { width: 100%; min-height: 170px; margin-top: 2px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.035); }
.pokedex-image-box img { width: min(128px, 78%); height: 128px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 12px 18px rgba(0,0,0,.38)); }
.pokedex-card strong { margin-top: 5px; font-size: 1rem; line-height: 1.2; text-align: center; }
.pokedex-card-types, .pokedex-modal-types { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; }
.pokedex-type { padding: 4px 9px; border-radius: 999px; color: #fff; font: 900 .72rem/1 var(--font-secondary); text-transform: capitalize; }
.type-normal { background: #8b97a7; }
.type-psychic { background: #f136a6; }
.type-dark { background: #4d6683; }
.type-rock { background: #9b8c78; }
.type-flying { background: #6f86ec; }
.type-steel { background: #708aa0; }
.type-electric { background: #f1c31f; color: #1b1b1b; }
.type-dragon { background: #6554e8; }
.type-bug { background: #72c425; color: #10210a; }
.type-poison { background: #a047e8; }
.type-fire { background: #ff6b24; }
.type-water { background: #2586d9; }
.type-ice { background: #62cde8; color: #06222a; }
.type-grass { background: #3fa65a; }
.type-ground { background: #c28d46; color: #231404; }
.type-fairy { background: #f07fd8; }
.type-fighting { background: #c74f41; }
.type-ghost { background: #6d5aa8; }
.type-sem-tipo { background: #546070; }
.pokedex-region { margin-top: auto; padding: 5px 10px; color: #071329; border-radius: 6px; background: var(--wiki-gold); font: 900 .72rem/1 var(--font-secondary); }
.pokedex-empty { width: min(1250px, 100%); margin: 24px auto 0; color: var(--wiki-muted); font-size: 1.1rem; text-align: center; }
.pokedex-pagination { width: min(1250px, 100%); min-height: 52px; margin: 28px auto 0; display: flex; align-items: center; justify-content: center; gap: 10px; }
.pokedex-pagination[hidden] { display: none; }
.pokedex-page-numbers { display: flex; align-items: center; justify-content: center; gap: 8px; }
.pokedex-page-arrow, .pokedex-page-number { min-width: 42px; height: 42px; display: grid; place-items: center; color: rgba(245,247,251,.78); border: 1px solid rgba(41,152,255,.24); border-radius: 9px; background: rgba(7,26,61,.78); font: 900 .9rem/1 var(--font-secondary); cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }
.pokedex-page-arrow:hover:not(:disabled), .pokedex-page-number:hover, .pokedex-page-number.active { color: #fff; border-color: rgba(20,156,255,.62); background: rgba(20,156,255,.18); transform: translateY(-2px); }
.pokedex-page-arrow:disabled { opacity: .38; cursor: not-allowed; }
.pokedex-page-gap { min-width: 22px; color: rgba(245,247,251,.48); text-align: center; font-weight: 900; }
.pokedex-page-status { min-width: 110px; color: rgba(245,247,251,.58); font: 800 .82rem/1 var(--font-secondary); text-align: center; }
.pokedex-modal { position: fixed; inset: 0; z-index: 5000; display: none; place-items: center; padding: 24px; }
.pokedex-modal.active { display: grid; }
.pokedex-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.74); backdrop-filter: blur(8px); }
.pokedex-modal-panel { width: min(1024px, 100%); max-height: min(760px, calc(100vh - 48px)); position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(41,152,255,.34); border-radius: 14px; background: linear-gradient(180deg, rgba(14,22,50,.98), rgba(8,24,58,.98)); box-shadow: 0 28px 90px rgba(0,0,0,.65); }
.pokedex-modal-header { min-height: 74px; padding: 0 26px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(11,16,38,.72); }
.pokedex-modal-title { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pokedex-modal-title strong { color: #fff; font: 900 clamp(1.45rem, 3vw, 2rem)/1 var(--font-primary); }
.pokedex-modal-title i { color: rgba(245,247,251,.46); font-size: .85rem; }
.pokedex-modal-title span { min-width: 0; color: #ff9e1c; font: 900 1.15rem/1.1 var(--font-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pokedex-close { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 9px; color: rgba(245,247,251,.78); background: transparent; cursor: pointer; }
.pokedex-close:hover { color: #fff; background: rgba(255,255,255,.07); }
.pokedex-modal-body { min-height: 0; display: grid; grid-template-columns: 320px minmax(0, 1fr); overflow: auto; }
.pokedex-modal-profile { padding: 24px; display: grid; align-content: start; gap: 16px; border-right: 1px solid rgba(255,255,255,.08); background: rgba(7,19,43,.60); }
.pokedex-modal-image-wrap { min-height: 192px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.10); border-radius: 12px; background: rgba(255,255,255,.04); }
.pokedex-modal-image-wrap img { width: min(170px, 80%); height: 170px; object-fit: contain; filter: drop-shadow(0 16px 22px rgba(0,0,0,.42)); }
.pokedex-modal-summary { padding: 19px; display: grid; justify-items: center; gap: 8px; border: 1px solid rgba(232,189,90,.18); border-radius: 12px; background: rgba(15,25,62,.78); }
.pokedex-modal-summary span { color: rgba(245,247,251,.56); font-weight: 900; }
.pokedex-modal-summary h2 { margin: 0; font: 900 1.35rem/1.1 var(--font-secondary); }
.pokedex-modal-summary strong { min-width: 42px; min-height: 32px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: #a855f7; font: 900 .85rem/1 var(--font-secondary); }
.pokedex-modal-info { min-width: 0; background: rgba(10,26,62,.82); }
.pokedex-tabs { display: flex; gap: 8px; padding: 14px 24px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.pokedex-tabs button { padding: 15px 18px; color: rgba(245,247,251,.62); border: 0; border-bottom: 2px solid transparent; background: transparent; font: 900 .94rem/1 var(--font-secondary); cursor: pointer; }
.pokedex-tabs button i { margin-right: 8px; }
.pokedex-tabs button.active { color: #ff9e1c; border-bottom-color: #ff9e1c; }
.pokedex-tab-panel { display: none; padding: 24px; }
.pokedex-tab-panel.active { display: block; }
.pokedex-description { margin: 0 0 20px; color: rgba(245,247,251,.74); font-size: 1rem; line-height: 1.55; }
.pokedex-location-list, .pokedex-data-list { display: grid; gap: 12px; }
.pokedex-data-row { min-height: 50px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: rgba(255,255,255,.035); color: rgba(245,247,251,.88); font-weight: 800; }
.pokedex-data-row i { width: 18px; color: #ff9e1c; text-align: center; }
.pokedex-stat-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pokedex-stat-grid div { min-height: 76px; padding: 12px 9px; display: grid; place-items: center; align-content: center; gap: 7px; text-align: center; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(2,8,23,.42); }
.pokedex-stat-grid span { color: rgba(245,247,251,.54); font-size: .78rem; }
.pokedex-stat-grid strong { color: #fff; font: 900 .98rem/1.1 var(--font-primary); }
.pokedex-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pokedex-modal-panel.legacy-pokemon-panel { width: min(950px, 100%); max-height: min(560px, calc(100vh - 48px)); display: block; overflow: hidden; border: 1px solid rgba(41,152,255,.46); border-radius: 16px; background: linear-gradient(180deg, var(--wiki-panel), var(--wiki-panel-2)); box-shadow: 0 28px 90px rgba(0,0,0,.65), 0 0 30px rgba(20,156,255,.10); transition: max-height .25s ease; }
.pokedex-modal-panel.legacy-pokemon-panel.is-expanded { max-height: min(820px, calc(100vh - 48px)); overflow: auto; }
.legacy-pokemon-panel .pokedex-close { position: absolute; top: 14px; right: 14px; z-index: 3; color: rgba(245,247,251,.78); background: rgba(3,14,35,.72); border: 1px solid rgba(255,255,255,.10); }
.legacy-pokemon-card { display: grid; grid-template-columns: minmax(260px, .72fr) 1.4fr; min-height: 330px; background: rgba(255,255,255,.025); }
.legacy-pokemon-visual { position: relative; min-height: 330px; padding: 28px; display: grid; align-items: start; justify-items: start; background: radial-gradient(circle at 38% 28%, rgba(20,156,255,.16), transparent 65%); border-right: 1px solid rgba(41,152,255,.20); }
.legacy-pokemon-image-frame { width: min(220px, 80%); aspect-ratio: 1; display: grid; place-items: center; border: 1px dashed rgba(255,255,255,.20); border-radius: 18px; background: rgba(2,8,23,.20); }
.legacy-pokemon-image-frame img { width: min(176px, 82%); height: 176px; object-fit: contain; filter: drop-shadow(0 16px 22px rgba(0,0,0,.45)); }
.legacy-rarity { padding: 7px 14px; position: absolute; left: 18px; bottom: 18px; border: 1px solid #2abcf0; border-radius: 999px; color: #bdeeff; background: rgba(42,188,240,.16); font: 800 .78rem/1 var(--font-primary); text-transform: uppercase; }
.legacy-pokemon-panel:not(.is-expanded) .legacy-rarity { bottom: 44px; }
.legacy-pokemon-data { padding: clamp(26px, 4vw, 40px); }
.legacy-pokemon-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; padding-right: 36px; }
.legacy-pokemon-title small { color: var(--wiki-blue); font-weight: 800; }
.legacy-pokemon-title h2 { margin: 5px 0 0; color: var(--wiki-text); font: 800 clamp(1.8rem, 4vw, 2.75rem)/1.1 var(--font-primary); }
.legacy-grade { width: 50px; height: 50px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(232,189,90,.54); border-radius: 13px; color: var(--wiki-gold); background: rgba(232,189,90,.09); font: 900 .9rem/1 var(--font-primary); text-align: center; }
.legacy-grade[hidden] { display: none; }
.legacy-grade.is-missing { color: rgba(245,247,251,.62); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.045); }
.legacy-pokemon-data .pokedex-modal-types { justify-content: flex-start; margin: 16px 0; }
.legacy-pokemon-data .pokedex-description { margin: 0; color: var(--wiki-muted); font-size: 1.02rem; line-height: 1.65; }
.legacy-stats-grid { margin-top: 26px; margin-bottom: 0; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.legacy-stats-grid div { min-height: 74px; padding: 14px 10px; gap: 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.18); }
.legacy-stats-grid span { color: #8795ac; font-size: .78rem; }
.legacy-stats-grid strong { color: white; font: 800 .96rem/1.1 var(--font-primary); }
.legacy-expand-button { width: 100%; min-height: 48px; margin-top: 18px; padding: 0 16px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--wiki-gold); border: 1px solid rgba(232,189,90,.34); border-radius: 10px; background: rgba(232,189,90,.08); font: 900 .9rem/1 var(--font-secondary); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.legacy-expand-button:hover { color: #fff; border-color: rgba(232,189,90,.62); background: rgba(232,189,90,.14); }
.legacy-expand-button i { transition: transform .2s ease; }
.legacy-pokemon-panel.is-expanded .legacy-expand-button i { transform: rotate(180deg); }
.legacy-info-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.legacy-pokemon-panel:not(.is-expanded) .legacy-info-grid { display: none; }
.legacy-info-grid section { min-width: 0; padding: 14px; border: 1px solid rgba(41,152,255,.18); border-radius: 12px; background: rgba(2,8,23,.18); }
.legacy-info-grid h3 { margin: 0 0 12px; color: var(--wiki-gold); font: 800 .88rem/1.2 var(--font-primary); }
.legacy-info-grid h3 i { margin-right: 7px; color: var(--wiki-blue); }
.legacy-info-grid .pokedex-location-list, .legacy-info-grid .pokedex-data-list { gap: 8px; }
.legacy-info-grid .pokedex-data-row { min-height: 0; padding: 9px 10px; align-items: flex-start; border-color: rgba(255,255,255,.07); border-radius: 8px; background: rgba(0,0,0,.14); font-size: .9rem; font-weight: 700; line-height: 1.25; }
.legacy-info-grid .pokedex-data-row i { margin-top: 1px; color: var(--wiki-blue); }

.abilities-list { padding: 24px 32px 88px; }
.abilities-toolbar { width: min(1250px, 100%); margin: 0 auto 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; }
.ability-type-filters { min-width: 0; display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 7px; scrollbar-width: thin; }
.ability-filter-button { min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; color: rgba(245,247,251,.76); border: 1px solid rgba(41,152,255,.22); border-radius: 999px; background: rgba(7,26,61,.78); font: 900 .78rem/1 var(--font-secondary); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.ability-filter-button img { width: 20px; height: 20px; object-fit: contain; }
.ability-filter-button span { padding: 3px 7px; border-radius: 999px; color: #bdeeff; background: rgba(20,156,255,.12); font-size: .68rem; }
.ability-filter-button:hover, .ability-filter-button.active { color: #fff; border-color: rgba(20,156,255,.62); background: rgba(20,156,255,.18); transform: translateY(-2px); }
.abilities-grid { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ability-card { min-height: 306px; padding: 14px 12px 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.ability-card:hover { transform: translateY(-4px); border-color: rgba(20,156,255,.64); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 52px rgba(0,0,0,.38), 0 0 24px rgba(20,156,255,.13); }
.ability-card-top { width: 100%; min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ability-type-icon { width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,.35)); }
.ability-image-box { width: 100%; min-height: 116px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.035); }
.ability-image-box img { width: min(76px, 68%); height: 76px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 12px 18px rgba(0,0,0,.38)); }
.ability-card strong { min-height: 42px; display: grid; place-items: center; color: #fff; font: 900 .98rem/1.16 var(--font-secondary); text-align: center; overflow-wrap: anywhere; }
.ability-card-details { width: 100%; margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ability-card-details span { min-height: 54px; padding: 8px 6px; display: grid; place-items: center; align-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(0,0,0,.14); text-align: center; }
.ability-card-details small { color: rgba(245,247,251,.55); font-size: .7rem; }
.ability-card-details b { color: #fff; font: 900 .84rem/1 var(--font-secondary); }
.legacy-ability-panel { width: min(1080px, 100%); max-height: min(820px, calc(100vh - 48px)); display: block; overflow: auto; border: 1px solid rgba(41,152,255,.46); border-radius: 16px; background: linear-gradient(180deg, var(--wiki-panel), var(--wiki-panel-2)); box-shadow: 0 28px 90px rgba(0,0,0,.65), 0 0 30px rgba(20,156,255,.10); }
.legacy-ability-panel .pokedex-close { position: absolute; top: 14px; right: 14px; z-index: 3; color: rgba(245,247,251,.78); background: rgba(3,14,35,.72); border: 1px solid rgba(255,255,255,.10); }
.legacy-ability-card { display: grid; grid-template-columns: minmax(260px, .78fr) 1.55fr; min-height: 430px; background: rgba(255,255,255,.025); }
.legacy-ability-visual { position: relative; min-height: 430px; padding: 28px; display: grid; align-items: start; justify-items: start; background: radial-gradient(circle at 38% 28%, rgba(20,156,255,.18), transparent 65%); border-right: 1px solid rgba(41,152,255,.20); }
.legacy-ability-image-frame { width: min(220px, 80%); aspect-ratio: 1; display: grid; place-items: center; border: 1px dashed rgba(255,255,255,.20); border-radius: 18px; background: rgba(2,8,23,.20); }
.legacy-ability-image-frame img { width: min(128px, 76%); height: 128px; object-fit: contain; filter: drop-shadow(0 16px 22px rgba(0,0,0,.45)); }
.ability-modal-type { bottom: 28px; color: white; border-color: rgba(42,188,240,.55); background: rgba(42,188,240,.16); }
.ability-modal-type.type-normal { background: #8b97a7; }
.ability-modal-type.type-psychic { background: #f136a6; }
.ability-modal-type.type-dark { background: #4d6683; }
.ability-modal-type.type-rock { background: #9b8c78; }
.ability-modal-type.type-flying { background: #6f86ec; }
.ability-modal-type.type-steel { background: #708aa0; }
.ability-modal-type.type-electric { background: #f1c31f; }
.ability-modal-type.type-dragon { background: #6554e8; }
.ability-modal-type.type-bug { background: #72c425; color: #10210a; }
.ability-modal-type.type-poison { background: #a047e8; }
.ability-modal-type.type-fire { background: #ff6b24; }
.ability-modal-type.type-water { background: #2586d9; }
.ability-modal-type.type-ice { background: #62cde8; color: #06222a; }
.ability-modal-type.type-grass { background: #3fa65a; }
.ability-modal-type.type-ground { background: #c28d46; color: #231404; }
.ability-modal-type.type-fairy { background: #f07fd8; }
.ability-modal-type.type-fighting { background: #c74f41; }
.ability-modal-type.type-ghost { background: #6d5aa8; }
.ability-modal-type.type-sem-tipo { background: #546070; }
.ability-modal-type.type-electric { color: #1b1b1b; }
.ability-stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ability-info-grid { grid-template-columns: 1fr 1.2fr 1fr; }
.ability-detail-list h4 { margin: 12px 0 8px; color: rgba(245,247,251,.72); font: 900 .76rem/1 var(--font-primary); text-transform: uppercase; }
.ability-detail-list h4:first-child { margin-top: 0; }
.ability-users-list { max-height: 360px; overflow: auto; display: grid; gap: 8px; padding-right: 3px; scrollbar-width: thin; }
.ability-user-row { min-height: 54px; padding: 10px 11px; display: grid; align-content: center; gap: 4px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(0,0,0,.14); }
.ability-user-row strong { color: #fff; font: 900 .95rem/1.1 var(--font-secondary); overflow-wrap: anywhere; }
.ability-user-row span { color: rgba(245,247,251,.62); font-size: .82rem; line-height: 1.2; }

.quests-list { padding: 24px 32px 88px; }
.quests-toolbar { width: min(1250px, 100%); margin: 0 auto 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; }
.quest-category-filters { min-width: 0; display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 7px; scrollbar-width: thin; }
.quest-filter-button { min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; color: rgba(245,247,251,.76); border: 1px solid rgba(41,152,255,.22); border-radius: 999px; background: rgba(7,26,61,.78); font: 900 .78rem/1 var(--font-secondary); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.quest-filter-button i { color: var(--wiki-blue); }
.quest-filter-button span { padding: 3px 7px; border-radius: 999px; color: #bdeeff; background: rgba(20,156,255,.12); font-size: .68rem; }
.quest-filter-button:hover, .quest-filter-button.active { color: #fff; border-color: rgba(20,156,255,.62); background: rgba(20,156,255,.18); transform: translateY(-2px); }
.quests-grid { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.quest-card { min-height: 260px; padding: 16px 14px 15px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); cursor: pointer; text-align: left; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.quest-card:hover { transform: translateY(-4px); border-color: rgba(20,156,255,.64); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 52px rgba(0,0,0,.38), 0 0 24px rgba(20,156,255,.13); }
.quest-card-top { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.quest-category-mark { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: var(--wiki-gold); border: 1px solid rgba(232,189,90,.24); border-radius: 10px; background: rgba(232,189,90,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.quest-count-badge { padding: 6px 10px; color: #bdeeff; border: 1px solid rgba(20,156,255,.34); border-radius: 999px; background: rgba(20,156,255,.13); font: 900 .76rem/1 var(--font-secondary); white-space: nowrap; }
.quest-card strong { min-height: 42px; color: #fff; font: 900 1.08rem/1.16 var(--font-secondary); overflow-wrap: anywhere; }
.quest-category-label { padding: 5px 10px; color: #071329; border-radius: 6px; background: var(--wiki-gold); font: 900 .72rem/1 var(--font-secondary); }
.quest-card p { margin: 0; color: rgba(245,247,251,.68); font-size: .92rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.quest-card-meta { width: 100%; margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.quest-card-meta span { min-height: 38px; padding: 7px 8px; display: flex; align-items: center; justify-content: center; gap: 6px; color: rgba(245,247,251,.72); border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(0,0,0,.14); font: 800 .78rem/1 var(--font-secondary); text-align: center; }
.quest-card-meta i { color: var(--wiki-blue); }
.legacy-quest-panel { width: min(1080px, 100%); max-height: min(820px, calc(100vh - 48px)); display: block; overflow: auto; border: 1px solid rgba(41,152,255,.46); border-radius: 16px; background: linear-gradient(180deg, var(--wiki-panel), var(--wiki-panel-2)); box-shadow: 0 28px 90px rgba(0,0,0,.65), 0 0 30px rgba(20,156,255,.10); }
.legacy-quest-panel .pokedex-close { position: absolute; top: 14px; right: 14px; z-index: 3; color: rgba(245,247,251,.78); background: rgba(3,14,35,.72); border: 1px solid rgba(255,255,255,.10); }
.legacy-quest-card { display: grid; grid-template-columns: minmax(260px, .7fr) 1.6fr; min-height: 430px; background: rgba(255,255,255,.025); }
.legacy-quest-summary { position: relative; min-height: 430px; padding: 28px; display: grid; align-content: start; gap: 18px; background: radial-gradient(circle at 38% 28%, rgba(20,156,255,.18), transparent 65%); border-right: 1px solid rgba(41,152,255,.20); }
.quest-modal-icon { width: min(180px, 80%); aspect-ratio: 1; display: grid; place-items: center; color: var(--wiki-gold); border: 1px dashed rgba(255,255,255,.20); border-radius: 18px; background: rgba(2,8,23,.20); font-size: 4rem; filter: drop-shadow(0 16px 22px rgba(0,0,0,.45)); }
.quest-modal-category { position: static; width: fit-content; color: var(--wiki-gold); border-color: rgba(232,189,90,.42); background: rgba(232,189,90,.10); }
.quest-modal-stats { margin-top: auto; display: grid; gap: 10px; }
.quest-modal-stats div { min-height: 70px; padding: 12px 10px; display: grid; place-items: center; align-content: center; gap: 6px; text-align: center; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.18); }
.quest-modal-stats span { color: #8795ac; font-size: .78rem; }
.quest-modal-stats strong { color: white; font: 800 1rem/1.1 var(--font-primary); }
.legacy-quest-data { min-width: 0; }
.quest-info-grid { grid-template-columns: 1.25fr .85fr .85fr; }
.quest-missions-section { grid-row: span 2; }
.quest-missions-list { max-height: 430px; overflow: auto; display: grid; gap: 10px; padding-right: 3px; scrollbar-width: thin; }
.quest-mission-row { min-height: 74px; padding: 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(0,0,0,.14); }
.quest-mission-index { width: 34px; height: 34px; display: grid; place-items: center; color: #071329; border-radius: 9px; background: var(--wiki-gold); font: 900 .86rem/1 var(--font-secondary); }
.quest-mission-row h3 { margin: 0 0 6px; color: #fff; font: 900 1rem/1.15 var(--font-secondary); }
.quest-mission-row p { margin: 0; color: rgba(245,247,251,.70); font-size: .9rem; line-height: 1.35; }
.quest-mission-row ol { margin: 10px 0 0; padding-left: 18px; color: rgba(245,247,251,.72); font-size: .88rem; line-height: 1.35; }
.quest-mission-row li + li { margin-top: 5px; }

.systems-topic-section { padding: 34px 32px 92px; }
.systems-grid { width: min(1250px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.system-topic-card { min-height: 230px; padding: 18px 16px 17px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; color: var(--wiki-text); text-decoration: none; border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.system-topic-card:hover, .system-topic-card:focus-visible { transform: translateY(-4px); border-color: rgba(20,156,255,.64); background: linear-gradient(180deg, rgba(10,39,86,.98), rgba(4,20,48,.99)); box-shadow: 0 24px 52px rgba(0,0,0,.38), 0 0 24px rgba(20,156,255,.13); outline: 0; }
.system-topic-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--wiki-gold); border: 1px solid rgba(232,189,90,.24); border-radius: 11px; background: rgba(232,189,90,.08); font-size: 1.12rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.system-topic-card .topic-badge { align-self: flex-end; margin-top: -56px; }
.system-topic-card strong { margin-top: 12px; color: #fff; font: 900 1.15rem/1.16 var(--font-secondary); }
.system-topic-card p { margin: auto 0 0; color: rgba(245,247,251,.68); font-size: .95rem; line-height: 1.35; }
.systems-detail-section { width: min(1250px, 100%); margin: 46px auto 0; scroll-margin-top: 120px; }
.systems-detail-section[hidden] { display: none; }
body.systems-subtopic-active .systems-hero { display: none; }
body.systems-subtopic-active .systems-topic-section { padding-top: 32px; }
body.systems-subtopic-active .systems-grid { display: none; }
body.systems-subtopic-active .systems-detail-section { margin-top: 0; }
.systems-detail-content { min-width: 0; }
.system-rich-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.system-rate-grid, .system-tier-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.system-rich-card { min-height: 240px; padding: 16px 14px; display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); text-align: center; }
.system-rich-card img { width: 76px; height: 76px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0,0,0,.36)); }
.system-rich-card strong { color: #fff; font: 900 1.05rem/1.15 var(--font-secondary); overflow-wrap: anywhere; }
.system-rich-card p { margin: 0; color: rgba(245,247,251,.68); font-size: .92rem; line-height: 1.34; }
.system-mini-stats { width: 100%; margin-top: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.system-mini-stats div, .system-summary-strip div { min-height: 66px; padding: 10px 7px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.18); text-align: center; }
.system-mini-stats span, .system-summary-strip span { color: #8795ac; font-size: .72rem; }
.system-mini-stats strong, .system-summary-strip strong { color: #fff; font: 900 .88rem/1.1 var(--font-primary); overflow-wrap: anywhere; }
.rate-system-card .legacy-grade, .tier-system-card .legacy-grade { position: static; width: 54px; height: 54px; }
.system-combat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.system-panel-section { min-width: 0; padding: 16px; border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); }
.system-panel-section h3 { margin: 0 0 14px; color: var(--wiki-gold); font: 900 1rem/1.15 var(--font-primary); }
.system-panel-section h3 i { margin-right: 8px; color: var(--wiki-blue); }
.system-table-like { display: grid; gap: 8px; }
.system-table-like article { min-height: 64px; padding: 11px; display: grid; grid-template-columns: .8fr .65fr .65fr minmax(0, 1.8fr); gap: 9px; align-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(0,0,0,.14); }
.system-table-like strong { color: #fff; font: 900 .92rem/1.1 var(--font-secondary); }
.system-table-like span { color: #bdeeff; font: 900 .84rem/1 var(--font-secondary); }
.system-table-like p { margin: 0; color: rgba(245,247,251,.66); font-size: .85rem; line-height: 1.25; }
.system-summary-strip { margin-bottom: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.system-region-list { margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.system-region-list span { min-height: 30px; padding: 7px 10px; display: inline-flex; align-items: center; gap: 7px; color: rgba(245,247,251,.78); border: 1px solid rgba(41,152,255,.20); border-radius: 999px; background: rgba(7,26,61,.62); font: 800 .78rem/1 var(--font-secondary); }
.system-region-list b { color: var(--wiki-gold); }
.system-record-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.system-record-card { min-height: 214px; padding: 14px 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 11px; color: var(--wiki-text); border: 1px solid rgba(41,152,255,.24); border-radius: 13px; background: linear-gradient(180deg, rgba(7,26,61,.96), rgba(3,14,35,.98)); box-shadow: 0 18px 38px rgba(0,0,0,.28); }
.system-record-card strong { min-height: 40px; color: #fff; font: 900 1rem/1.16 var(--font-secondary); overflow-wrap: anywhere; }
.system-record-card p { margin: 0; color: rgba(245,247,251,.68); font-size: .9rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.wiki-footer { border-top: 1px solid rgba(41,152,255,.20); background: rgba(2,8,23,.92); }
.wiki-footer .container { min-height: 100px; display: flex; align-items: center; gap: 14px; }
.wiki-footer img { width: 70px; height: 70px; object-fit: contain; }
.wiki-footer div div { display: grid; gap: 2px; }
.wiki-footer strong { color: var(--wiki-gold); font-family: var(--font-primary); }
.wiki-footer span { color: var(--wiki-muted); }

@media (min-width: 1320px) {
  body.has-wiki-sidebar .wiki-page,
  body.has-wiki-sidebar .wiki-footer { margin-left: 318px; }
  .wiki-sidebar { top: 150px; left: 22px; width: 288px; height: calc(100vh - 164px); max-height: calc(100vh - 164px); z-index: 45; pointer-events: auto; }
  .wiki-sidebar-toggle, .wiki-sidebar-backdrop { display: none; }
  .wiki-sidebar-panel { width: 288px; height: calc(100vh - 164px); max-height: calc(100vh - 164px); margin-left: 0; transform: none; }
}

@media (max-width: 1100px) {
  .wiki-navbar .nav-menu, .wiki-navbar .nav-actions { display: none; }
  .wiki-navbar .mobile-menu-toggle { display: flex; }
  .wiki-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .item-category-grid-general { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .items-list-heading { grid-template-columns: 1fr; align-items: stretch; }
  .items-list-count { width: fit-content; }
  .items-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .abilities-toolbar { grid-template-columns: 1fr; }
  .abilities-toolbar .items-list-count { width: fit-content; }
  .abilities-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .quests-toolbar { grid-template-columns: 1fr; }
  .quests-toolbar .items-list-count { width: fit-content; }
  .quests-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pokedex-header-content { grid-template-columns: 1fr; }
  .pokedex-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pokedex-modal-body { grid-template-columns: 1fr; }
  .pokedex-modal-profile { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .pokedex-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legacy-pokemon-card { grid-template-columns: 1fr; }
  .legacy-pokemon-visual { min-height: 250px; border-right: 0; border-bottom: 1px solid rgba(41,152,255,.24); }
  .legacy-ability-card { grid-template-columns: 1fr; }
  .legacy-ability-visual { min-height: 250px; border-right: 0; border-bottom: 1px solid rgba(41,152,255,.24); }
  .ability-info-grid { grid-template-columns: 1fr; }
  .legacy-quest-card { grid-template-columns: 1fr; }
  .legacy-quest-summary { min-height: 250px; border-right: 0; border-bottom: 1px solid rgba(41,152,255,.24); }
  .quest-info-grid { grid-template-columns: 1fr; }
  .systems-grid, .system-rich-grid, .system-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-rate-grid, .system-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-combat-grid { grid-template-columns: 1fr; }
  .system-table-like article { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .system-table-like p { grid-column: 1 / -1; }
  .legacy-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .wiki-page { padding-top: 92px; }
  .wiki-sidebar { top: 96px; }
  .wiki-sidebar-toggle { top: 96px; left: 10px; }
  .wiki-sidebar-panel { height: calc(100vh - 110px); max-height: calc(100vh - 110px); margin-left: 10px; }
  .wiki-navbar .container { min-height: 68px; }
  .wiki-navbar .logo-img { width: 50px; height: 50px; }
  .wiki-hero { padding-top: 50px; }
  .wiki-search kbd { display: none; }
  .wiki-topics { padding: 24px 18px 68px; }
  .wiki-topic-grid { grid-template-columns: 1fr; gap: 12px; }
  .wiki-topic-card { min-height: 215px; }
  .item-category-section { padding: 24px 18px 68px; }
  .item-category-header { min-height: 38px; padding: 8px 14px; }
  .item-category-header h2 { font-size: .92rem; }
  .item-category-grid-general, .item-category-grid-decoration { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .item-category-card { min-height: 156px; padding: 15px 8px 13px; gap: 8px; }
  .item-category-card img { width: 70px; height: 72px; }
  .item-category-card strong { min-height: 30px; font-size: .9rem; }
  .item-category-count { font-size: .68rem; }
  .items-list-section { margin-top: 34px; scroll-margin-top: 96px; }
  .items-list-heading { margin-bottom: 14px; }
  .items-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .item-entry-card { min-height: 246px; padding: 12px 10px 14px; }
  .item-entry-image { min-height: 94px; }
  .item-entry-image img { max-width: min(74px, 76%); max-height: 74px; }
  .item-entry-card p { font-size: .84rem; }
  .abilities-list { padding: 20px 18px 64px; }
  .ability-type-filters { gap: 7px; }
  .ability-filter-button { min-height: 36px; padding: 0 10px; font-size: .74rem; }
  .abilities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ability-card { min-height: 262px; padding: 12px 10px 14px; }
  .ability-image-box { min-height: 90px; }
  .ability-image-box img { width: min(62px, 68%); height: 62px; }
  .ability-card strong { min-height: 36px; font-size: .9rem; }
  .ability-card-details { grid-template-columns: 1fr; }
  .legacy-ability-data { padding: 22px 18px; }
  .legacy-ability-image-frame { width: min(190px, 80%); }
  .legacy-ability-image-frame img { width: min(112px, 76%); height: 112px; }
  .ability-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quests-list { padding: 20px 18px 64px; }
  .quest-category-filters { gap: 7px; }
  .quest-filter-button { min-height: 36px; padding: 0 10px; font-size: .74rem; }
  .quests-grid { grid-template-columns: 1fr; gap: 10px; }
  .quest-card { min-height: 224px; padding: 14px 12px; }
  .quest-card p { -webkit-line-clamp: 3; }
  .legacy-quest-data { padding: 22px 18px; }
  .quest-modal-icon { width: min(150px, 72%); font-size: 3.2rem; }
  .quest-modal-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quest-modal-stats div { min-height: 62px; padding: 10px 7px; }
  .quest-mission-row { grid-template-columns: 30px minmax(0, 1fr); padding: 10px; }
  .quest-mission-index { width: 30px; height: 30px; }
  .systems-topic-section { padding: 24px 18px 68px; }
  .systems-grid, .system-rich-grid, .system-record-grid, .system-rate-grid, .system-tier-grid { grid-template-columns: 1fr; gap: 10px; }
  .system-topic-card { min-height: 200px; padding: 15px 13px; }
  .system-topic-card .topic-badge { margin-top: -52px; }
  .systems-detail-section { margin-top: 34px; scroll-margin-top: 96px; }
  .system-mini-stats, .system-summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-summary-strip div:first-child { grid-column: 1 / -1; }
  .system-table-like article { grid-template-columns: 1fr; }
  .system-rich-card, .system-record-card { min-height: 0; }
  .pokedex-header { padding: 42px 18px 20px; }
  .pokedex-list { padding: 20px 18px 64px; }
  .pokedex-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .pokedex-card { min-height: 292px; padding: 12px 10px 14px; }
  .pokedex-image-box { min-height: 126px; }
  .pokedex-image-box img { width: min(96px, 78%); height: 96px; }
  .pokedex-modal { padding: 10px; }
  .pokedex-modal-header { padding: 0 14px; }
  .pokedex-modal-title strong { font-size: 1.2rem; }
  .pokedex-tabs { padding: 10px 12px 0; overflow-x: auto; }
  .pokedex-tab-panel, .pokedex-modal-profile { padding: 16px; }
  .pokedex-pagination { flex-wrap: wrap; gap: 8px; }
  .pokedex-page-status { width: 100%; order: 3; }
  .legacy-pokemon-data { padding: 22px 18px; }
  .legacy-pokemon-title { padding-right: 34px; }
  .legacy-pokemon-title h2 { font-size: 1.65rem; }
  .legacy-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
