/* Cosmos website: store grid (CSS-only genre filter) and the cloud library */
.cz-hero img { border-radius: 20px; margin-bottom: 10px; }
.cz-store { padding-block: 10px 30px; }
.cz-store > .sgr { position: absolute; opacity: 0; pointer-events: none; }
.cz-store > label { display: inline-block; margin: 0 6px 8px 0; padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: .92rem; color: var(--muted); user-select: none; }
.cz-store > label:hover { color: var(--text); border-color: var(--line2); }
.cz-store > .sgr:checked + label { background: var(--acc); border-color: transparent; color: #0b0d10; font-weight: 700; }
.cz-store > .sgr:focus-visible + label { outline: 2px solid var(--acc); outline-offset: 2px; }
.cz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-top: 12px; }
.cz-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.cz-shot { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #0e1116; border-bottom: 1px solid var(--line); }
.cz-noshot { background: linear-gradient(135deg, #1a1630, #0e1116); }
.cz-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.cz-head { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; }
.cz-head h3 { margin: 0 0 4px; }
.cz-icon { border-radius: 12px; flex: none; background: #0e1116; }
.cz-body p { font-size: .94rem; }
.cz-meta { margin-bottom: 12px; }
.cz-act { margin-top: auto; }
#sg-racing:checked ~ .cz-grid .cz-card:not(.g-racing), #sg-platformer:checked ~ .cz-grid .cz-card:not(.g-platformer),
#sg-space:checked ~ .cz-grid .cz-card:not(.g-space), #sg-strategy:checked ~ .cz-grid .cz-card:not(.g-strategy),
#sg-roguelike:checked ~ .cz-grid .cz-card:not(.g-roguelike), #sg-survival:checked ~ .cz-grid .cz-card:not(.g-survival),
#sg-shooter:checked ~ .cz-grid .cz-card:not(.g-shooter), #sg-simulation:checked ~ .cz-grid .cz-card:not(.g-simulation) { display: none; }
.cz-info .card { padding: 24px; }
.cz-info h2 { font-size: 1.25rem; display: flex; gap: 8px; align-items: center; }
.cz-how { padding-inline-start: 1.2em; margin: 0; color: var(--muted); }
.cz-how li { margin-bottom: 6px; }
.cz-lib { padding-block: 10px 40px; }
.cz-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.cz-stat { display: flex; flex-direction: column; padding: 16px; }
.cz-stat strong { font-size: 1.7rem; line-height: 1.1; }
.cz-tools { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 12px; }
.cz-tools .inp { width: auto; flex: 1 1 200px; }
.cz-tools select.inp { flex: 0 0 auto; }
.cz-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cz-row { display: grid; grid-template-columns: 24px 1fr auto auto auto; gap: 14px; align-items: center; padding: 12px 16px; }
.cz-star { color: var(--dim); font-size: 1.1rem; }
.cz-star.on { color: #e5c07b; }
.cz-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cz-time { font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 700px) { .cz-stats { grid-template-columns: repeat(2, 1fr); } .cz-row { grid-template-columns: 24px 1fr auto; } .cz-last { display: none; } .cz-row .linkb { grid-column: 3; } }
