/* Native documentation styles based on Bootstrap's typographic scale. */
:root{color-scheme:light;--brand:#3e57b7;--accent:#a0291d;--bg:#fff;--surface:#f8f9fa;--text:#212529;--heading:#000;--muted:#6c757d;--border:#dee2e6;--soft:#e9edfa;--link:#0d6efd;--link-hover:#0a58ca;--button-bg:#3e57b7;--nav-active:#3e57b7;--info:#e4e9f7;--info-text:#2e428c;--info-border:#899bd5;--warning:#fff3cd;--warning-text:#664d03;--warning-border:#ffe69c;--code:#f8f9fa;--code-text:#d63384;--header-height:64px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#000;--surface:#121212;--text:#dee2e6;--heading:#fff;--muted:#adb5bd;--border:#303030;--soft:#1b2545;--link:#6ea8fe;--link-hover:#8bb9fe;--nav-active:#a9bbff;--info:#1c274a;--info-text:#c3cef2;--info-border:#526cc3;--warning:#332701;--warning-text:#ffda6a;--warning-border:#997404;--code:#101010;--code-text:#e685b5}
*{box-sizing:border-box}
html{scroll-padding-top:88px;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--link-hover)}
button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--link);outline-offset:3px}
svg{width:20px;height:20px;flex:none}p{margin:0 0 1rem}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.25;letter-spacing:normal;color:var(--heading)}
h1,.guide-content h1,.home-content h1{font-size:clamp(1.75rem,1.5rem + 1vw,2rem)}
h2{font-size:clamp(1.375rem,1.25rem + .5vw,1.625rem)}
h3{font-size:clamp(1.25rem,1.125rem + .5vw,1.375rem);margin-top:1.5rem}
h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}
hr{margin:2rem 0;border:0;border-top:1px solid var(--border)}
.header{height:var(--header-height);background:#24272c;color:white;position:sticky;top:0;z-index:30;box-shadow:0 .125rem .25rem #00000013}
.header-inner{height:100%;max-width:1320px;margin:auto;padding:0 1.5rem;display:flex;align-items:center;gap:2rem}
.brand{display:block;width:40px;flex:none}.brand img{width:40px;height:40px;object-fit:contain;display:block}

.top-nav{display:none;align-items:center;gap:1.5rem}.top-nav a{color:#ffffffd9;text-decoration:none;font-size:1rem}.top-nav a:hover,.top-nav a[aria-current]{color:#fff}.top-nav a[aria-current]{font-weight:600}
.header-tools{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:.375rem;background:transparent}.icon-button:hover{background:#ffffff1a}
.theme-toggle{border-left:1px solid #ffffff40;border-radius:0;padding-left:.75rem;width:48px}
.layout{max-width:1320px;margin:auto;padding:0 1.5rem}.content{min-width:0;padding:1.5rem 0 0}.eyebrow{display:none}
.lead{font-size:clamp(1.125rem,1rem + .625vw,1.25rem);font-weight:300;line-height:1.5;color:var(--text);margin-bottom:1.5rem}
.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.button{padding:.5rem 1rem;border:1px solid transparent;border-radius:.375rem;font-size:1rem;text-decoration:none;font-weight:400;display:inline-flex;gap:.75rem;align-items:center}.primary{background:var(--button-bg);color:white}.primary:hover{background:#324798;color:white}.text-link{font-size:1rem;font-weight:400}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.subtle{color:var(--muted);font-size:.875rem;white-space:nowrap}
.game-list{margin-top:1.5rem;border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.game-list>a{display:flex;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.game-list>a:last-child{border-bottom:0}.game-list>a:hover{background:var(--surface)}.game-list strong{font-size:1rem;font-weight:600}.game-list small{display:block;font-size:.875rem;color:var(--muted);margin-top:.25rem}.game-initial{display:none}.arrow{margin-left:auto;color:var(--muted);font-size:1.25rem}
.page-footer{border-top:1px solid var(--border);padding:1.5rem 0;margin-top:3rem;font-size:.875rem;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.footer-credit{white-space:nowrap;text-decoration:none;color:var(--muted)}.footer-credit strong{font-weight:600;color:var(--text)}
.footer-brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.footer-brand img{display:block;width:36px;height:36px;object-fit:contain;flex:none;align-self:flex-start;margin-top:.125rem}
.footer-tagline{font-size:.8125rem;margin:0 0 .375rem;line-height:1.5}
.footer-disclaimer{text-align:center;display:block;flex-basis:100%;font-size:.75rem;line-height:1.6;border-top:1px solid var(--border);padding-top:1rem}
.sidebar{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;overflow-x:hidden}
.sidebar-section+.sidebar-section{margin-top:1.5rem}
.sidebar-section .sidebar-label{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;line-height:1.5}
.sidebar-label svg{width:20px;height:20px;color:var(--nav-active)}
.sidebar-section .game-nav{padding-left:1.75rem}
.footer-brand h2{font-size:1.25rem;margin:0 0 .25rem;line-height:1.25}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-links a{display:inline-flex;align-items:center;min-height:36px;padding:.375rem .625rem;border:1px solid var(--border);border-radius:.375rem;color:var(--muted);text-decoration:none;font-size:.8125rem}
.footer-links a:hover,.footer-links a[aria-current]{color:var(--link);background:var(--surface)}
.sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,85vw);background:var(--bg);padding:1.5rem;z-index:60;transform:translateX(-100%);visibility:hidden;overflow-y:auto}.menu-open{overflow:hidden}.menu-open .sidebar{transform:translateX(0);visibility:visible}
.sidebar-mobile-title{display:flex;align-items:center;justify-content:space-between;font-weight:600;padding-bottom:1.5rem}.close-menu{font-size:1.75rem}.close-menu:hover{background:var(--surface)}
.sidebar-label{font-size:1rem;font-weight:600;color:var(--heading);padding:.25rem .5rem .75rem}.game-nav{display:grid;gap:.125rem}.game-nav a{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text);text-decoration:none;font-size:.875rem;line-height:1.5}.game-nav svg{display:none}.game-nav a:hover{background:var(--soft);color:var(--nav-active)}.game-nav a[aria-current]{background:var(--soft);color:var(--nav-active);font-weight:600}.sidebar-bottom{display:none}
.sidebar-backdrop{position:fixed;inset:0;z-index:50;background:#0008;border:0;width:100%;height:100%}.sidebar-backdrop[hidden]{display:none}
.breadcrumb{font-size:.875rem;display:flex;gap:.5rem;color:var(--muted);margin-bottom:1rem}.breadcrumb a{text-decoration:none}
.guide-content section{margin-top:2.5rem;scroll-margin-top:88px}.guide-content section>p,.guide-content li{font-size:1rem}
.anchor{font-size:1em;text-decoration:none;opacity:0;padding-left:.25rem;color:var(--link)}h2:hover .anchor,.anchor:focus-visible{opacity:1}
.alert{padding:1rem;border:1px solid var(--info-border);border-radius:.375rem;background:var(--info);color:var(--info-text);font-size:1rem;margin:1.5rem 0}.alert p{margin:.5rem 0 0}.warning{background:var(--warning);color:var(--warning-text);border-color:var(--warning-border)}
.table-wrap{max-width:100%;overflow-x:auto;margin:1.5rem 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem;white-space:nowrap}th{font-weight:700}th,td{padding:.5rem;border-bottom:1px solid var(--border)}tbody tr:nth-child(even){background:var(--surface)}.badge{font-size:.75em;font-weight:700;border-radius:.375rem;background:var(--surface);padding:.35em .65em;color:var(--muted)}
ul{padding-left:2rem;margin:0 0 1rem}li{margin:.25rem 0}
code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875em}p code{color:var(--code-text);background:none}
.code-block{border:1px solid var(--border);border-radius:.375rem;overflow:hidden;background:var(--code);margin-top:1.5rem}.code-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem 0;font-size:.875rem;color:var(--muted)}.copy-button{font-size:.75rem;border:1px solid var(--border);border-radius:.25rem;background:var(--bg);padding:.25rem .5rem}pre{overflow:auto;margin:0;padding:1rem;font-size:.875rem;line-height:1.5}pre code{font-size:inherit}
blockquote{margin:0 0 1rem;font-size:1.25rem}
.accordion{border:1px solid var(--border);margin-top:-1px}.accordion:first-of-type{border-radius:.375rem .375rem 0 0}.accordion:last-of-type{border-radius:0 0 .375rem .375rem}.accordion summary{font-size:1rem;cursor:pointer;font-weight:400;padding:1rem 1.25rem}.accordion[open] summary{background:var(--surface);color:var(--link)}.accordion p{font-size:1rem;margin:0;padding:1rem 1.25rem}
.toc{margin-top:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1rem;font-size:.875rem}.toc summary{font-weight:500;cursor:pointer}.toc nav{display:grid;border-left:1px solid var(--border);margin-top:.75rem}.toc a{text-decoration:none;padding:.125rem 0 .125rem .75rem;color:var(--muted);line-height:1.5;margin-left:-1px;border-left:1px solid transparent}.toc a:hover,.toc a[aria-current]{color:var(--nav-active);border-left-color:var(--nav-active)}
.skip-link{position:fixed;top:-80px;left:1rem;z-index:100;background:var(--bg);padding:.75rem}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:575px){.header-inner{padding:0 1rem;gap:.75rem}.brand{width:40px}.layout{padding:0 1rem}}
@media(min-width:768px){.top-nav{display:flex}}
@media(min-width:992px){.menu-toggle{display:none}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2rem;padding-top:1.5rem}#site-sidebar{grid-column:1;grid-row:1 / span 2;min-width:0}.sidebar{position:sticky;inset:auto;top:88px;height:calc(100dvh - 104px);width:auto;transform:none;visibility:visible;z-index:10;background:transparent;padding:0 1rem 1rem 0}.sidebar-mobile-title{display:none}.content{padding:0}.home-content{grid-column:2;max-width:880px}.guide-content{grid-column:2;grid-row:2}.toc{grid-column:2;grid-row:1;margin:0}}
@media(min-width:1200px){.guide-layout{grid-template-columns:220px minmax(0,1fr) 190px}.guide-content{grid-column:2;grid-row:1}.toc{grid-column:3;grid-row:1;position:sticky;top:88px;align-self:start;border:0;padding:0 0 0 1rem}.toc summary{list-style:none;pointer-events:none;border-bottom:1px solid var(--border);padding-bottom:.5rem}.toc summary::-webkit-details-marker{display:none}.toc nav{margin-top:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.footer-container{max-width:1320px;margin:0 auto;padding:0 1.5rem}
.footer-container .page-footer{width:100%}
.catalog-intro{padding:.5rem 0 1rem}
.catalog-search{margin:1.5rem 0}
.catalog-search label{display:block;font-weight:500;margin-bottom:.5rem}
.catalog-search input{display:block;width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:.375rem;background:var(--bg);color:var(--text)}
.catalog-search input:focus-visible{outline:3px solid var(--link);outline-offset:2px}
#catalog-count{font-size:.875rem;color:var(--muted);margin:.5rem 0 0}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.catalog-card{display:flex;flex-direction:column;min-width:0}
.catalog-card[hidden],#catalog-empty[hidden]{display:none}
.catalog-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:.375rem}
.catalog-card-body{padding:1rem 0 0;display:flex;flex-direction:column;align-items:flex-start;flex:1;overflow-wrap:anywhere}
.catalog-card h2{font-size:1.25rem}.catalog-card p{color:var(--muted)}
.catalog-card .button{margin-top:auto;font-size:.875rem}
.top-nav{display:flex}
@media(min-width:992px){body[data-page="catalog"] .home-content{max-width:none}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}}
@media(max-width:575px){.footer-container{padding:0 1rem}.catalog-grid{gap:1.25rem .75rem}.catalog-card h2{font-size:1.0625rem}.catalog-card p{font-size:.875rem}.catalog-card .button{font-size:.8125rem;padding:.5rem .625rem}.top-nav{gap:.75rem}.top-nav a{font-size:.875rem}}

/* Guide chapters: compact tables and navigation share the documentation theme. */
.chapter-kicker{font-size:.75rem;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:.5rem}
.chapter-summary{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;color:var(--muted);font-size:.875rem;margin:1.25rem 0}
.walkthrough .alert ul{margin:.5rem 0 0;padding-left:1.25rem}
.walkthrough .location-name{color:var(--muted);font-size:.875rem;margin-top:-.25rem;margin-bottom:1rem}
.walkthrough table{white-space:normal;min-width:280px}
.walkthrough th,.walkthrough td{vertical-align:top;padding:.625rem .75rem}
.walkthrough tbody th{font-weight:500;width:34%}
.walkthrough thead{background:var(--surface)}
.walkthrough .table-wrap{border:1px solid var(--border);border-radius:.375rem;margin:1rem 0 1.5rem}
.walkthrough tbody tr:last-child>*{border-bottom:0}
.walkthrough tbody tr:hover{background:var(--soft)}
.walkthrough .badge{display:inline-block;border:1px solid var(--border);white-space:nowrap}
.leader-card{border:1px solid var(--border);border-radius:.375rem;margin:1.5rem 0;overflow:hidden}
.leader-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;background:var(--surface)}
.leader-heading h3{margin:0}.english-name{font-size:1rem;color:var(--muted);font-weight:400}
.leader-card .table-wrap{margin:0;border:0;border-radius:0}.leader-reward{padding:1rem;border-top:1px solid var(--border);margin:0;font-size:.875rem}
.chapter-navigation{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:3rem 0 1rem}
.chapter-navigation a{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:.375rem;text-decoration:none}
.chapter-navigation a:hover{background:var(--surface);border-color:var(--link)}
.chapter-navigation a:last-child{text-align:right}.chapter-navigation small{color:var(--muted)}.chapter-navigation strong{font-weight:500}
.source-note{font-size:.8125rem;color:var(--muted)}
.breadcrumb{flex-wrap:wrap}
.legal-content section{margin-top:2rem;scroll-margin-top:88px}
.legal-index{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.legal-fields{margin:1rem 0;border:1px solid var(--border);border-radius:.375rem;padding:0 1rem}
.legal-fields>div{padding:.75rem 0;border-bottom:1px solid var(--border)}
.legal-fields>div:last-child{border-bottom:0}
.legal-fields dt{font-weight:500}.legal-fields dd{margin:.25rem 0 0}
.legal-blank{display:block;min-height:1.5rem;width:min(100%,28rem);border-bottom:1px dashed var(--muted)}
.legal-content table{white-space:normal;min-width:280px}
.legal-content th,.legal-content td{vertical-align:top}.legal-content tbody th{width:30%;font-weight:500}
@media(min-width:1200px){.toc{max-height:calc(100dvh - 104px);overflow-y:auto}}

/* Shared typography across home, catalog, guides and component examples. */
:root{--paragraph-size:1rem;--h2-size:1.25rem;--h3-size:1.125rem;--h4-size:1rem;--h5-size:.9375rem;--h6-size:.875rem}
:root body p,:root body p[class],:root body #catalog-count{
  font-family:inherit;font-size:var(--paragraph-size);font-weight:400;
  font-style:normal;line-height:1.5;letter-spacing:normal;color:var(--text);
}
:root body h2,:root body .sidebar-section .sidebar-label{font-size:var(--h2-size)}
:root body h3{font-size:var(--h3-size)}
:root body h4{font-size:var(--h4-size)}
:root body h5{font-size:var(--h5-size)}
:root body h6{font-size:var(--h6-size)}
body[data-page="home"] main h1{font-size:clamp(2rem,1.5rem + 2vw,2.5rem)}


.home-hero{display:grid;align-items:center}
.home-hero-copy .lead{margin-bottom:.75rem}
.home-hero-image{display:block;width:100%;max-width:280px;height:auto;justify-self:center;border-radius:5px}
.home-catalog-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:576px){
  .home-hero{grid-template-columns:minmax(0,1fr) minmax(0,32%)}
  .home-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.seaglass-nav{margin:0 0 1.5rem;gap:.5rem}
.seaglass-nav [aria-current="page"]{outline:2px solid var(--nav-active);outline-offset:2px}
.seaglass-banner{display:block;max-width:100%;height:auto;border-radius:5px;margin:0 0 1.5rem}

.seaglass-home section { margin-bottom: 2rem; }
.seaglass-home p { text-align: justify; hyphens: auto; }
.seaglass-banner { margin-inline: auto; }
.seaglass-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 40%);
  align-items: center;
  gap: 1.25rem;
}
.seaglass-hero p, .seaglass-hero .seaglass-banner { margin-bottom: 0; }
.seaglass-companion {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.seaglass-companion p { flex: 1 1 18rem; margin: 0; }
.seaglass-sprite { width: 6rem; margin-block: 0; image-rendering: pixelated; }
.seaglass-table td { white-space: normal; }
@media (max-width: 650px) {
  .seaglass-hero { grid-template-columns: 1fr; }
  .seaglass-cover { width: min(100%, 24rem); }
}

.seaglass-walkthrough-intro {
  grid-template-columns: minmax(0, 1fr) minmax(0, min(35%, 18rem));
  margin-bottom: 1.5rem;
}
.seaglass-walkthrough-intro .seaglass-banner { width: min(100%, 18rem); }
.seaglass-type-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  gap: .75rem;
  list-style: none;
  padding: 0;
}
.seaglass-type-card {
  display: grid;
  justify-items: center;
  gap: .25rem;
  margin: 0;
  padding: .75rem .5rem;
  border: 1px solid var(--border);
  border-radius: .375rem;
  background: var(--surface);
  text-align: center;
}
.seaglass-type-card img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
  image-rendering: pixelated;
}
@media (max-width: 650px) {
  .seaglass-walkthrough-intro { grid-template-columns: 1fr; }
}

.pokedex-filter label { display: block; margin-bottom: .375rem; }
.pokedex-filter input {
  width: min(100%, 22rem);
  padding: .5rem .75rem;
  border: 1px solid var(--border);
  border-radius: .375rem;
  background: var(--bg);
  color: var(--text);
  font: inherit;
}
.pokedex-filter p { margin: .5rem 0 0; }
.pokedex-table-wrap { margin-top: .75rem; }
#pokedex-table th:last-child,
#pokedex-table td:last-child { min-width: 12rem; white-space: normal; }
#pokedex-table td:nth-child(2) { text-align: center; }
#pokedex-table img {
  display: block;
  margin-inline: auto;
  object-fit: contain;
  image-rendering: pixelated;
}

.lazarus-legendarios-table th,
.lazarus-objetos-table th,
.lazarus-objetos-table td { white-space: normal; }

.lazarus-legendarios-table img {
  display: block;
  margin-inline: auto;
  object-fit: contain;
  image-rendering: pixelated;
}

.lazarus-objetos-table { table-layout: fixed; }
.lazarus-objetos-table th,
.lazarus-objetos-table td {
  vertical-align: top;
  overflow-wrap: anywhere;
}
.lazarus-objetos-table th:first-child { width: 30%; }
.lazarus-objetos-table ul {
  margin: 0;
  padding-inline-start: 1.1rem;
}
