.catalog-shell{max-width:1180px;margin:auto;padding:40px 24px 80px}.catalog-heading{margin-bottom:32px}.catalog-heading h1{margin:12px 0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15}.catalog-heading p{color:var(--text-soft);line-height:1.7}.catalog-heading>a,.catalog-back{color:var(--primary-bright);margin-top:12px;display:inline-block}.catalog-back{margin-bottom:28px}.catalog-controls{gap:18px;margin-bottom:18px;display:flex}.catalog-controls label{flex-direction:column;flex:1;gap:8px;max-width:500px;font-size:.9rem;font-weight:600;display:flex}.catalog-controls input,.catalog-controls select{border:1px solid var(--outline);width:100%;min-height:48px;color:var(--text);background:var(--surface);border-radius:12px;padding:12px 16px}.catalog-filters{flex-wrap:wrap;gap:8px;display:flex}.catalog-filters button{border:1px solid var(--outline);background:var(--surface);min-height:44px;color:var(--text);border-radius:24px;padding:10px 18px}.catalog-filters button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.catalog-count{color:var(--text-muted);margin:20px 0}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.hero-card{border:1px solid var(--outline-soft);background:var(--surface-low);color:var(--text);border-radius:20px;align-items:center;gap:16px;padding:20px;transition:border-color .15s;display:flex}.hero-card:hover{border-color:var(--primary)}.hero-card img,.hero-placeholder{object-fit:cover;border-radius:50%;flex-shrink:0;width:72px;height:72px}.hero-placeholder{background:var(--primary-container);place-items:center;font-size:2rem;display:grid}.hero-card h2{font-size:1.1rem}.hero-card p,.hero-card small{color:var(--text-muted);font-size:.82rem;line-height:1.8}.hero-card>span:last-child{color:var(--primary);margin-left:auto}.hero-heading{align-items:center;gap:24px;display:flex}.hero-heading img{border-radius:50%;flex-shrink:0}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.catalog-card{border:1px solid var(--outline-soft);background:var(--surface-low);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.catalog-card__preview{color:var(--text);flex:1}.catalog-card__art{aspect-ratio:8/5;background:var(--surface);color:var(--text-muted);place-items:center;display:grid}.catalog-card__art img{object-fit:cover;width:100%;height:100%}.catalog-card__body{padding:18px}.catalog-card h2{margin:8px 0;font-size:1.12rem;line-height:1.4}.catalog-card p{color:var(--text-muted);font-size:.85rem;line-height:1.6}.catalog-tag{text-transform:capitalize;color:var(--primary-bright)}.catalog-card__actions{border-top:1px solid var(--outline-soft);display:flex}.catalog-card__actions a,.catalog-card__actions button{text-align:center;color:var(--text-soft);background:0 0;border:0;flex:1;min-height:48px;padding:14px 10px;font-size:.85rem}.catalog-card__actions button{border-left:1px solid var(--outline-soft)}.catalog-card__actions a:hover,.catalog-card__actions button:hover{background:var(--surface-high)}.catalog-empty{text-align:center;color:var(--text-soft);padding:60px 20px}.catalog-empty p{margin:16px 0 24px}[data-catalog-card][hidden],.catalog-empty[hidden]{display:none!important}@media (width<=1000px){.hero-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.hero-grid,.catalog-grid{grid-template-columns:1fr}.catalog-controls{flex-direction:column}.catalog-shell{padding:28px 20px 60px}.hero-heading{gap:16px}.hero-heading img{width:64px;height:64px}}.catalog-help{border:1px solid var(--outline-soft);background:var(--surface-low);border-radius:20px;margin-top:40px;padding:24px}.catalog-help h2{font-size:1.4rem;line-height:1.3}.catalog-help p{color:var(--text-soft);margin-top:16px}.catalog-help a{color:var(--primary-bright);text-decoration:underline}.catalog-heading h1,.hero-card h2,.catalog-card h2{overflow-wrap:anywhere}.hero-heading>div,.hero-card>div{min-width:0}.catalog-card h3{overflow-wrap:anywhere;margin:8px 0;font-size:1.12rem;line-height:1.4}.catalog-card__next{color:var(--primary-bright);margin-top:12px;font-size:.9rem;display:block}
