.ds-course-actions .ds-course-rating-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:auto;max-width:100%;padding:0 14px;border:1px solid var(--ds-border);border-radius:10px;background:var(--ds-card);color:var(--ds-text);font:700 13px var(--ds-font,system-ui);cursor:pointer;backdrop-filter:blur(14px)}
.ds-course-rating-button svg{width:18px;height:18px;fill:none;stroke:var(--ds-accent);stroke-width:1.8;stroke-linejoin:round}
.ds-course-rating-button:hover{border-color:var(--ds-accent)}
.ds-course-rating-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--ds-border);border-radius:24px;background:var(--ds-bg);color:var(--ds-text);font-family:var(--ds-font,system-ui);overflow:auto}
.ds-course-rating-dialog *{box-sizing:border-box}
.ds-course-rating-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(8px)}
.ds-course-rating-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ds-course-rating-dialog h2{font-size:22px;line-height:1.4;margin:0}
.ds-course-rating-dialog button{min-height:44px;padding:10px 14px;border:1px solid var(--ds-border);border-radius:10px;background:var(--ds-card);color:var(--ds-text);font:700 13px var(--ds-font,system-ui);cursor:pointer}
.ds-course-rating-dialog [data-rating-close]{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:0 0 44px}
.ds-course-rating-dialog [data-rating-close] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ds-course-rating-dialog fieldset{min-width:0;padding:0;margin:24px 0 0;border:0}
.ds-course-rating-dialog legend{font-size:14px;font-weight:700;padding:0 0 12px}
.ds-rating-stars{display:flex;gap:6px;justify-content:center}
.ds-rating-star{display:grid;place-items:center;position:relative;flex:0 1 48px;width:48px;height:48px;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-card);cursor:pointer}
.ds-rating-star input{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.ds-rating-star svg{width:25px;height:25px;fill:none;stroke:var(--ds-muted);stroke-width:1.6;stroke-linejoin:round}
.ds-rating-star[data-selected=true] svg{fill:var(--ds-accent);stroke:var(--ds-accent)}
.ds-rating-star:has(input:focus-visible),.ds-course-rating-dialog :focus-visible,.ds-course-rating-button:focus-visible{outline:3px solid var(--ds-accent);outline-offset:3px}
.ds-rating-star:hover{border-color:var(--ds-accent)}
.ds-course-rating-dialog [data-rating-choice]{text-align:center;min-height:22px;margin:10px 0;font-size:13px;color:var(--ds-muted)}
.ds-rating-hint{font-size:13px;line-height:1.8;color:var(--ds-muted);margin:18px 0}
.ds-rating-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ds-rating-actions button{flex:1 1 110px}
.ds-course-rating-dialog [data-rating-save]{background:var(--ds-accent);color:var(--ds-on-accent,#07111f);border-color:transparent}
.ds-course-rating-dialog button:disabled{opacity:.55;cursor:not-allowed}
.ds-course-rating-dialog [data-rating-status]{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:420px){.ds-course-rating-dialog{padding:18px}.ds-course-rating-dialog h2{font-size:20px}}
