.site-card{background:var(--color-surface-raised);border-radius:var(--radius-lg);color:var(--color-overlay-image-fg);display:flex;flex-direction:column;height:var(--card-size);outline:none;overflow:hidden;position:relative;text-decoration:none;transform:translateZ(0);transition:transform var(--motion-duration-base) var(--motion-ease-standard),box-shadow var(--motion-duration-base) var(--motion-ease-standard);width:var(--card-size)}.site-card:before{animation:shimmer-skeleton var(--motion-duration-shimmer) linear infinite;background:linear-gradient(100deg,var(--color-glass-bg) 30%,var(--color-glass-bg-strong) 50%,var(--color-glass-bg) 70%);background-size:200% 100%}@media(prefers-reduced-motion:reduce){.site-card:before{animation:none}}.site-card:before{content:"";inset:0;opacity:1;pointer-events:none;position:absolute;transition:opacity var(--motion-duration-base) var(--motion-ease-standard);z-index:0}.site-card--loaded:before{opacity:0}.site-card:focus-visible,.site-card:hover{box-shadow:var(--shadow-card-hover);transform:translateZ(0) scale(1.03)}.site-card__media{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;opacity:0;position:absolute;transition:opacity var(--motion-duration-base) var(--motion-ease-standard);width:100%;z-index:1}.site-card--loaded .site-card__media{opacity:1}.home .site-card:after{background:#00000047;content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.site-card__overlay{background:linear-gradient(180deg,transparent 0,var(--color-overlay-image-bottom) 100%);display:flex;flex-direction:column;gap:var(--space-2);inset:auto 0 0;padding:var(--space-4);position:absolute;z-index:2}.site-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.site-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;padding:0}.site-card__tag{-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));background:var(--color-glass-bg-strong);border-radius:var(--radius-pill);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);padding:2px 8px;text-transform:uppercase}
