/* Styles for the generated Pokédex pages (pokedex/*.html). Mobile-first; matches the main site's Emerald look. */
:root{ --forest-dark:#1B4332; --forest:#2D6A4F; --forest-light:#40916C; --meadow:#74C69D; --parchment:#FDF6E3; --parchment-2:#F3ECD2; --ink:#1B2E1F; --ink-soft:rgba(27,46,31,.68); --gold:#FFC94A; --gold-dark:#D89A1F; }
*{ box-sizing:border-box; }
body{ margin:0; background:linear-gradient(180deg,var(--forest-dark),var(--forest) 55%,var(--forest-light)); background-attachment:fixed; color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; line-height:1.55; min-height:100vh; }
.wrap{ max-width:880px; margin:0 auto; padding:0 16px; }
header{ background:var(--forest-dark); border-bottom:4px solid var(--gold-dark); }
header nav{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; min-height:64px; padding-top:6px; padding-bottom:6px; }
.logo{ display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--parchment); font-family:ui-monospace,Menlo,Consolas,monospace; font-weight:800; letter-spacing:1px; text-decoration:none; }
.logo .mark{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--gold); color:var(--forest-dark); font-size:13px; }
.links{ display:flex; gap:6px; }
.links a{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:0 10px; border:3px solid var(--forest-dark); border-radius:4px; background:var(--forest); color:var(--meadow); font-family:ui-monospace,Menlo,Consolas,monospace; font-size:13px; font-weight:700; text-decoration:none; }
.links a[aria-current]{ background:var(--gold); color:var(--forest-dark); border-color:var(--gold-dark); }
main{ padding-top:16px; padding-bottom:40px; }
.crumbs{ font-size:14px; color:var(--parchment); margin-bottom:12px; }
.crumbs a{ color:var(--gold); }
.box{ background:var(--parchment); border:3px solid var(--forest-dark); border-radius:4px; box-shadow:inset 0 0 0 2px var(--parchment-2),4px 4px 0 rgba(0,0,0,.25); padding:16px; margin:0 0 16px; }
.hero{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.sprite{ width:160px; height:160px; image-rendering:pixelated; background:var(--parchment-2); border:3px solid var(--forest-dark); border-radius:4px; flex:0 0 auto; }
.sprite.mono{ display:grid; place-items:center; color:#fff; font:800 48px ui-monospace,monospace; }
h1{ margin:0 0 6px; font-size:30px; line-height:1.15; }
h2{ margin:0 0 10px; font-size:18px; }
.num, .meta{ margin:0; color:var(--ink-soft); font-size:15px; }
.types{ margin:6px 0; }
.type{ display:inline-block; color:#fff; font-size:14px; font-weight:700; padding:2px 10px; border-radius:3px; margin:2px 2px 2px 0; text-shadow:0 1px 1px rgba(0,0,0,.35); }
.intro{ color:var(--parchment); font-size:16px; margin:0 0 16px; }
.stats{ width:100%; border-collapse:collapse; font-size:15px; }
.stats th{ text-align:left; font-weight:600; width:84px; padding:4px 0; }
.stats .v{ width:44px; text-align:right; padding-right:10px; font-variant-numeric:tabular-nums; }
.stats .bar span{ display:block; height:10px; background:var(--forest-light); border-radius:2px; }
.stats .total th, .stats .total .v{ border-top:2px solid var(--forest-dark); padding-top:6px; font-weight:800; }
.box p{ margin:6px 0; }
.box small{ font-size:13px; color:var(--ink-soft); margin-left:2px; }
.two{ display:grid; grid-template-columns:1fr; gap:12px; }
@media(min-width:600px){ .two{ grid-template-columns:1fr 1fr; } }
ul{ margin:0; padding-left:20px; }
.evo{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0; padding:0; list-style:none; }
.evo li{ display:inline-flex; align-items:center; min-height:44px; gap:6px; }
.evo li+li::before{ content:"→"; color:var(--ink-soft); margin-right:4px; }
.evo b{ padding:0 4px; }
.box a, footer a{ color:var(--forest-dark); }
.evo a, .related a{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:0 4px; }
.related{ display:flex; flex-wrap:wrap; gap:4px 14px; }
.pager{ display:flex; justify-content:space-between; gap:10px; margin:0 0 16px; }
.pager a, .btn{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; background:var(--gold); color:var(--forest-dark); border:3px solid var(--forest-dark); border-radius:4px; font-weight:700; text-decoration:none; box-shadow:2px 2px 0 rgba(0,0,0,.3); }
.cta{ display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 16px; }
footer{ color:var(--parchment); font-size:13px; padding-top:16px; padding-bottom:32px; opacity:.9; }
footer a{ color:var(--gold); }

/* TCG set pages */
.logo-img{ max-width:240px; width:100%; height:auto; max-height:110px; object-fit:contain; }
.type.legal{ background:var(--forest-light); }
.page-h1{ color:var(--parchment); margin:4px 0 8px; }
.intro a{ color:var(--gold); }
.cards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
@media(min-width:560px){ .cards{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:800px){ .cards{ grid-template-columns:repeat(4,1fr); } }
.cards li{ font-size:14px; line-height:1.3; }
.cards img, .cards .noimg{ display:block; width:100%; height:auto; aspect-ratio:245/342; border-radius:6px; background:var(--parchment-2); margin-bottom:6px; }
.cards .cn{ color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.cards a{ display:inline; min-height:0; padding:0; }
.cards small{ display:block; margin:2px 0 0; }
.setlist{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:2px 16px; }
@media(min-width:600px){ .setlist{ grid-template-columns:1fr 1fr; } }
.setlist li{ display:flex; flex-wrap:wrap; align-items:center; gap:0 8px; min-height:44px; }
.setlist a{ display:inline-flex; align-items:center; min-height:44px; min-width:44px; }
.setlist small{ color:var(--ink-soft); font-size:13px; margin:0; }
