:root{
  --bg:#0b0d10;--panel:#11151a;--panel2:#171c22;--panel3:#1d232b;--line:#2a313a;
  --text:#f3f5f7;--muted:#929aa5;--accent:#e63946;--accent2:#ff6670;--good:#4ecb8d;
  --shadow:0 16px 50px rgba(0,0,0,.35);--radius:18px;--sidebar:230px;
}
:root.light{--bg:#f3f4f6;--panel:#fff;--panel2:#f7f8fa;--panel3:#eef0f3;--line:#d9dde3;--text:#171a1f;--muted:#69717d;--shadow:0 14px 40px rgba(28,32,40,.12)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,select{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:radial-gradient(currentColor .65px,transparent .65px);background-size:7px 7px;z-index:99}
.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:14px}.rocket-mark{width:48px;height:48px;border:2px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-weight:1000;font-size:30px;transform:skew(-5deg);border-radius:10px;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.brand h1{font-size:19px;letter-spacing:.16em;margin:0;font-weight:900}.brand h1 span{color:var(--accent)}.brand p{margin:4px 0 0;color:var(--muted);font-size:12px;letter-spacing:.02em}
.top-actions{display:flex;gap:10px;align-items:center}.global-search{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 12px;min-width:min(420px,38vw);height:44px}.global-search input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.global-search span{font-size:23px;color:var(--muted)}kbd{border:1px solid var(--line);background:var(--panel3);padding:2px 7px;border-radius:6px;color:var(--muted);font-size:11px}.icon-btn{width:44px;height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;cursor:pointer}
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:calc(100vh - 86px)}.sidebar{border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:86px;height:calc(100vh - 86px);display:flex;flex-direction:column;overflow:auto}.sidebar nav{display:grid;gap:5px}.nav-btn{border:0;background:transparent;color:var(--muted);text-align:left;padding:11px 13px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:700}.nav-btn:hover{background:var(--panel2);color:var(--text)}.nav-btn.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.nav-icon{width:20px;text-align:center}.sidebar-note{margin-top:auto;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.sidebar-note strong{font-size:12px;color:var(--accent2)}.sidebar-note p{font-size:11px;line-height:1.55;margin:7px 0 0;color:var(--muted)}
.main{min-width:0;padding:30px 34px 70px;max-width:1600px;width:100%;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.15em;text-transform:uppercase}.page-head h2{font-size:31px;margin:5px 0 5px;letter-spacing:-.04em}.page-head p{margin:0;color:var(--muted);font-size:13px;max-width:900px;line-height:1.6}.counter{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;white-space:nowrap}.counter strong{color:var(--text);font-size:22px}
.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin-bottom:24px}.hero-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 80% -20%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 45%),var(--panel);min-height:190px;position:relative;overflow:hidden}.hero-card h2{font-size:34px;line-height:1.12;margin:12px 0}.hero-card p{color:var(--muted);max-width:620px;line-height:1.65;margin:0}.hero-r{font-size:170px;position:absolute;right:24px;bottom:-62px;font-weight:1000;color:color-mix(in srgb,var(--accent) 9%,transparent);transform:rotate(-7deg)}.stats-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stat-box b{font-size:26px;display:block}.stat-box span{font-size:11px;color:var(--muted)}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.field{height:40px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:0 12px;outline:none}.field:focus{border-color:var(--accent)}select.field{min-width:140px}.toolbar .grow{flex:1;min-width:220px}
.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:12px}.pokemon-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;cursor:pointer;transition:.16s transform,.16s border-color,.16s background}.pokemon-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--panel2)}.card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dexno{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.pokemon-card h3{margin:4px 0 9px;font-size:18px}.pill-row{display:flex;gap:5px;flex-wrap:wrap}.pill{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:var(--panel3);border:1px solid var(--line)}.type{border:0;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.15)}.card-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.card-foot strong{display:block;color:var(--text);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-list{display:grid;gap:10px}.data-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:17px}.data-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.data-card-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.data-card h3{margin:0 0 5px;font-size:17px}.subtle{color:var(--muted);font-size:12px;line-height:1.55}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.kv{background:var(--panel2);border-radius:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.kv label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.kv div{font-size:12px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.text-block{white-space:pre-line;line-height:1.6}
.table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--panel)}table{border-collapse:collapse;width:100%;font-size:12px}th{position:sticky;top:0;background:var(--panel3);color:var(--muted);text-align:left;font-weight:800;padding:11px 12px;white-space:nowrap;z-index:2}td{padding:12px;border-top:1px solid var(--line);vertical-align:top;line-height:1.55;white-space:pre-line}tr:hover td{background:var(--panel2)}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:10px;border:1px solid var(--line);color:var(--muted)}.badge.yes{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,var(--line))}.badge.red{color:var(--accent2);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.pokemon-dialog{width:min(980px,calc(100vw - 30px));max-height:calc(100vh - 30px);border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0;box-shadow:var(--shadow)}.pokemon-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.dialog-close{position:sticky;float:right;top:12px;right:12px;z-index:4;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--panel3);color:var(--text);font-size:23px;cursor:pointer;margin:12px}.dialog-inner{padding:28px 30px 34px}.dialog-head{padding-right:50px}.dialog-head h2{font-size:32px;margin:4px 0 10px}.dialog-section{margin-top:24px}.dialog-section h3{font-size:13px;color:var(--accent2);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px}.move-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.move-box{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px;white-space:pre-line;line-height:1.65;font-size:12px;max-height:420px;overflow:auto}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stat-chip{text-align:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 5px}.stat-chip b{display:block;font-size:17px}.stat-chip span{font-size:9px;color:var(--muted)}
.empty-state{padding:70px 20px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--text);margin:16px 0 5px}.empty-ball{width:52px;height:52px;border:5px solid var(--muted);border-radius:50%;margin:auto;position:relative;opacity:.4}.empty-ball:before{content:"";position:absolute;left:-5px;right:-5px;top:19px;border-top:5px solid var(--muted)}.empty-ball:after{content:"";position:absolute;width:12px;height:12px;border:4px solid var(--muted);background:var(--panel);border-radius:50%;left:11px;top:10px}
.load-more{display:block;margin:22px auto 0;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 20px;border-radius:10px;cursor:pointer}.load-more:hover{border-color:var(--accent)}
@media(max-width:900px){.topbar{height:auto;min-height:76px;padding:12px 14px;gap:12px}.brand p{display:none}.brand h1{font-size:15px}.rocket-mark{width:40px;height:40px;font-size:24px}.global-search{min-width:0;width:min(46vw,380px)}.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:76px;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;z-index:20;background:var(--bg)}.sidebar nav{display:flex;overflow:auto}.nav-btn{white-space:nowrap}.sidebar-note{display:none}.main{padding:22px 16px 60px}.hero{grid-template-columns:1fr}.stats-stack{grid-template-columns:repeat(4,1fr)}.hero-card{min-height:170px}.move-columns{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{flex-wrap:wrap}.top-actions{width:100%}.global-search{width:100%;min-width:0}.brand{width:100%}.page-head{align-items:start}.page-head h2{font-size:25px}.stats-stack{grid-template-columns:1fr 1fr}.pokemon-grid{grid-template-columns:1fr 1fr}.pokemon-card{padding:13px}.pokemon-card h3{font-size:15px}.card-foot{grid-template-columns:1fr}.dialog-inner{padding:22px 18px 28px}.stat-grid{grid-template-columns:repeat(3,1fr)}.kv-grid{grid-template-columns:1fr}.hero-card h2{font-size:28px}}
@media(max-width:430px){.pokemon-grid{grid-template-columns:1fr}}

.card-body{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.card-bst{font-size:12px;color:var(--muted);margin-bottom:10px}.card-bst strong{font-size:20px;color:var(--text);margin-left:6px}
.mini-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.mini-stat{min-width:0;background:var(--panel2);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:6px;padding:7px 0;text-align:center}.mini-stat b{display:block;font-size:14px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--text)}.mini-stat span{display:block;margin-top:3px;font-size:9px;white-space:nowrap;color:var(--muted)}
.card-note{padding:12px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2);font-size:12px;color:var(--muted)}
.card-detail-stats{margin-top:14px}
.top-kv{margin-top:16px}
.info-note{padding:14px 16px;border-radius:12px;border:1px dashed var(--line);background:var(--panel2);color:var(--muted);font-size:13px;line-height:1.7}.info-note.small{font-size:12px;padding:12px}
.stat-grid.with-total{grid-template-columns:repeat(7,minmax(0,1fr))}.stat-chip.total{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 11%,var(--panel2)),var(--panel2))}
.ability-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ability-card{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px}.ability-top{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.ability-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.ability-card strong{font-size:16px}.ability-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.move-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel2)}.move-row{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 14px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.move-row:first-child{border-top:0}.move-level{font-size:12px;color:var(--accent2);font-weight:800}.move-name{font-size:13px;line-height:1.55}
.compat-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compat-box{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px}.compat-box h4,.relation-block h4{margin:0 0 10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.tech-chip{border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:var(--panel);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:3px;min-height:64px}.tech-chip.unavailable{opacity:.72;border-style:dashed}.tech-code{font-size:11px;color:var(--accent2);font-weight:900}.tech-name{font-size:13px}.tech-state{font-size:11px;color:var(--muted)}
.teach-list{display:flex;flex-wrap:wrap;gap:8px}.teach-chip{display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:var(--panel);font-size:12px}
.relation-sections{display:grid;gap:14px}.relation-block{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px}.relation-list{display:flex;flex-wrap:wrap;gap:8px}.relation-chip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:8px 10px;border-radius:999px;font-size:12px}.relation-chip:hover{border-color:var(--accent)}
.mega-list{display:grid;gap:10px}.mega-card{border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:var(--panel);border-radius:12px;padding:12px}.mega-title{margin-bottom:10px}.mega-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mega-meta .full{grid-column:1/-1}.mega-meta label{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.mega-meta div{font-size:12px;line-height:1.6;white-space:pre-line}

@media(max-width:900px){.compat-columns{grid-template-columns:1fr}.stat-grid.with-total{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.move-row{grid-template-columns:72px 1fr}.mini-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.mini-stat b{font-size:12px}.mini-stat span{font-size:8px}.stat-grid.with-total{grid-template-columns:repeat(3,1fr)}.ability-list{grid-template-columns:1fr}.mega-meta{grid-template-columns:1fr}.pokemon-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.pokemon-grid{grid-template-columns:1fr}.move-row{grid-template-columns:1fr}.move-level{margin-bottom:4px}}

.source-badge{display:inline-flex;vertical-align:middle;margin-left:8px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--good) 35%,var(--line));border-radius:999px;color:var(--good);font-size:9px;font-weight:800;letter-spacing:0;text-transform:none}
.evo-block{overflow:hidden}.evo-tree-scroll{overflow-x:auto;padding:4px 2px 10px}.evo-tree{display:flex;align-items:flex-start;gap:24px;min-width:max-content;padding:4px}.evo-stage{display:grid;gap:10px;min-width:180px;position:relative}.evo-stage-label{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.evo-node-wrap{position:relative;display:flex;align-items:center}.evo-arrow{position:absolute;left:-20px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--muted);font-weight:900}.evo-node{width:100%;min-width:170px;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:11px 12px;cursor:pointer;display:grid;gap:7px;transition:.15s border-color,.15s background,.15s transform}.evo-node:hover{border-color:var(--accent);transform:translateY(-1px)}.evo-node.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.evo-name{font-size:14px;font-weight:900}.evo-types{display:flex;gap:4px;flex-wrap:wrap}.evo-types i{font-style:normal;color:#fff;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800}.evo-method{font-size:10px;color:var(--muted);line-height:1.45;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding-top:6px}
@media(max-width:620px){.source-badge{display:flex;width:max-content;margin:6px 0 0}.evo-tree{gap:20px}.evo-stage{min-width:156px}.evo-node{min-width:150px}}

.card-top-main{display:flex;align-items:center;gap:12px;min-width:0}
.card-media{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.pokemon-thumb{width:68px;height:68px;border-radius:16px;display:block;box-shadow:0 8px 22px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);background:#0b1220}
.pokemon-thumb.large{width:128px;height:128px;border-radius:24px;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.detail-head{display:flex;align-items:center;gap:18px}.detail-hero{flex:0 0 auto}.detail-head-copy{min-width:0}
.dialog-head h2{margin-top:4px}

@media(max-width:760px){.detail-head{flex-direction:column;align-items:flex-start}.pokemon-thumb.large{width:108px;height:108px}}

/* ROM-extracted real Pokémon menu sprites */
.pokemon-thumb.rom-sprite{object-fit:contain;padding:7px;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--panel3) 86%,transparent),color-mix(in srgb,var(--panel) 96%,transparent));image-rendering:pixelated;image-rendering:crisp-edges}
.pokemon-thumb.rom-sprite.large{padding:12px}
.relation-sprite{width:30px;height:30px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;flex:0 0 auto}
.evo-sprite{width:52px;height:52px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;justify-self:start;margin-bottom:1px}

/* v4 requested fixes */
.new-pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.new-pokemon-card{min-width:0;overflow:hidden}
.new-pokemon-card .card-detail-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;width:100%;min-width:0}
.new-pokemon-card .stat-chip{min-width:0;padding:7px 0;border-radius:6px;overflow:hidden}
.new-pokemon-card .stat-chip b{font-size:14px;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}
.new-pokemon-card .kv-grid{grid-template-columns:1fr;min-width:0}
.new-pokemon-card .kv{min-width:0}
.new-pokemon-card .kv div{overflow-wrap:anywhere;word-break:keep-all}
.mega-stage .evo-stage-label{color:var(--accent2)}
.mega-evo-node{cursor:default;border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.mega-evo-node:hover{transform:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
.mega-tree-base{font-size:10px;color:var(--muted);line-height:1.45}

@media(max-width:620px){
  .new-pokemon-grid{grid-template-columns:1fr}
  .new-pokemon-card .card-detail-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.mega-evo-node{cursor:pointer;font:inherit}
.mega-evo-node:hover{transform:translateY(-1px);border-color:var(--accent)}
.mega-type-row{padding:4px 0}

.new-card-head{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:12px}
.new-card-sprite{flex:0 0 auto;width:76px;height:76px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.new-card-sprite .pokemon-thumb{width:68px;height:68px;border:0;box-shadow:none;background:transparent}
.new-card-title{min-width:0;flex:1}.new-card-title h3{margin:4px 0 8px;overflow-wrap:anywhere}
@media(max-width:520px){.new-card-head{align-items:flex-start}.new-card-sprite{width:68px;height:68px}.new-card-sprite .pokemon-thumb{width:60px;height:60px}}

/* Pokedex card: no detail badge; preserve one-line names. */
.pokemon-card .card-top{display:block}
.pokemon-card .card-top-main{width:100%}
.pokemon-card .card-top-main>div:last-child{min-width:0;flex:1}
.pokemon-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Mega evolution menu */
.mega-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:1399px){.mega-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.mega-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mega-menu-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease;min-width:0;overflow:hidden}
.mega-menu-card:hover{border-color:var(--accent);transform:translateY(-1px);background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.mega-menu-head{display:flex;align-items:center;gap:14px;min-width:0}
.mega-menu-sprite{width:78px;height:78px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:6px}
.mega-menu-title{min-width:0;flex:1}.mega-menu-title h3{margin:4px 0 8px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mega-menu-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.mega-menu-section>label,.mega-menu-footer label{display:block;font-size:10px;color:var(--muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}
.mega-menu-total{font-size:11px;color:var(--muted);margin-bottom:8px}.mega-menu-total strong{font-size:20px;color:var(--text);margin-left:5px}
.mega-menu-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.mega-menu-stats>div{border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:var(--panel2);border-radius:9px;padding:8px 3px;text-align:center;min-width:0}
.mega-menu-stats b{display:block;font-size:13px}.mega-menu-stats span{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.mega-menu-abilities{display:flex;flex-wrap:wrap;gap:7px}.mega-menu-abilities>span:not(.subtle){display:inline-flex;padding:7px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);font-size:12px;font-weight:700}
.mega-menu-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.mega-menu-footer>div{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px;min-width:0}.mega-menu-footer strong,.mega-menu-footer span{font-size:12px;line-height:1.5;word-break:keep-all}
@media(max-width:720px){.mega-menu-grid{grid-template-columns:1fr}.mega-menu-stats{grid-template-columns:repeat(3,1fr)}}

/* Acquisition-first view */
.acquisition-grid{align-items:start}
.acquisition-card{cursor:default}
.acquisition-card[data-pidx]{cursor:pointer}
.acq-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.acq-title{min-width:0;flex:1}
.acq-title h3{margin:2px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acq-note{margin:0 0 16px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.9rem;line-height:1.55}
.acq-section-label{margin:4px 0 7px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.06em}
.acq-route{padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018);margin-top:8px}
.acq-route.primary{background:rgba(95,156,255,.07);border-color:rgba(95,156,255,.24)}
.acq-route-top{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.acq-route-top strong{font-size:.96rem}
.acq-method{margin-top:6px;font-size:.88rem;font-weight:700}
.acq-route .subtle{margin-top:5px;line-height:1.45}
.acq-more{margin-top:9px}
.acq-more summary{cursor:pointer;color:var(--accent);font-weight:700;font-size:.88rem;list-style:none}
.acq-more summary::-webkit-details-marker{display:none}
.acq-more summary::before{content:'＋ ';font-weight:900}
.acq-more[open] summary::before{content:'− '}
.acq-more-list{margin-top:7px}
@media (max-width:620px){.acq-route-top{display:block}.acq-route-top .pill-row{margin-top:6px}}


/* Acquisition order: timeline -> region -> name-only list */
.acq-timeline{display:flex;flex-direction:column;gap:28px;margin-top:18px}
.acq-time-section{position:relative}
.acq-time-head{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.acq-time-head h2{margin:2px 0 0;font-size:22px}
.acq-time-dot{width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(127,127,127,.12);flex:0 0 auto}
.acq-region-list{display:grid;gap:12px}
.acq-region-group{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.acq-region-head{padding:14px 16px 10px;border-bottom:1px solid var(--line)}
.acq-region-head h3{margin:0 0 4px;font-size:17px}
.acq-name-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px}
.acq-name-item{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-weight:700;line-height:1.15}
@media(max-width:640px){.acq-name-list{gap:6px;padding:10px 12px 14px}.acq-name-item{font-size:14px;padding:5px 9px}.acq-region-head{padding:12px}}


/* Visit-order regional encounter view */
.visit-guide{margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);color:var(--muted);line-height:1.55}
.visit-list{display:flex;flex-direction:column;gap:18px}
.visit-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.09)}
.visit-card-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
.visit-number{width:62px;flex:0 0 62px;text-align:center;padding:7px 5px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.visit-number span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.visit-number b{display:block;margin-top:1px;font-size:20px;line-height:1}
.visit-title{min-width:0}.visit-title h3{margin:3px 0 0;font-size:21px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.revisit-tag{font-size:11px;padding:3px 7px;border-radius:999px;background:rgba(255,177,66,.12);border:1px solid rgba(255,177,66,.3);color:#e9a33a}
.visit-card-body{padding:4px 18px 18px}
.visit-encounter-section,.visit-event-section{padding-top:16px}
.visit-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.visit-section-title h4{margin:2px 0 0;font-size:16px}
.count-badge{min-width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-weight:800;font-size:12px}
.encounter-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}
.encounter-table{width:100%;border-collapse:collapse;min-width:650px;font-size:14px}.encounter-table th,.encounter-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.encounter-table tr:last-child td{border-bottom:0}.encounter-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:rgba(255,255,255,.025)}
.encounter-table td:nth-child(3),.encounter-table td:nth-child(4){white-space:nowrap}.enc-name{font-weight:800}.enc-rate{font-weight:850;color:var(--accent)}
.visit-event-list{display:grid;gap:8px}.visit-event{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018)}.visit-event-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.visit-event .subtle{line-height:1.5}
.visit-notes{margin-top:14px;padding:11px 12px;border-radius:11px;background:var(--soft);color:var(--muted);font-size:13px;line-height:1.55}.visit-notes strong{display:block;color:var(--text);margin-bottom:4px}
.visit-empty{padding:18px;color:var(--muted)}
@media(max-width:640px){.visit-card-head{padding:13px}.visit-card-body{padding:2px 12px 14px}.visit-number{width:55px;flex-basis:55px}.visit-title h3{font-size:18px}.encounter-table{min-width:590px;font-size:13px}.encounter-table th,.encounter-table td{padding:9px 10px}}

/* Pokédex acquisition audit */
.acq-audit-note{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018);font-size:12px;color:var(--muted)}
.acq-audit-note b{color:var(--text);font-size:13px}
.acquisition-table{min-width:760px}
.acquisition-table .acq-visit{white-space:nowrap;font-weight:850;color:var(--accent)}
.acq-secondary{display:flex;flex-direction:column;gap:5px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--soft);line-height:1.55}
.acq-secondary strong{font-size:13px}.acq-secondary span{color:var(--text)}.acq-secondary small{color:var(--muted)}
.acq-secondary.legacy-source{border-style:dashed}
@media(max-width:640px){.acq-audit-note{align-items:flex-start}.acquisition-table{min-width:700px}}
.acq-link { appearance:none; border:0; background:transparent; color:var(--accent, #ef6969); font:inherit; text-align:left; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.acq-link:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.visit-card { scroll-margin-top:20px; }
.visit-card { scroll-margin-top:100px; }
@media (max-width:620px) { .topbar { height:122px; min-height:122px; } .sidebar { top:122px; } .visit-card { scroll-margin-top:196px; } }
:root .version-note{position:fixed;right:10px;bottom:8px;z-index:15;font-size:10px;line-height:1.4;color:var(--muted);background:var(--bg);padding:3px 6px;border-radius:4px;pointer-events:none}
.acq-compact-section{margin:12px 0 18px}.acq-compact-section h4{margin:0 0 8px;font-size:13px}.acq-compact-section h4 .subtle{font-weight:400;margin-left:6px}.acq-place{padding:9px 12px;border:1px solid var(--line);border-radius:9px;margin-top:6px;line-height:1.5}.acq-place-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.acq-place-head .acq-link{font-weight:700}.acq-place-head .subtle{font-size:11px}.acq-place-method{font-size:12px;color:var(--muted);margin-top:3px}.acq-map-links{margin-top:5px;font-size:12px}.acq-map-links summary{cursor:pointer;color:var(--muted)}.acq-map-links>div{display:flex;flex-wrap:wrap;gap:5px 14px;padding-top:7px}.acq-map-links>div.subtle{display:block}@media(max-width:620px){.acq-place-head{align-items:flex-start}.acq-place-head .subtle{max-width:45%;text-align:right}.acq-place{padding:8px 10px}}
.acq-encounters{margin-top:6px}.acq-encounter{padding:4px 0}.acq-encounter+.acq-encounter{border-top:1px solid var(--line)}.acq-encounter-values{display:grid;grid-template-columns:minmax(0,1fr) 90px 55px;gap:10px;align-items:baseline;font-size:12px}.acq-encounter-values>strong{color:var(--accent);text-align:right}.acq-encounter-note{font-size:11px;margin-top:3px}.acq-encounter-maps{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;margin-top:3px}@media(max-width:620px){.acq-encounter-values{grid-template-columns:minmax(0,1fr) 75px 45px;gap:6px;font-size:11px}}

/* Compact move information and compatibility lists. */
.detailed-moves .move-row{grid-template-columns:64px minmax(115px,1fr) 52px 48px minmax(220px,2.2fr);align-items:center;gap:12px;padding:10px 14px}
.move-heading{font-size:11px;color:var(--muted);font-weight:700;background:var(--panel)}
.move-category{font-size:11px;font-weight:700;white-space:nowrap}.move-category.physical{color:#ef9c87}.move-category.special{color:#92bbf2}.move-category.status{color:#bbb1ed}.move-power{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.move-effect{font-size:12px;color:var(--muted);line-height:1.6}
.compat-stack{display:flex;flex-direction:column;gap:12px}.compat-note{margin:0 0 12px;font-size:11px;color:var(--muted);line-height:1.6}.machine-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.machine-entry{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}.machine-entry .tech-code{flex:0 0 47px}.machine-entry .tech-name{line-height:1.4}.machine-entry .tech-state{font-size:10px;margin-left:auto;white-space:nowrap;color:#e0b477}.machine-entry.unavailable .tech-name{color:var(--muted)}.tutor-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tutor-box h4{margin:0;flex-shrink:0}.tutor-box .teach-list{display:flex;flex-wrap:wrap;gap:8px}.tutor-box .muted{font-size:12px}
@media(max-width:760px){.machine-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detailed-moves .move-row{grid-template-columns:55px minmax(90px,1fr) 45px 40px;gap:8px}.detailed-moves .move-effect{grid-column:2 / -1}.detailed-moves .move-heading span:last-child{display:none}}
@media(max-width:430px){.detailed-moves .move-row{grid-template-columns:48px minmax(75px,1fr) 38px 34px;padding:9px 10px;gap:6px}.detailed-moves .move-level{margin:0}.machine-list{grid-template-columns:1fr}.machine-entry{padding:9px 0}}

/* Item effects and separate acquisition sources */
.item-effect{padding:14px 16px;margin-bottom:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.item-effect label{font-size:12px;color:var(--muted)}
.item-effect p{margin:6px 0 0;line-height:1.6}
.item-sources{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.item-source-panel{padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0}
.item-source-panel h4{margin:0 0 12px;font-size:14px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.item-source-panel h4 span{font-size:12px;color:var(--muted);font-weight:400}
.item-source-list{list-style:none;margin:0;padding:0}
.item-source-list li{padding:9px 0;border-top:1px solid var(--line);line-height:1.6;overflow-wrap:anywhere}
.item-source-list li:first-child{border-top:0}
.item-source-more summary{cursor:pointer;color:var(--accent);padding:10px 0;font-size:13px}
.item-source-more .item-more-close{display:none}
.item-source-more[open] .item-more-open{display:none}
.item-source-more[open] .item-more-close{display:inline}
.item-source-empty{color:var(--muted);font-size:13px;margin:0}
@media(max-width:640px){.item-sources{grid-template-columns:minmax(0,1fr)}.item-source-panel{padding:12px}}

:root .version-note{left:10px;right:auto}
.fan-project-note{position:fixed;right:10px;bottom:8px;z-index:15;max-width:min(680px,calc(100vw - 260px));font-size:9px;line-height:1.45;color:var(--muted);background:var(--bg);padding:4px 6px;border-radius:4px;text-align:right}
#main{padding-bottom:90px}
@media(max-width:800px){.fan-project-note{max-width:calc(100vw - 20px);bottom:30px;font-size:9px}#main{padding-bottom:160px}}

.site-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:16px 20px;border-top:1px solid var(--line);background:var(--bg)}
:root .site-footer .version-note{position:static;flex-shrink:0;padding:0;font-size:11px;pointer-events:auto}
.site-footer .fan-project-note{position:static;max-width:1000px;padding:0;font-size:11px;line-height:1.55}
#main{padding-bottom:32px}
@media(max-width:800px){.site-footer{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.site-footer .fan-project-note{max-width:none;order:-1;font-size:11px}.site-footer .version-note{text-align:left}}

:root .site-footer .version-note,.site-footer .fan-project-note{font-size:12px}

.mega-menu-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
.mega-menu-footer span{overflow-wrap:anywhere;white-space:pre-line}

.item-first-time{margin-top:10px;line-height:1.6}.item-first-time label{font-size:11px;color:var(--muted)}.item-first-time p{margin:3px 0 0;font-size:13px;white-space:pre-line;overflow-wrap:anywhere}

.item-heading{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);align-items:center;gap:20px;margin-bottom:14px}
.item-name h3{margin:0 0 6px;font-size:18px}
.item-heading .item-effect{margin:0;padding:10px 14px}
.item-card .item-sources{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.item-card .item-first-time{margin:0}
.item-card .item-first-time p{margin:0;font-size:13px}
@media(max-width:800px){.item-heading{grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:12px}.item-card .item-sources{grid-template-columns:minmax(0,1fr)}}

.item-heading{grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:start}
.item-heading .item-effect{border:0;background:transparent;border-radius:0;padding:0}
.item-heading .item-effect label{display:none}
.item-heading .item-effect p{margin:0;font-size:14px;line-height:1.6}
@media(max-width:800px){.item-heading{grid-template-columns:max-content minmax(0,1fr);gap:12px}}

.encounter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;list-style:none;margin:0;padding:0}.encounter-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:12px;overflow-wrap:anywhere}.encounter-card .enc-name{font-size:14px}.enc-method{margin-top:7px;font-size:12px;color:var(--muted)}.enc-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:13px}.enc-rate-label{font-size:11px;font-weight:400;color:var(--muted)}.enc-note{margin:8px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}

.visit-encounter-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:start}.visit-encounter-columns>.visit-encounter-section{min-width:0;padding:16px 18px 0}.visit-encounter-columns>.visit-encounter-section:first-child{padding-left:0}.visit-encounter-columns>.visit-encounter-section:last-child{padding-right:0}.visit-encounter-columns>.visit-encounter-section+.visit-encounter-section{border-left:1px solid var(--line)}.encounter-grid{display:block}.encounter-card{border:0;border-radius:0;background:transparent;padding:10px 0}.encounter-card+.encounter-card{border-top:1px solid var(--line)}.encounter-card .enc-name{font-size:14px}.encounter-empty{padding:12px 0;color:var(--muted);font-size:12px}.visit-encounter-columns .visit-section-title{align-items:center}.visit-encounter-columns .visit-section-title .eyebrow{font-size:10px}.visit-encounter-columns .visit-section-title h4{font-size:15px}@media(max-width:760px){.visit-encounter-columns{grid-template-columns:1fr}.visit-encounter-columns>.visit-encounter-section{padding:16px 0 0}.visit-encounter-columns>.visit-encounter-section+.visit-encounter-section{border-left:0}}

.encounter-card{padding:8px 0}.enc-line{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:baseline}.enc-details{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:3px;min-width:0}.enc-level{font-size:12px;white-space:nowrap}.enc-details .enc-method{margin:0;font-size:11px}.enc-line>.enc-rate{font-size:13px;text-align:right;white-space:nowrap}.enc-line .enc-rate-label{font-size:10px}.enc-note{margin-top:5px}

.new-pokemon-card .stat-chip span{font-size:9px;white-space:nowrap}

.appearance-row{padding:10px 12px;border-bottom:1px solid var(--line,#28323c);font-size:12px;line-height:1.6}.appearance-more summary{cursor:pointer;padding:12px;color:var(--muted,#8ca2bb)}

.visit-card-head{flex-wrap:wrap}.visit-title{flex:1 1 280px}.visit-header-notes{margin-left:auto;flex:0 1 52%;min-width:0;text-align:right;color:var(--muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}@media(max-width:760px){.visit-title{flex:1 1 180px}.visit-header-notes{flex:1 1 100%;margin-left:0}}

.training-group{margin-top:22px}.training-group>h3{margin:0 0 12px;font-size:18px}.training-candies{margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}

/* Keep navigation visible when the footer reaches the viewport. */
@media(min-width:901px){.sidebar{position:static;height:auto;display:block;overflow:visible}.sidebar nav{position:sticky;top:108px;max-height:calc(100vh - 130px);overflow:auto}}

.item-initial-filter{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 18px}.item-initial-btn{min-width:38px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-weight:700;cursor:pointer}.item-initial-btn:hover{color:var(--text);border-color:var(--accent)}.item-initial-btn.active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel))}

.change-sprite{display:inline-block;width:40px;height:40px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;margin-right:8px}

.machine-location-table th:nth-child(1){width:90px}.machine-location-table th:nth-child(2){width:170px}.machine-source + .machine-source{margin-top:6px}

.machine-stage{display:inline-block;color:var(--accent);font-size:12px;font-weight:700;margin-right:8px}

.item-route-unknown{color:var(--accent);font-weight:700;margin:16px 0 0}

.detailed-moves .move-name .pill{margin-left:5px;vertical-align:middle;font-size:10px}.defense-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.defense-group{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:12px}.defense-group strong{display:block;font-size:12px;margin-bottom:8px}.defense-note{margin:0 0 10px;font-size:12px}@media(max-width:620px){.defense-grid{grid-template-columns:1fr}}

.detailed-moves .move-row{grid-template-columns:64px minmax(115px,1fr) 65px 52px 48px minmax(180px,2.2fr)}.detailed-moves .move-type .pill{font-size:10px;margin:0}@media(max-width:760px){.detailed-moves .move-row{grid-template-columns:48px minmax(75px,1fr) 50px 38px 34px;gap:6px}.detailed-moves .move-effect{grid-column:2 / -1}}@media(max-width:430px){.detailed-moves .move-row{grid-template-columns:40px minmax(65px,1fr) 44px 32px 28px;padding:9px 8px;gap:4px}}

/* Main quest reference */
.quest-guide-note{border:1px solid var(--line);border-radius:12px;padding:16px 20px;background:var(--panel);margin:0 0 18px}.quest-guide-note p{margin:6px 0 0;color:var(--muted);line-height:1.7;font-size:13px}.quest-controls{display:flex;gap:12px;margin-bottom:20px}.quest-controls select,.quest-controls input{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:12px;border-radius:10px}.quest-controls input{flex:1;min-width:0}.quest-list{display:grid;gap:16px}.quest-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:20px}.quest-card header{display:flex;align-items:center;gap:16px}.quest-card h3{margin:4px 0;font-size:21px}.quest-number{font-size:22px;color:var(--accent);font-weight:800}.quest-steps{padding-left:22px;line-height:1.9;margin:16px 0 8px}.quest-status{color:var(--muted);font-size:12px;margin:8px 0 16px}.quest-battles{border-top:1px solid var(--line);padding-top:13px}.quest-battles summary{cursor:pointer;font-weight:700}.quest-battle{padding:15px 0;border-bottom:1px solid var(--line)}.quest-battle:last-child{border-bottom:0;padding-bottom:0}.quest-battle h4{margin:0 0 9px}.quest-battle p{font-size:12px;line-height:1.7}.quest-party{display:flex;flex-wrap:wrap;gap:8px}.quest-party span{background:var(--bg);padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}.quest-party b{color:var(--muted);font-size:12px;margin-left:5px}.quest-warning{color:var(--accent)}@media(max-width:620px){.quest-controls{flex-wrap:wrap}.quest-controls input{flex-basis:100%}.quest-card{padding:16px}.quest-card h3{font-size:18px}}

.quest-difficulties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quest-difficulty{min-width:0;border-left:2px solid var(--line);padding-left:12px}.quest-difficulty h5{margin:0 0 9px;font-size:14px;color:var(--accent)}.quest-party span{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.quest-sprite{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.quest-team+.quest-team{margin-top:12px}.quest-fallback{margin:8px 0 0;color:var(--muted);font-size:11px!important}@media(max-width:900px){.quest-difficulties{grid-template-columns:1fr}.quest-difficulty{padding:10px 0 10px 12px}.quest-sprite{width:28px;height:28px}}

.quest-difficulty-picker{display:flex;gap:8px;margin:-4px 0 20px}.quest-difficulty-picker button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;padding:9px 18px;cursor:pointer;font-weight:700}.quest-difficulty-picker button[aria-pressed="true"]{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 15%,var(--panel))}.quest-difficulties{grid-template-columns:1fr}

/* Level-up moves: accuracy between power and effect. */
.detailed-moves .move-row{grid-template-columns:58px minmax(105px,1fr) 60px 48px 44px 52px minmax(150px,2fr)}.move-accuracy{font-size:12px;font-weight:700}
@media(max-width:760px){.detailed-moves .move-row{grid-template-columns:40px minmax(70px,1fr) 46px 34px 30px 44px;gap:4px}.detailed-moves .move-effect{grid-column:2 / -1}}
@media(max-width:430px){.detailed-moves .move-row{grid-template-columns:34px minmax(58px,1fr) 40px 30px 26px 38px;padding:9px 6px;gap:3px}.detailed-moves .move-heading span{font-size:9px}.move-accuracy{font-size:11px}}

/* Shared navigation back to the top of every menu. */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:40;min-width:68px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;font-weight:700;box-shadow:0 4px 16px #0005;cursor:pointer}.back-to-top:hover{border-color:var(--accent);color:var(--accent)}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-footer{padding-right:108px}@media(max-width:620px){.back-to-top{right:12px;bottom:12px;min-width:60px;padding:10px}.site-footer{padding-right:84px}}
