.catalog{padding-block:24px calc(40px + var(--safe-bottom));gap:22px;display:grid}.catalog h1{font-size:calc(clamp(40px, 5.5vw, 64px) * var(--d-scale))}.filters{scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);gap:8px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;flex:none;padding:8px 16px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.card{background:var(--surface);border-radius:var(--r-l);box-shadow:0 0 0 1px var(--line);grid-template-rows:auto 1fr;padding:8px;transition:transform .35s cubic-bezier(.34,1.6,.5,1),box-shadow .3s;display:grid}@media (hover:hover){.card:hover{box-shadow:0 0 0 1px var(--gum), 0 20px 40px -20px var(--shadow);transform:translateY(-4px)rotate(-.6deg)}}.card:active{transform:scale(.98)}.card .ph{aspect-ratio:4/5;border-radius:18px}.card .body{align-content:start;gap:8px;padding:12px 10px 8px;display:grid}.card .nm{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card .nm b{font-family:var(--f-display);font-weight:400;font-size:calc(32px * var(--d-scale));line-height:1}.card .nm span{color:var(--ink-2);font-size:13px}.card .quote{color:var(--ink-2);font-size:13.5px;line-height:1.45}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.empty{color:var(--ink-2);text-align:center;padding:40px 0}.install{background:var(--surface);border-radius:var(--r-m);box-shadow:0 0 0 1px var(--line);align-items:center;gap:12px;padding:10px 12px 10px 10px;display:flex}.install img{border-radius:12px;flex:none}.install-text{flex:1;min-width:0;font-size:13px;line-height:1.35;display:grid}.install-text span{color:var(--ink-2)}.install-close{color:var(--ink-2);background:0 0;border:0;padding:0 4px;font-size:22px;line-height:1}@media (max-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{border-radius:20px;padding:6px}.card .ph{border-radius:15px}.card .body{gap:6px;padding:8px 6px 6px}.card .nm{flex-direction:column;gap:2px}.card .nm b{font-size:calc(26px * var(--d-scale))}.card .quote{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}}
