/* Collection is an Explore surface: controls, cards, then supporting context. */
.collection-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:10px 0 28px; }
.collection-heading h1 { font-size:clamp(30px,4vw,42px); margin:6px 0; }
.collection-heading p { color:var(--muted); line-height:1.5; }
.eyebrow { font-size:14px; color:var(--accent); letter-spacing:1.5px; }
.collection-tools { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:16px; margin-bottom:16px; padding:18px; background:var(--surface); border:2px solid var(--line); }
.collection-tools label { font-size:14px; color:var(--muted); min-width:0; }
.collection-tools input,.collection-tools select { display:block; width:100%; min-width:0; margin-top:8px; background:var(--bg); color:var(--text); border:2px solid var(--line); padding:10px 12px; font:16px 'Pixelify','Microsoft YaHei','Malgun Gothic',sans-serif; min-height:46px; }
.filter-btn,.flipall-btn,.card-detail-button { min-height:44px; font-size:14px; }
.result-count { margin:0 0 16px; font-size:15px; color:var(--muted); }
.card { height:278px; }
.card-topline { font-size:14px; padding-bottom:8px; }
.card-namebar { font-size:18px; min-height:38px; }
.card-namebar .species { flex-shrink:1; overflow:hidden; text-overflow:ellipsis; }
.card-namebar .nickname { display:none; }
.card-art { height:132px; }
.card-sprite { width:112px; height:108px; }
.card-data:empty { display:none; }
.card-bottomline { font-size:13px; padding:12px 2px 0; gap:8px; overflow-wrap:anywhere; }
.card-bottomline span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.card-detail-button { width:100%; margin-top:10px; padding:10px; background:var(--surface); color:var(--accent); border:2px solid var(--line); font-family:inherit; cursor:pointer; text-align:left; box-shadow:3px 3px 0 #0004; }
.card-detail-button:hover { background:var(--raised); border-color:var(--accent); }
.back-flavor { font-size:14px; max-width:180px; line-height:1.4; }
.back-sub { font-size:14px; color:var(--muted); }
.sidebar-title { font-size:13px; }
.party-slot-name,.theme-name { font-size:17px; }
.party-slot-sub,.sidebar-note,.theme-desc,.party-empty-label { font-size:14px; line-height:1.5; }
.sidebar-cta { font-size:15px; min-height:44px; }
.guide-link { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; color:var(--accent); }
.empty-state { padding:28px; border:2px dashed var(--line); background:var(--surface); margin-bottom:18px; }
.empty-state h2 { font-size:24px; color:var(--accent); margin-bottom:8px; }
.empty-state p { color:var(--muted); margin-bottom:16px; line-height:1.5; }
.empty-sprite { width:100px; height:100px; object-fit:contain; image-rendering:pixelated; }
.logged-out-state .msg { font-size:22px; line-height:1.4; }
.logged-out-state .sub { font-size:16px; }
#card-detail { margin:auto; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; background:var(--surface); color:var(--text); border:3px solid var(--accent); box-shadow:8px 8px 0 #0008; }
#card-detail::backdrop { background:#0e1815e8; }
.detail-heading { display:flex; gap:12px; justify-content:space-between; align-items:center; }
.detail-sprite { display:block; width:160px; height:160px; object-fit:contain; image-rendering:pixelated; margin:12px auto; background:var(--raised); border:2px solid var(--line); }
#detail-title { font-size:30px; margin:16px 0; }
#detail-content dl { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; font-size:17px; }
#detail-content dt { color:var(--muted); }
#detail-content dd { overflow-wrap:anywhere; }
.detail-notice { color:var(--action); border-top:1px solid var(--line); padding-top:16px; margin-top:20px; line-height:1.5; font-size:15px; }
@media(max-width:720px) {
 .collection-heading { align-items:flex-start; flex-direction:column; gap:16px; }
 .collection-tools { grid-template-columns:1fr; padding:14px; gap:12px; }
 .collection-sidebar { order:0; margin-top:10px; }
 .toolbar { gap:10px; }
 .filters { gap:6px; }
 .filter-btn { padding:9px 12px; }
 .card { height:248px; }
 .card-namebar { font-size:16px; padding:6px 4px; }
 .card-topline { font-size:13px; }
 .card-art { height:118px; }
 .card-sprite { width:96px; height:96px; }
 .face { padding:6px; }
 .card-bottomline { font-size:13px; }
 .collection-heading .btn { width:100%; text-align:center; }
 #card-detail { padding:18px; }
}

/* ── v2 readability (owner msg 1562434757483175968): bigger type + card art, Pokédex fills the page ── */
.collection-heading h1 { font-size:clamp(34px,1.6vw + 16px,60px); }
.collection-heading p { font-size:clamp(18px,0.35vw + 13px,23px); }
.eyebrow, .collection-tools label, .result-count, .sidebar-title { font-size:var(--fs-meta); }
.collection-tools { grid-template-columns:minmax(0,1fr) clamp(200px,14vw,280px); }
.collection-tools input, .collection-tools select { font-size:var(--fs-meta); min-height:52px; }
.filter-btn, .flipall-btn, .card-detail-button { font-size:var(--fs-meta); min-height:48px; }
.collection-layout { grid-template-columns:minmax(0,1fr) clamp(300px,22vw,460px); }
.card-grid { grid-template-columns:repeat(auto-fill,minmax(clamp(240px,15vw,340px),1fr)); }
.card { height:clamp(360px,22vw,440px); }
.card-topline { font-size:var(--fs-small); }
.card-namebar { font-size:clamp(19px,0.4vw + 14px,25px); min-height:46px; }
.card-art { height:clamp(180px,11vw,240px); }
.card-sprite { width:clamp(150px,9.5vw,210px); height:clamp(150px,9.5vw,210px); }
.card-bottomline, .stat-label, .card-legacy, .back-flavor, .back-sub { font-size:var(--fs-small); }
.stat-val { font-size:var(--fs-meta); }
.back-brand { font-size:var(--fs-meta); }
.back-flavor { max-width:none; }
.party-slot-img { width:64px; height:64px; }
.party-slot-name, .theme-name { font-size:clamp(18px,0.3vw + 14px,23px); }
.party-slot-sub, .sidebar-note, .theme-desc, .party-empty-label, .sidebar-cta, .guide-link { font-size:var(--fs-meta); }
.cosm-name, .item-name, .item-count, .empty { font-size:var(--fs-meta); }
.cosm-rarity { font-size:var(--fs-small); }
.logged-out-state .msg { font-size:clamp(22px,0.5vw + 16px,30px); }
.logged-out-state .sub { font-size:var(--fs-meta); }
.empty-sprite { width:128px; height:128px; }
.detail-sprite { width:200px; height:200px; }
#detail-content dl { font-size:var(--fs-meta); grid-template-columns:130px minmax(0,1fr); }
.detail-notice { font-size:var(--fs-meta); }
.dex-section { margin-top:32px; background:var(--surface); border:3px solid var(--line); box-shadow:4px 4px 0 #0004; padding:20px; }
.dex-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 20px; margin-bottom:14px; }
.dex-head .h { margin:0; }
.dex-sub { color:var(--muted); font-size:var(--fs-meta); }
.dex-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(clamp(150px,10vw,220px),1fr)); gap:12px; }
.dex-cell { background:var(--bg); border:2px dashed var(--line); padding:12px 8px; display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; }
.dex-cell img { width:clamp(96px,6.5vw,144px); height:clamp(96px,6.5vw,144px); image-rendering:pixelated; object-fit:contain; filter:brightness(0) opacity(.45); }
.dex-cell.owned { border-style:solid; border-color:var(--accent); background:var(--raised); }
.dex-cell.owned img { filter:none; }
.dex-cell b { font-weight:normal; font-size:clamp(17px,0.3vw + 13px,22px); }
.dex-num { font-family:ui-monospace,Consolas,monospace; font-size:var(--fs-small); color:var(--muted); }
.dex-state { font-size:var(--fs-small); color:var(--muted); }
.dex-cell.owned .dex-state { color:var(--accent); }
@media(max-width:720px) {
 .collection-layout { grid-template-columns:1fr; }
 .collection-tools { grid-template-columns:1fr; }
 .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .card { height:300px; }
 .card-art { height:130px; }
 .card-sprite { width:112px; height:112px; }
 .card-namebar { font-size:17px; }
 .card-topline, .card-bottomline { font-size:14px; }
 .dex-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dex-cell img { width:88px; height:88px; }
}
