/* Cat photos (/cats/, 2026-11-02). Also used by the Cats section on /profile/ (.pcats).
   Class selectors only: the site-wide letter glint wraps letters in spans, so no rule may style bare span descendants. */
.cats .cats-intro{max-width:46rem;line-height:1.6}
.cats .cats-grid,.pcats .cats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:.8rem 0}
.cats .cats-card,.pcats .cats-card{border:1px solid rgba(127,127,127,.35);border-radius:12px;padding:.7rem;background:rgba(127,127,127,.06);display:flex;flex-direction:column;gap:.3rem;overflow-wrap:anywhere;min-width:0}
.cats .cats-imgl,.pcats .cats-imgl{display:block;border-radius:8px;overflow:hidden}
.cats .cats-img,.pcats .cats-img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:rgba(127,127,127,.12)}
.cats .cats-prev .cats-img{aspect-ratio:auto;max-height:320px;object-fit:contain}
.cats .cats-name,.pcats .cats-name{margin:.2rem 0 0;font-size:1.05rem;font-weight:600;letter-spacing:0;text-transform:none}
.cats .cats-cap,.pcats .cats-cap{margin:0;white-space:pre-line;line-height:1.5}
.cats .cats-by,.cats .cats-when,.pcats .cats-when{margin:0}
.cats .cats-when,.pcats .cats-when{font-size:.8rem;opacity:.7}
.cats .cats-link,.pcats .cats-link{background:none;border:0;padding:0;font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer;color:inherit;opacity:.75;align-self:flex-start}
.cats .cats-link:hover,.cats .cats-link:focus-visible,.pcats .cats-link:hover,.pcats .cats-link:focus-visible{opacity:1}
.cats .cats-btn{font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:8px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.cats .cats-btn:disabled{opacity:.5;cursor:wait}
.cats .cats-row,.pcats .cats-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:.3rem}
.cats .cats-tag,.pcats .cats-tag{font-size:.78rem;font-weight:600;padding:.12rem .5rem;border-radius:99px;border:1px solid rgba(127,127,127,.5)}
.cats .cats-f{display:flex;flex-direction:column;gap:.35rem;max-width:34rem}
.cats .cats-f label{font-weight:600;margin:.6rem 0 0}
.cats .cats-f input[type=text],.cats .cats-f textarea,.cats .cats-report select,.cats .cats-report input{font:inherit;padding:.5rem .6rem;border-radius:8px;border:1px solid rgba(127,127,127,.5);background:transparent;color:inherit;width:100%;box-sizing:border-box}
.cats .cats-f textarea{resize:vertical}
.cats .cats-f input[type=file]{font:inherit;max-width:100%}
.cats .cats-f .cats-btn{align-self:flex-start;margin-top:.8rem}
.cats .cats-prev{display:flex;flex-direction:column;gap:.3rem;max-width:18rem}
.cats .cats-report{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}
.cats .cats-pages{display:flex;gap:1rem;align-items:center;justify-content:center;margin:1rem 0}
.cats .cats-review{border:1px dashed currentColor;border-radius:12px;padding:1rem}
.cats .cats-rules li{margin:.3rem 0;line-height:1.5}
.pcats{margin-top:1.2rem}
.pcats .cats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pcats .pcats-more{margin:.2rem 0 0}
@media (prefers-reduced-motion:reduce){.cats *,.pcats *{transition:none!important;animation:none!important}}
