/* Compact visual catalogs; shared colors follow the site's theme. */
[data-visual-catalog] .page-hero{padding:36px 0}
[data-visual-catalog] .page-hero .narrow{max-width:var(--max)}
[data-visual-catalog] .page-hero .cat-icon{display:none}
[data-visual-catalog] .page-hero h1{margin:18px 0 8px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}
[data-visual-catalog] .page-hero p{margin:0;font-size:.95rem}
[data-visual-catalog]>.section{padding-top:28px}
[data-catalog-cards]{margin-top:0!important}
[data-catalog-cards] .pet-filters{position:static;display:grid;grid-template-columns:minmax(160px,1.6fr) minmax(160px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:none;margin:0 0 22px}
[data-catalog-cards] .pet-filters label{min-width:0;display:grid;gap:6px}
[data-catalog-cards] .pet-filters label>span{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:none;letter-spacing:0}
[data-catalog-cards] .pet-filters input,[data-catalog-cards] .pet-filters select,[data-catalog-cards] .pet-filters button{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:.85rem}
[data-catalog-cards] .pet-filters button{cursor:pointer;color:var(--cyan);white-space:nowrap}
[data-catalog-cards] [data-area-heading]{margin:0;font-size:1.45rem;color:var(--ink)}
[data-catalog-cards] .pet-result-count{float:right;margin:0;font-size:.8rem;color:var(--muted)}
.catalog-cards-wrap{margin:20px 0 28px;clear:both}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px}
.catalog-card{min-width:0;position:relative;display:flex;flex-direction:column;margin:0!important;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;transform-origin:center}
.catalog-card-link{display:flex;flex-direction:column;flex:1;min-width:0}
.catalog-card[hidden]{display:none!important}
.catalog-card-art{display:grid;place-items:center;height:164px;padding:20px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--purple) 16%,transparent),transparent 75%),var(--panel2)}
.catalog-card-art img{width:100%;height:124px;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(0,0,0,.16));transition:transform .3s ease;transform-origin:center}
.catalog-card[data-rarity=common]{--card-accent:#9ca6b8}.catalog-card[data-rarity=uncommon]{--card-accent:#63c98b}.catalog-card[data-rarity=rare]{--card-accent:#62a9ff}.catalog-card[data-rarity=epic]{--card-accent:#b589ff}.catalog-card[data-rarity=legendary]{--card-accent:#e9bf52}.catalog-card[data-rarity=mythic]{--card-accent:#ed728f}.catalog-card[data-rarity=cosmic]{--card-accent:#bd88ec}.catalog-card[data-rarity=secret]{--card-accent:#90d7d1}.catalog-card[data-rarity=eternal]{--card-accent:#dfb2d9}.catalog-card[data-rarity=divine]{--card-accent:#f2d165}
.catalog-card[data-rarity] .catalog-card-art{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--card-accent) 23%,transparent),transparent 80%),var(--panel2)}
.catalog-card-copy{padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.catalog-card-copy .rarity{align-self:flex-start;padding:3px 8px;max-width:100%;font-size:.66rem;line-height:1.3;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--ink);white-space:normal}
.catalog-card-copy .rarity-common{--tag-color:#b7beca}.catalog-card-copy .rarity-uncommon{--tag-color:#77dba7}.catalog-card-copy .rarity-rare{--tag-color:#69aefd}.catalog-card-copy .rarity-epic{--tag-color:#bd8cff}.catalog-card-copy .rarity-legendary{--tag-color:#ffd35a}.catalog-card-copy .rarity-mythic{--tag-color:#ff7d96}.catalog-card-copy .rarity-cosmic{--tag-color:#cf99ff}.catalog-card-copy .rarity-secret{--tag-color:#80e4d9}.catalog-card-copy .rarity-eternal{--tag-color:#ffc3ed}.catalog-card-copy .rarity-divine{--tag-color:#ffee8c}
.catalog-card-copy .rarity[class*="rarity-"]{background:var(--tag-color);border-color:var(--tag-color);color:#172033;font-weight:850}
.catalog-area-section{margin:30px 0 42px!important;padding:0!important}
.catalog-area-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px}
.catalog-area-head h2{margin:0!important;font-size:1.45rem!important;color:var(--ink)}
.catalog-area-head>span{display:grid;place-items:center;min-width:28px;padding:2px 8px;border:1px solid var(--line);border-radius:8px;font-size:.75rem;color:var(--muted)}
.catalog-area-section[hidden]{display:none!important}
[data-catalog-sentinel]{height:1px;clear:both}
[data-catalog-sentinel][hidden]{display:none!important}
.catalog-card h3{margin:0!important;font-size:.95rem!important;line-height:1.4;overflow-wrap:anywhere;color:var(--ink)}
.catalog-income{font-size:.95rem;color:var(--cyan);line-height:1.3}
.catalog-card .collection-controls{display:flex;justify-content:flex-end;gap:6px;padding:0 12px 12px;margin-top:auto}
.catalog-card .collection-controls button{width:32px;height:32px;min-height:32px;border-radius:9px}
.catalog-pending{font-size:3rem;color:var(--muted)}
.catalog-data-note{margin:24px 0;color:var(--muted);font-size:.8rem}.catalog-data-note summary{cursor:pointer;margin-bottom:8px}
[data-catalog-cards] [data-special-panel] h2,[data-catalog-cards] [data-special-panel] p{display:none}
.collection-catalog{padding:14px 18px!important;margin:0 0 20px!important;min-height:0!important}.collection-catalog h2{font-size:.95rem!important;margin:0!important}.collection-catalog .collection-open{font-size:.82rem}
.pet-profile-art img,.biome-hero-art img,.unlock-hero>img,.individual-float{animation:individual-hover 4.6s ease-in-out infinite;will-change:transform}
.individual-float{max-width:180px;margin:30px auto}
@keyframes individual-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(hover:hover){.catalog-card:hover{transform:scale(.965);border-color:var(--card-accent,var(--cyan));box-shadow:0 0 0 2px var(--card-accent,var(--cyan)),0 8px 24px rgba(0,0,0,.14)}.catalog-card:hover .catalog-card-art img{transform:scale(1.17)}}
.catalog-card:focus-within{border-color:var(--cyan)}
html[data-theme=light] [data-catalog-cards] [data-area-heading]{color:var(--ink)}
@media(max-width:900px){[data-catalog-cards] .pet-filters{grid-template-columns:1fr 1fr}[data-catalog-cards] .pet-filters label:first-child{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}}
@media(max-width:480px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-card{border-radius:14px}.catalog-card-art{height:138px;padding:14px}.catalog-card-art img{height:110px}.catalog-card-copy{padding:12px;gap:7px}.catalog-card h3{font-size:.84rem!important}[data-catalog-cards] .pet-filters{padding:14px;gap:10px}[data-catalog-cards] .pet-filters button{grid-column:1/-1}.collection-catalog{gap:10px!important}.collection-catalog .collection-open{padding:9px!important}.collection-catalog h2{font-size:.85rem!important}}
@media(prefers-reduced-motion:reduce){.catalog-card,.catalog-card-art img{transition:none}.catalog-card:hover,.catalog-card:hover .catalog-card-art img{transform:none}.pet-profile-art img,.biome-hero-art img,.unlock-hero>img,.individual-float{animation:none;will-change:auto}}
