{"version":3,"file":"rating.css.cjs","names":[],"sources":["../../../src/inputs/rating/rating.css?inline"],"sourcesContent":["@layer refine.base {\n  :host {\n    --_star-size: var(--rating-star-size, var(--size-7));\n    --_color-empty: var(--rating-color-empty, var(--color-contrast-200));\n    --_color-filled: var(--rating-color-filled, var(--_theme-base, var(--color-warning)));\n    --_gap: var(--rating-gap, var(--size-0_5));\n\n    display: inline-flex;\n    flex-wrap: wrap;\n    align-items: center;\n  }\n\n  .stars {\n    position: relative;\n    display: flex;\n    gap: var(--_gap);\n    align-items: center;\n  }\n\n  .sparkle-layer {\n    position: absolute;\n    inset: 0;\n    overflow: visible;\n    pointer-events: none;\n  }\n\n  .sparkle {\n    position: absolute;\n    pointer-events: none;\n    background: var(--_color-filled);\n    border-radius: 50%;\n    animation: var(--_motion-animation, sparkle-fly var(--_dur, 500ms) var(--ease-out) forwards);\n  }\n\n  @keyframes sparkle-fly {\n    from {\n      opacity: 0.9;\n      transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(0) scale(1);\n    }\n\n    to {\n      opacity: 0;\n      transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(calc(-1 * var(--_dist))) scale(0);\n    }\n  }\n\n  .star-btn {\n    all: unset;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--_star-size);\n    min-width: var(--_touch-target);\n    height: var(--_star-size);\n    min-height: var(--_touch-target);\n    color: var(--_color-empty);\n    cursor: pointer;\n    border-radius: var(--rounded-sm);\n    transition:\n      color var(--transition-fast),\n      transform 120ms var(--ease-spring);\n  }\n\n  .star-btn[data-filled] {\n    color: var(--_color-filled);\n  }\n\n  :host([solid]) .star-btn ore-icon::part(svg) {\n    fill: none;\n  }\n\n  :host([solid]) .star-btn[data-filled] ore-icon::part(svg) {\n    fill: currentcolor;\n  }\n\n  .star-btn:hover:not([disabled]),\n  .star-btn:focus-visible:not([disabled]) {\n    transform: scale(1.08);\n  }\n\n  .star-btn:focus-visible {\n    outline: var(--border-2) solid var(--_color-filled);\n    outline-offset: var(--border-2);\n  }\n\n  .star-btn[disabled] {\n    cursor: default;\n  }\n\n  :host([readonly]) .star-btn,\n  :host([disabled]) .star-btn {\n    pointer-events: none;\n  }\n\n  :host([disabled]) {\n    opacity: 0.5;\n  }\n}\n\n@layer refine.utilities {\n  :host([size='sm']) {\n    --_star-size: var(--size-5);\n  }\n\n  :host([size='lg']) {\n    --_star-size: var(--size-9);\n  }\n\n  @media (forced-colors: active) {\n    /* Distinguish filled vs unfilled stars with system button colors */\n    .star-btn {\n      color: ButtonText;\n    }\n\n    .star-btn[data-filled] {\n      color: Highlight;\n      forced-color-adjust: none;\n    }\n\n    .star-btn:focus-visible {\n      outline: 2px solid Highlight;\n      box-shadow: none;\n    }\n  }\n\n  /* ========================================\n       Helper / Error Text\n       ======================================== */\n\n  .helper-text[hidden] {\n    display: none;\n  }\n\n  .helper-text {\n    width: 100%;\n    margin-block-start: var(--size-1);\n    font-size: var(--text-xs);\n    line-height: var(--leading-tight);\n    color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n  }\n\n  .helper-text[role='alert'] {\n    color: var(--color-error);\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .sparkle {\n    display: none;\n  }\n}\n"],"mappings":""}