.puzzle-feedback { border-top:1px solid #dce1e9; margin-top:24px; padding-top:22px; text-align:left; color:#17213b; }
.puzzle-feedback h3 { font-size:22px; margin:0 0 4px; }
.puzzle-feedback p { font-size:14px; color:#59677c; margin:8px 0; }
.puzzle-feedback button { font:inherit; cursor:pointer; }
.feedback-stars { display:flex; gap:4px; margin:8px 0; }
.feedback-stars button { min-height:48px; flex:1; padding:0; background:transparent; border:0; color:#667085; font-size:36px; }
.feedback-stars button svg { display:block; width:40px; height:40px; margin:auto; pointer-events:none; }
.feedback-stars .star-empty { fill:#fff; stroke:#667085; stroke-width:1.8; stroke-linejoin:round; }
.feedback-stars .star-gold { fill:#d49b08; stroke:#d49b08; stroke-width:1.8; stroke-linejoin:round; clip-path:inset(0 calc(100% - var(--star-fill,0%)) 0 0); }
.puzzle-feedback #feedback-body[hidden] { display:none; }
.puzzle-feedback .feedback-toggle[hidden],.puzzle-feedback .feedback-thanks[hidden] { display:none; }
.puzzle-feedback .feedback-thanks { color:#087d69; font-weight:700; }
.puzzle-feedback .feedback-toggle { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:10px 12px; border:1px solid #dce1e9; border-radius:10px; background:#f1f4fa; color:#1f5fca; font-weight:700; text-align:left; }
.feedback-new { background:#1f5fca; color:white; border-radius:4px; padding:2px 5px; font-size:10px; letter-spacing:.06em; }
.puzzle-feedback #feedback-half-stars { width:100%; margin:8px 0; accent-color:#1f5fca; min-height:30px; }
.puzzle-feedback textarea { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; overflow-x:hidden; max-width:100%; min-width:0; }
.puzzle-feedback summary { color:#1f5fca; font-weight:700; padding:12px 0; cursor:pointer; }
.puzzle-feedback fieldset { border:0; padding:0; margin:14px 0; }
.puzzle-feedback legend,.puzzle-feedback label { font-size:14px; font-weight:700; margin-bottom:7px; display:block; }
.puzzle-feedback fieldset div { display:flex; flex-wrap:wrap; gap:6px; }
.puzzle-feedback fieldset button { flex:1; min-width:75px; min-height:44px; padding:8px 6px; font-size:12px; background:white; color:#17213b; border:1px solid #ccd3df; border-radius:8px; }
.puzzle-feedback fieldset button[aria-pressed=true] { background:#1f5fca; color:white; }
.puzzle-feedback textarea { width:100%; box-sizing:border-box; resize:vertical; border:1px solid #ccd3df; border-radius:8px; padding:10px; font-family:inherit; font-size:16px; line-height:1.4; color:#17213b; background:white; }
.puzzle-feedback small { display:block; font-size:12px; color:#59677c; }
.puzzle-feedback .feedback-save { width:100%; min-height:46px; border:0; border-radius:9px; background:#1f5fca; color:white; font-weight:700; margin:12px 0 4px; }
.puzzle-feedback .feedback-save:disabled { opacity:.5; cursor:default; }
.puzzle-feedback button:focus-visible,.puzzle-feedback summary:focus-visible,.puzzle-feedback textarea:focus-visible { outline:3px solid #ff5a1f; outline-offset:3px; }
