.math-question-report-dialog {
  width: min(560px, calc(100vw - 24px));
  max-height: min(760px, calc(100dvh - 24px));
  border: 1px solid #cbd5e1;
  border-radius: 20px;
  background: #fff;
  color: #172033;
  padding: 0;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .38);
}
.math-question-report-dialog::backdrop { background: rgba(15, 23, 42, .68); backdrop-filter: blur(2px); }
.math-question-report-form { display: grid; gap: 16px; max-height: inherit; overflow: auto; padding: 22px 22px max(22px, env(safe-area-inset-bottom)); }
.math-question-report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.math-question-report-head small { color: #2563eb; font-size: 11px; font-weight: 900; letter-spacing: .06em; }
.math-question-report-head h2 { margin: 4px 0 0; color: #172033; font-size: 22px; line-height: 1.3; }
.math-question-report-close,
.math-question-report-actions button { min-width: 44px; min-height: 44px; border: 1px solid #cbd5e1; border-radius: 11px; background: #f8fafc; color: #334155; padding: 0 15px; font: inherit; font-weight: 850; cursor: pointer; }
.math-question-report-reference { margin: 0; border-radius: 12px; background: #eff6ff; color: #1e3a8a; padding: 11px 13px; font-size: 13px; font-weight: 800; line-height: 1.55; }
.math-question-report-disclosure { margin: 0; color: #475569; font-size: 13px; line-height: 1.6; }
.math-question-report-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; border: 0; padding: 0; }
.math-question-report-types legend { grid-column: 1 / -1; margin-bottom: 2px; color: #334155; font-size: 13px; font-weight: 900; }
.math-question-report-types label { position: relative; display: grid; min-height: 44px; place-items: center; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; color: #334155; padding: 8px; font-size: 12px; font-weight: 800; text-align: center; cursor: pointer; }
.math-question-report-types input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.math-question-report-types label:has(input:checked) { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; box-shadow: inset 0 0 0 1px #2563eb; }
.math-question-report-types label:has(input:focus-visible) { outline: 3px solid rgba(37, 99, 235, .3); outline-offset: 2px; }
.math-question-report-note { display: grid; gap: 7px; color: #334155; font-size: 13px; font-weight: 900; }
.math-question-report-note textarea { width: 100%; min-height: 126px; resize: vertical; border: 1px solid #94a3b8; border-radius: 12px; background: #fff; color: #172033; padding: 12px; font: inherit; font-size: 15px; line-height: 1.55; box-sizing: border-box; }
.math-question-report-note small { justify-self: end; color: #64748b; font-weight: 700; }
.math-question-report-status { min-height: 22px; margin: 0; color: #475569; font-size: 13px; font-weight: 750; line-height: 1.5; }
.math-question-report-status[data-tone="good"] { color: #047857; }
.math-question-report-status[data-tone="bad"] { color: #b91c1c; }
.math-question-report-actions { display: flex; justify-content: flex-end; gap: 9px; }
.math-question-report-actions .is-primary { border-color: #2563eb; background: #2563eb; color: #fff; }
.math-question-report-actions button:disabled,
.math-question-report-close:disabled { cursor: wait; opacity: .55; }
[data-math-question-report] { min-height: 44px; }

@media (max-width: 480px) {
  .math-question-report-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .math-question-report-form { gap: 13px; padding: 16px; }
  .math-question-report-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .math-question-report-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .math-question-report-actions button { width: 100%; }
}
