.lc-vote-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; overflow: auto; border: 1px solid #36363d; border-radius: 18px; background: #111113; color: #f4f4f5; font: 400 14px/1.5 Inter, system-ui, sans-serif; box-shadow: 0 24px 80px #0006; }
.lc-vote-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.lc-vote-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.lc-vote-eyebrow { margin: 0 0 6px; color: #ff796f; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lc-vote-head h2 { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.lc-vote-close { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #45454d; border-radius: 8px; color: inherit; font-size: 25px; }
.lc-vote-stars { display: flex; justify-content: center; gap: 6px; margin: 24px 0 8px; }
.lc-vote-stars button { width: 52px; height: 52px; border: 1px solid #45454d; border-radius: 10px; background: #1a1a1e; color: #777782; font-size: 32px; line-height: 1; }
.lc-vote-stars button.is-filled { border-color: #ff796f; background: #ff453a18; color: #ff796f; }
.lc-vote-stars button:disabled { opacity: .5; cursor: wait; }
.lc-vote-preview { min-height: 21px; margin: 8px 0 18px; text-align: center; font-weight: 700; }
.lc-vote-status { min-height: 42px; margin: 0 0 14px; color: #b9b9c2; }
.lc-vote-status.is-error { color: #ff918b; }
.lc-vote-signin, .lc-vote-retry { width: 100%; min-height: 46px; margin-bottom: 12px; padding: 10px 14px; border: 1px solid #ff796f; border-radius: 9px; background: #c92f28; color: #fff; font-weight: 700; }
.lc-vote-signin:disabled { opacity: .5; cursor: default; }
.lc-vote-clear { min-height: 44px; margin: 0 0 10px; color: #b9b9c2; text-decoration: underline; }
.lc-vote-note { margin: 0; padding-top: 14px; border-top: 1px solid #36363d; color: #9999a5; font-size: 12px; }
.lc-vote-dialog button:focus-visible { outline: 2px solid #ff796f; outline-offset: 3px; }
.lc-vote-dialog [hidden] { display: none; }
html.light .lc-vote-dialog { background: #fff; color: #172033; border-color: #d7dce4; }
html.light .lc-vote-eyebrow { color: #b4231d; }
html.light .lc-vote-close, html.light .lc-vote-stars button { background: #faf9f7; border-color: #cbd5e1; color: #64748b; }
html.light .lc-vote-stars button.is-filled { border-color: #b4231d; background: #fff1ef; color: #b4231d; }
html.light .lc-vote-status, html.light .lc-vote-clear, html.light .lc-vote-note { color: #475569; }
html.light .lc-vote-status.is-error { color: #b4231d; }
html.light .lc-vote-signin, html.light .lc-vote-retry { background: #b4231d; border-color: #b4231d; }
html.light .lc-vote-note { border-color: #e2e8f0; }
html.light .lc-vote-dialog button:focus-visible { outline-color: #b4231d; }
@media (max-width: 380px) { .lc-vote-dialog { padding: 18px; } .lc-vote-stars { gap: 4px; } .lc-vote-stars button { width: 44px; height: 48px; } }

.lc-model-vote { --vote-accent: #ff796f; --vote-border: #45454d; --vote-surface: #1a1a1e; --vote-text: #b9b9c2; margin-top: 14px; }
.lc-model-vote__label { display: block; margin-bottom: 7px; color: var(--vote-text); font: 600 12px/1.4 Inter, system-ui, sans-serif; }
.lc-model-vote__stars { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; width: 100%; max-width: 280px; }
.lc-model-vote__stars button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 0; border: 1px solid var(--vote-border); border-radius: 8px; background: var(--vote-surface); color: var(--vote-text); font: 28px/1 Inter, system-ui, sans-serif; cursor: pointer; }
.lc-model-vote__stars button.is-filled { color: var(--vote-accent); border-color: var(--vote-accent); }
.lc-model-vote__stars button:focus-visible { outline: 2px solid var(--vote-accent); outline-offset: 3px; }
@media (hover: hover) { .lc-model-vote__stars:hover button { color: var(--vote-text); border-color: var(--vote-border); } .lc-model-vote__stars button:hover, .lc-model-vote__stars button:has(~ button:hover) { color: var(--vote-accent); border-color: var(--vote-accent); } }
html.light .lc-model-vote { --vote-accent: #b4231d; --vote-border: #cbd5e1; --vote-surface: #faf9f7; --vote-text: #475569; }

.lc-model-vote__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; margin-bottom: 5px; max-width: 280px; }
.lc-model-vote__head .lc-model-vote__label { margin: 0; }
.lc-model-vote__manage { min-height: 32px; padding: 0 3px; border: 0; background: transparent; color: var(--vote-accent); font: 600 11px/1.3 Inter, system-ui, sans-serif; text-decoration: underline; cursor: pointer; }
.lc-model-vote [hidden] { display: none; }
.lc-model-vote button:disabled { opacity: .5; cursor: wait; }
