.star-rating{display:inline-flex;align-items:center;gap:var(--space-1)}.star-rating-wrapper{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.star-rating .star{font-size:1rem;color:var(--muted);opacity:.4;transition:all .2s ease;line-height:1}.star-rating .star.filled{color:#fbbf24;opacity:1}.star-rating .star.half{position:relative;color:var(--muted);opacity:.4}.star-rating .star.half::before{content:'\2605';position:absolute;left:0;top:0;width:50%;overflow:hidden;color:#fbbf24;opacity:1}.rating-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--muted)}.rating-average{font-weight:600;color:var(--text)}.rating-count{opacity:.8}.rating-separator{opacity:.5}.star-rating-empty{font-size:var(--font-size-xs);color:var(--muted);font-style:italic;opacity:.7}.card-front .star-rating-wrapper{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--view-border,rgba(0,0,0,.1))}.card-back .star-rating-wrapper{margin-top:auto;padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.2)}.card-back .star-rating .star{color:rgba(255,255,255,.4)}.card-back .star-rating .star.filled{color:#fbbf24}.card-back .rating-info{color:rgba(255,255,255,.8)}.card-back .rating-average{color:var(--card)}.rating-prompt{background:var(--card);border-radius:var(--radius);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-light);margin-top:var(--space-4);animation:slideUp .3s ease}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rating-prompt h3{margin:0 0 var(--space-4);color:var(--c8);font-size:var(--font-size-lg)}.rating-prompt p{margin:0 0 var(--space-4);color:var(--muted);font-size:var(--font-size-sm)}.star-rating-interactive{display:inline-flex;gap:var(--space-2);padding:var(--space-3)}.star-rating-interactive .star{font-size:1.8rem;color:var(--muted);opacity:.3;cursor:pointer;transition:all .2s ease;user-select:none;-webkit-tap-highlight-color:transparent}.star-rating-interactive .star:hover{transform:scale(1.1);opacity:.6}.star-rating-interactive .star.active,.star-rating-interactive .star.hover{color:#fbbf24;opacity:1}.star-rating-interactive .star.active{animation:starPop .3s ease}@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.rating-skip{margin-top:var(--space-4)}.rating-skip button{background:0 0;border:none;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2) var(--space-4);transition:color .2s ease}.rating-skip button:hover{color:var(--text)}.rating-thanks{padding:var(--space-6);text-align:center}.rating-thanks .check-icon{font-size:3rem;margin-bottom:var(--space-3);animation:checkBounce .5s ease}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.rating-thanks h4{margin:0 0 var(--space-2);color:var(--c8)}.rating-thanks p{margin:0;color:var(--muted);font-size:var(--font-size-sm)}.rating-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.rating-modal{background:var(--card);border-radius:var(--radius);padding:var(--space-8);max-width:400px;width:90%;text-align:center;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{from{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:640px){.star-rating-interactive .star{font-size:2rem}.rating-modal{padding:var(--space-6)}}