/* Feedback only; the existing multipart submission remains the owner. */
body.feedback-practice .feedback-shell { padding: 0; width: 100%; margin: 0 auto; }
body.feedback-practice :is(#form-state,#success-state) { padding: 28px; background: var(--practice-card); border: 1px solid var(--border); border-radius: 20px; }
body.feedback-practice .feedback-page-title { color: var(--text); font-size: clamp(26px,3vw,34px); font-weight: 600; line-height: 1.3; letter-spacing: -.025em; margin: 0 0 16px; overflow-wrap: anywhere; }
body.feedback-practice .feedback-page-sub { color: var(--muted); font-size: 17px; line-height: 1.8; margin-bottom: 28px; }
body.feedback-practice .field-label { color: var(--text); font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0; line-height: 1.8; margin-bottom: 12px; }
body.feedback-practice .category-group { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 28px; }
body.feedback-practice .cat-btn { min-width: 0; min-height: 52px; padding: 12px; font-size: 14px; font-weight: 500; line-height: 1.7; overflow-wrap: anywhere; background: var(--bg); color: var(--muted); border-color: var(--border2); transition: none; }
body.feedback-practice .cat-btn:hover { color: var(--text); background: var(--surface2); }
body.feedback-practice .cat-btn[aria-pressed="true"] { color: var(--sky); background: var(--practice-accent-wash); border-color: var(--sky); }
body.feedback-practice .cat-icon { flex: 0 0 20px; }
body.feedback-practice .cat-icon svg { width: 20px; height: 20px; stroke: currentColor; }
body.feedback-practice :is(.message-wrap,.email-wrap,.screenshot-wrap) { margin-bottom: 28px; }
body.feedback-practice :is(#message-input,#email-input) { background: var(--bg); color: var(--text); border-color: var(--border2); font-size: 17px; line-height: 1.8; padding: 14px 16px; max-width: 100%; }
body.feedback-practice #message-input { min-height: 220px; }
body.feedback-practice #email-input { min-height: 52px; }
body.feedback-practice :is(#message-input,#email-input)::placeholder { color: var(--muted); opacity: 1; }
body.feedback-practice :is(#message-input,#email-input):focus { border-color: var(--sky); box-shadow: none; }
body.feedback-practice #message-input[aria-invalid="true"] { border-color: var(--coral); }
body.feedback-practice .char-count { color: var(--muted); font-size: 13px; line-height: 1.8; text-align: end; margin-top: 8px; }
body.feedback-practice .char-count.warn { color: var(--gold); }
body.feedback-practice .field-helper { color: var(--muted); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
body.feedback-practice .field-error { color: var(--coral); font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
body.feedback-practice .screenshot-row { gap: 12px; }
body.feedback-practice :is(.screenshot-add,.screenshot-thumb) { width: 120px; height: 104px; max-width: 100%; flex: 0 0 120px; background: var(--bg); border-color: var(--border2); border-radius: 12px; }
body.feedback-practice .screenshot-add { color: var(--muted); font-size: 14px; font-weight: 500; gap: 8px; padding: 12px; overflow-wrap: anywhere; transition: none; }
body.feedback-practice .screenshot-add:hover { color: var(--sky); border-color: var(--sky); background: var(--practice-accent-wash); }
body.feedback-practice .screenshot-add svg { stroke: currentColor; }
body.feedback-practice .screenshot-thumb { overflow: visible; }
body.feedback-practice .screenshot-thumb img { object-fit: contain; border-radius: 11px; }
body.feedback-practice .screenshot-remove { top: 4px; right: 4px; width: 44px; height: 44px; color: var(--coral); background: var(--practice-card); border: 1px solid var(--border2); border-radius: 10px; font-size: 22px; }
body.feedback-practice .screenshot-remove:hover { background: var(--bg3); color: var(--coral); }
html[dir="rtl"] body.feedback-practice .screenshot-remove { right: auto; left: 4px; }
html[data-theme] body.feedback-practice :is(.submit-btn,.reset-btn) { min-height: 52px; max-width: 100%; padding: 14px 20px; color: var(--practice-on-accent) !important; background: var(--sky); border: 1px solid var(--sky); border-radius: 12px; font-size: 16px; font-weight: 600; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; transition: none; }
html[data-theme] body.feedback-practice :is(.submit-btn,.reset-btn):hover:not(:disabled) { background: var(--sky2); border-color: var(--sky2); opacity: 1; transform: none; }
html[data-theme] body.feedback-practice .submit-btn:disabled { background: var(--bg3); border-color: var(--border); color: var(--muted) !important; opacity: 1; }
body.feedback-practice :is(.submit-icon,.btn-icon) svg { stroke: currentColor; flex-shrink: 0; }
body.feedback-practice .spinner { border-color: currentColor; border-top-color: transparent; }
body.feedback-practice button:disabled { cursor: wait; }
body.feedback-practice .submit-btn:disabled { cursor: not-allowed; }
body.feedback-practice [readonly] { color: var(--muted); }
body.feedback-practice #success-state { padding: 40px 28px; }
body.feedback-practice .success-icon { color: var(--mint); }
body.feedback-practice .success-icon svg { stroke: currentColor; }
body.feedback-practice .success-title { color: var(--text); font-size: 28px; font-weight: 500; line-height: 1.5; margin: 0 0 16px; overflow-wrap: anywhere; }
body.feedback-practice :is(.success-sub,.success-email-note) { color: var(--muted); font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
body.feedback-practice .success-email-note { margin-bottom: 28px; }
body.feedback-practice [hidden] { display: none !important; }
@media (max-width: 700px) {
  body.feedback-practice .category-group { grid-template-columns: minmax(0,1fr); }
  body.feedback-practice :is(#form-state,#success-state) { padding: 20px; }
  body.feedback-practice .reset-btn { width: 100%; justify-content: center; }
}
html.pp-embedded-exercise body.feedback-practice .main-content { padding-top: 28px !important; }
