.hub{max-width:1080px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.hub header h1{letter-spacing:-.02em;margin:8px 0 2px;font-size:1.9rem}.hub header p{color:var(--muted);margin:0 0 18px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;height:100%;text-decoration:none;transition:transform .15s;display:flex;overflow:hidden}.card:active{transform:scale(.98)}@media (hover:hover){.card:hover{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.card{transition:none}}.thumb{aspect-ratio:1;background:linear-gradient(135deg, hsl(var(--hue) 65% 48%), hsl(calc(var(--hue) + 45) 70% 34%));color:#fff;text-align:center;place-items:center;padding:12px;font-size:1.5rem;font-weight:750;display:grid}.thumb:has(img){padding:0}.thumb img{object-fit:cover;width:100%;height:100%}.info{gap:2px;padding:10px 12px 12px;display:grid}.info span{color:var(--muted);font-size:.875rem}.info small{background:var(--line);vertical-align:middle;border-radius:6px;padding:1px 6px;font-size:.7rem;font-weight:600}.empty{color:var(--muted)}
