/* Functional forms and accessible, name-labelled result bars. */
.ms-pf-vote-form fieldset{border:0;min-width:0;padding:0;margin:0}
.ms-pf-vote-form button[type=submit]{font:inherit;font-size:14px;font-weight:500;line-height:1.5;padding:9px 18px;border:1px solid var(--accent-soft);border-radius:5px;background:transparent;color:var(--accent-soft);cursor:pointer;transition:background .2s,color .2s}
.ms-pf-vote-form button[type=submit]:not(:disabled):hover{background:var(--accent-soft);color:var(--ms-bg)}
.ms-pf-vote-form button:disabled{opacity:.65;cursor:default}
.ms-pf-vote-form [role=status]{font-size:14px!important;line-height:1.7;color:var(--ms-text);margin:14px 0}
.ms-pf-vote-form>a{display:inline-block;font-size:14px;line-height:1.7;color:var(--accent-soft);text-decoration:none;margin-top:12px}
.ms-pf-vote-form>a:hover{text-decoration:underline;text-underline-offset:4px}
.ms-pf-rating fieldset legend{font-size:17px;line-height:1.6;padding:0;margin:0 auto 12px}
.ms-pf-stars{display:flex;justify-content:center;gap:10px;margin:12px 0 20px}
.ms-pf-stars label{position:relative;cursor:pointer;line-height:1;display:block;padding:4px}
.ms-pf-stars input,.ms-pf-sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.ms-pf-stars label>span[aria-hidden]{font-family:Arial,sans-serif;font-size:30px;letter-spacing:0;color:transparent;-webkit-text-stroke:1px var(--accent-soft);transition:color .18s ease}
.ms-pf-stars label:has(input:checked)>span[aria-hidden],.ms-pf-stars label:has(~label input:checked)>span[aria-hidden],.ms-pf-stars label:hover>span[aria-hidden]{color:var(--accent-soft)}
.ms-pf-stars label:has(input:focus-visible){outline:2px solid var(--accent-soft);outline-offset:3px;border-radius:3px}
.ms-pf-rating:has(.ms-pf-vote-form)>form>p:empty{display:none}
.ms-pf-results>section{margin:0 0 50px;padding-top:25px;border-top:1px solid var(--ms-line);scroll-margin-top:25px}
.ms-pf-results>section>p{font-size:15px;line-height:1.8;color:var(--ms-muted)}
.ms-pf-chart{list-style:none;margin:25px 0;padding:0;display:grid;gap:22px}
.ms-pf-chart-row>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:15px;line-height:1.6;color:var(--ms-text)}
.ms-pf-chart-row>div:first-child>span:last-child{flex-shrink:0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ms-muted)}
.ms-pf-chart-row a,.ms-pf-rating-result a{color:var(--ms-text);text-decoration:none}
.ms-pf-chart-row a:hover,.ms-pf-rating-result a:hover{color:var(--accent-soft);text-decoration:underline;text-underline-offset:4px}
.ms-pf-chart-track{height:9px;border-radius:6px;background:color-mix(in srgb,var(--ms-muted) 10%,transparent);overflow:hidden;margin-top:8px}
.ms-pf-chart-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,hsl(var(--ms-bar-hue) 42% 45%),hsl(var(--ms-bar-hue) 50% 65%))}
:root[data-tone=dark] .ms-pf-chart-track>span{background:linear-gradient(90deg,hsl(var(--ms-bar-hue) 42% 55%),hsl(var(--ms-bar-hue) 50% 72%))}
.ms-pf-rating-result{margin:25px 0 35px}.ms-pf-rating-result h3{font-size:20px!important;line-height:1.5}
.ms-pf-rating-result>p{font-size:15px;color:var(--ms-muted)}.ms-pf-rating-result strong{color:var(--accent-soft);font-weight:600}
.ms-pf-qa-label{font-size:13px;letter-spacing:.06em;color:var(--accent-soft);padding:14px;border:1px dashed var(--ms-line)}
@media(max-width:480px){.ms-pf-chart-row>div:first-child{flex-wrap:wrap;gap:4px 14px}.ms-pf-chart-row>div:first-child>span:last-child{margin-left:auto}.ms-pf-results h2{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){.ms-pf-vote-form button,.ms-pf-stars label>span{transition:none}}

/* Keep the submit action and results distinct, with a natural wrap on small screens. */
.ms-pf-rating-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px 24px}
.ms-pf-rating-actions>a{font-size:14px;line-height:1.7;color:var(--accent-soft);text-decoration:none}
.ms-pf-rating-actions>a:hover,.ms-pf-rating-actions>a:focus-visible{text-decoration:underline;text-underline-offset:4px}
