[hidden] { display: none !important; }
.feedback-main { max-width: 960px; padding-block: 48px 72px; }
.feedback-intro { display: grid; gap: 18px; max-width: 700px; margin-bottom: 40px; }
.feedback-intro h1 { max-width: 16ch; font-size: clamp(38px, 6vw, 66px); }
.feedback-intro > .button { justify-self: start; }
.feedback-panel { padding: 32px; background: var(--surface); border: 1px solid var(--line); border-radius: 24px; }
.feedback-panel h2 { font-size: clamp(26px, 4vw, 36px); margin-bottom: 8px; }
#feedback-form { display: grid; gap: 18px; margin-top: 24px; }
.rating-field { border: 0; padding: 0; margin: 0; min-width: 0; }
.rating-field legend, .feedback-field { font-weight: 700; }
.rating-stars { display: flex; gap: 8px; margin-block: 8px; }
.rating-star { width: 44px; height: 48px; position: relative; display: grid; place-items: center; cursor: pointer; border-radius: 8px; }
.rating-star input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.star-glyph { color: var(--outline); font-size: 36px; line-height: 1; }
.rating-star.filled .star-glyph { color: #a26400; }
:root[data-theme="dark"] .rating-star.filled .star-glyph { color: var(--sun); }
.rating-star:focus-within { outline: 3px solid var(--green); outline-offset: 3px; }
.feedback-field { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.feedback-field input, .feedback-field textarea { width: 100%; min-width: 0; margin-top: 4px; border: 1px solid var(--outline); border-radius: 10px; padding: 12px; color: var(--ink); background: var(--ground); font: 400 16px/1.5 var(--site-body); }
.feedback-field textarea { resize: vertical; min-height: 120px; }
.feedback-field .small { font-weight: 400; color: var(--muted); }
.feedback-consent { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.feedback-consent input { width: 22px; height: 22px; flex-shrink: 0; margin: 3px 0; accent-color: var(--green); }
#feedback-submit { justify-self: start; }
button { cursor: pointer; font-family: inherit; }
button:disabled { cursor: wait; opacity: .6; }
.feedback-error { color: var(--ink); background: var(--cream-card); border-left: 3px solid var(--sun); padding: 12px; border-radius: 6px; }
.feedback-status:empty { display: none; }
.feedback-status, .download-status { padding: 14px; background: var(--mint-card); border-radius: 10px; overflow-wrap: anywhere; }
.sr-only, .form-trap { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.reviews-section { margin-top: 64px; }
.reviews-heading { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.reviews-heading h2 { font-size: clamp(30px, 4vw, 42px); }
.review-controls { display: flex; align-items: center; gap: 8px; }
.review-controls button { min-width: 44px; min-height: 44px; border: 1px solid var(--outline); border-radius: 22px; padding: 8px 12px; color: var(--ink); background: var(--surface); font-size: 15px; }
#reviews-status { margin-top: 18px; }
.review-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 20px; }
.review-card { flex: 0 0 calc((100% - 32px) / 3); min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); scroll-snap-align: start; overflow-wrap: anywhere; }
.review-stars { color: #a26400; font-size: 22px; letter-spacing: 2px; }
:root[data-theme="dark"] .review-stars { color: var(--sun); }
.review-card blockquote { margin: 12px 0 18px; white-space: pre-wrap; font-size: 16px; }
.review-card h3 { font: 700 16px/1.5 var(--site-body); }
.review-card time { font-size: 12px; color: var(--muted); }
.beta-details code { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .feedback-main { padding-top: 30px; }
  .feedback-panel { padding: 20px; }
  .rating-stars { gap: 3px; }
  .review-card { flex-basis: 85%; }
}
@media (prefers-reduced-motion: reduce) { .review-track { scroll-behavior: auto; } }
