/* Shared public creation cards and fetch states for Home and Creations. */
.student-creations-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--space-lg); }
@media (min-width: 40rem) { .student-creations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 60rem) { .student-creations-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.student-creation { min-width: 0; }
.student-creation-link { display: flex; height: 100%; flex-direction: column; color: var(--color-ink); text-decoration: none; border-radius: var(--radius-card); }
.student-creation-picture { position: relative; aspect-ratio: 9 / 5; overflow: hidden; border-radius: var(--radius-card); background: var(--color-blue-soft); }
.student-creation[data-studio="game"] .student-creation-picture { background: var(--color-orange-soft); }
.student-creation[data-studio="ai"] .student-creation-picture { background: var(--color-purple-soft); }
.student-creation-picture > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.student-creation-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-xs); padding: var(--space-lg); color: var(--color-ink); }
.student-creation-placeholder > .icon { width: 48px; height: 48px; margin-bottom: var(--space-xs); color: var(--color-accent); }
.student-creation[data-studio="game"] .student-creation-placeholder > .icon { color: var(--color-orange); }
.student-creation[data-studio="ai"] .student-creation-placeholder > .icon { color: var(--color-purple); }
.student-creation-placeholder > span { font: 700 var(--text-lg)/1.3 var(--font-display); }
.student-creation-placeholder > small { font-size: var(--text-sm); }
.student-creation-meta { margin-top: var(--space-md); font-size: var(--text-sm); font-weight: 700; }
.student-creation .student-creation-title { margin-block: var(--space-2xs) var(--space-xs); font-size: var(--text-lg); line-height: 1.3; }
.student-creation-school { margin-bottom: var(--space-xs); font-size: var(--text-base); overflow-wrap: anywhere; }
.student-creation-action { display: flex; align-items: center; gap: var(--space-xs); min-height: 44px; margin-top: auto; color: var(--color-accent); font-weight: 800; }
.student-creation-action > .icon { width: 18px; height: 18px; }
.student-creation-link:hover .student-creation-action { color: var(--color-accent-deep); text-decoration: underline; text-underline-offset: .2em; }
.cr-gallery-state { padding: var(--space-2xl); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); background: var(--color-wash); }
.student-gallery .cr-gallery-state p { font: 700 var(--text-lg)/1.4 var(--font-display); color: var(--color-ink); max-width: 54ch; }
.cr-gallery-state button { appearance: none; border: 0; margin-top: var(--space-lg); font-weight: 800; }
