:root { --muted:#a4aa96; --accent:#b4c97b; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
.guide-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:12px 0 24px; border-bottom:1px solid var(--line); }
h1 { font-size:clamp(32px,4vw,48px); color:#b4c97b; }
.intro { color:#c6c9ba; font-size:16px; }
.manual-link { white-space:nowrap; text-underline-offset:5px; }
.guide-totals { display:flex; gap:24px; margin-top:18px; flex-wrap:wrap; }
.guide-totals strong { color:#d8e1c2; font-size:21px; margin-right:6px; }
.guide-totals span { color:var(--muted); font-size:12px; }
.filter-line { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin:16px 0; }
.filter-line .check { padding:0; }
.filter-line button { font-size:12px; padding:6px 10px; }
.guide-catalog { grid-template-columns:minmax(270px,340px) minmax(0,1fr); }
#results { max-height:calc(100vh - 110px); scrollbar-color:#525b39 #0c0e09; }
#detail { padding:28px; }
.pet-row { width:100%; display:block; text-align:left; border-radius:0; border:0; border-bottom:1px solid var(--line); padding:14px 16px; }
.pet-row strong { display:block; font-size:14px; font-weight:normal; color:#e2e4d8; }
.pet-row span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.pet-row[aria-pressed=true] { background:#222a17; box-shadow:inset 3px 0 #b4c97b; }
.pet-row:hover { background:#171d10; }
.detail-top { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.detail-top h2 { font:32px/1.2 Georgia,serif; color:#e2e8d1; text-transform:capitalize; }
.detail-top button { white-space:nowrap; font-size:12px; }
.description { color:#b9bfaf; max-width:80ch; white-space:pre-line; }
.badges { display:flex; gap:7px; flex-wrap:wrap; margin:16px 0; }
.badge { padding:3px 8px; border:1px solid #424d30; border-radius:3px; color:#b8c899; font-size:11px; }
.detail-nav { display:flex; flex-wrap:wrap; gap:16px; border-bottom:1px solid var(--line); padding:12px 0; margin:20px 0; font-size:12px; }
.detail-nav a { text-underline-offset:4px; }
.detail-section { margin:26px 0; }
.detail-section h3 { color:#c1d394; font-size:17px; }
.form-list { display:flex; flex-wrap:wrap; gap:8px; }
.form-list button { font-size:12px; }
.form-list [aria-current=true] { border-color:var(--accent); background:#202817; }
.stat-controls { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:14px; background:#151a10; border:1px solid var(--line); }
.stat-controls input { width:95px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:14px 0; }
.stat { background:#0c0e09; padding:14px; }
.stat b { display:block; font:24px/1.3 Georgia,serif; color:#dee7c9; font-variant-numeric:tabular-nums; }
.stat span { display:block; font-size:11px; color:var(--muted); margin-top:4px; }
.small { font-size:12px; color:var(--muted); }
.ability-wrap { overflow-x:auto; }
.ability-table { font-size:13px; }
.ability-table td { vertical-align:top; }
.ability-table th:first-child { width:60px; }
.ability-table summary { cursor:pointer; color:#d2ddbb; }
.ability-table .skill-notes { white-space:pre-line; color:#afb8a0; font-size:12px; line-height:1.65; max-width:65ch; padding:10px 0; }
.ability-table .state { display:inline-block; font-size:11px; color:#bbca9a; white-space:nowrap; }
.ability-table tr.locked .state { color:#b5aa90; }
.evolution-list { display:flex; flex-direction:column; gap:8px; padding:0; list-style:none; }
.evolution-list li { display:flex; align-items:center; gap:12px; padding:10px 12px; border-left:2px solid #596a39; background:#14190f; flex-wrap:wrap; }
.evolution-list button { border:0; background:none; padding:0; color:#c5d6a5; text-align:left; }
.evolution-list .small { margin-left:auto; }
.care-guide { margin:60px 0 30px; border-top:1px solid var(--line); padding-top:28px; }
.care-guide h2 { font-family:Georgia,serif; color:#dce4cc; }
.care-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 32px; }
.care-grid article { border-bottom:1px solid #282e20; padding-bottom:18px; }
.care-grid p { color:#b5bcaa; }
code { color:#d1dbbd; overflow-wrap:anywhere; }
.legacy-note { padding:18px 0; }
.legacy-note summary { cursor:pointer; color:#bfce9c; }
.empty { color:var(--muted); }
@media(min-width:1000px) { .guide-catalog>section:first-child { position:sticky; top:74px; } }
@media(max-width:760px) { .guide-heading { align-items:start; flex-direction:column; gap:10px; } .guide-catalog { grid-template-columns:1fr; } #results { max-height:290px; } #detail { padding:18px; } .care-grid { grid-template-columns:1fr; } .stats-grid { grid-template-columns:repeat(2,1fr); } .detail-top { flex-wrap:wrap; } .controls label { flex:1 1 140px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .controls,.filter-line,#results,.de-site-header,.manual-link,.detail-nav { display:none; } .catalog,.care-grid { display:block; } body,#detail,.stat { background:white; color:black; } }

.tactics-list { display:grid; grid-template-columns:90px 1fr; gap:10px 14px; }
.tactics-list dt { color:var(--accent); }
.tactics-list dd { margin:0; }
