.gallery-badges{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.gallery-stars{color:#967237;background:#faf0d5;border-color:#eadab2;font-variant-numeric:tabular-nums}.star-rating{display:flex;align-items:center;gap:4px}.star-rating .star{display:block;width:20px;height:20px;fill:#efede2;stroke:#d5d8c6;stroke-width:1.25;stroke-linejoin:round}.star-rating .is-earned{fill:#e9b94f;stroke:#c89533}.level-stars{margin:0 0 8px}.level-card .room-label{min-height:108px}.level-lock{position:absolute;inset:0;display:grid;place-items:center;background:#f1eee645;pointer-events:none}.level-lock svg{width:40px;height:40px;padding:8px;background:#fffdf4ec;border:1px solid #e0e1d3;border-radius:13px;fill:none;stroke:#7f8974;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 3px 10px #4c5a4610}.level-card.is-locked{cursor:not-allowed;background:#f5f3ec}.is-locked .room-preview img{filter:saturate(.38);opacity:.67}.level-card.is-locked:hover{transform:none;box-shadow:none;border-color:#e4e4d8}.is-locked .card-arrow{display:none}.is-locked .completion-status{white-space:normal;color:#929880}.is-locked .room-label h3{color:#89917e}.victory-card #victory-stars{justify-content:center;margin:-6px 0 14px;gap:10px}.victory-card #victory-stars .star{width:49px;height:49px}.victory:not([hidden]) #victory-stars .is-earned{animation:star-arrive .48s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.12s + var(--star-order)*.12s)}@keyframes star-arrive{from{opacity:0;transform:translateY(12px) scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}@media(max-width:760px){.gallery-badges{flex-direction:column;align-items:flex-end}.gallery-badges .gallery-progress{margin:0}.gallery-badges{padding-top:12px}.level-card .room-label{min-height:109px}.level-stars .star{width:18px;height:18px}}@media(max-width:340px){.gallery-badges{flex-direction:row;padding:0}.gallery-badges .gallery-progress{margin:0}}@media(max-height:480px){.victory-card #victory-stars{margin:0 0 4px;gap:6px}.victory-card #victory-stars .star{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.victory:not([hidden]) #victory-stars .is-earned{animation:none!important}}
