/* Star rating widget, rendered by /assets/rating.js into <div data-rating="<subject>">.
   Uses the site's own variables; gold filled stars match the Arcanum ID chips. */
.rating { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 0.9rem 1.25rem; margin: 1rem 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 1.25rem; }
.rating-label { font-family: 'EB Garamond', serif; font-size: 1.1rem; font-weight: 600; color: var(--heading); margin: 0; }
.rating-stars { display: inline-flex; margin: 0 -6px; }
.rating-star { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: var(--muted); border-radius: 8px; }
.rating-star svg { width: 28px; height: 28px; fill: transparent; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; transition: fill 0.15s, color 0.15s; }
.rating-star.is-on { color: var(--gold); }
.rating-star.is-on svg { fill: var(--gold); }
.rating-star:hover { color: #d4b968; }
.rating-star:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.rating-star:disabled { cursor: default; }
.rating[data-busy] .rating-star { cursor: progress; opacity: 0.7; }
.rating-text { color: var(--muted); font-size: 0.88rem; line-height: 1.5; min-height: 1.4em; margin: 0; flex: 1 1 14rem; -webkit-user-select: text; user-select: text; }
.rating-text strong { color: var(--text); font-weight: 700; }
.rating-remove { background: none; border: 0; padding: 0 0.2rem; margin-left: 0.2rem; color: var(--red); font: inherit; font-size: 0.85rem; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; min-height: 44px; }
.rating-remove:hover { color: #fca5a5; }
.rating-remove:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; border-radius: 4px; }
.rating-error { color: #fca5a5; }
@media (prefers-reduced-motion: reduce) { .rating-star svg { transition: none; } }
@media (max-width: 480px) { .rating { padding: 0.8rem 1rem; gap: 0.25rem 0.9rem; } .rating-text { flex-basis: 100%; } }
