:root {
  font-family: "Inter", "PingFang SC", system-ui, sans-serif;
  color: #1f2937;
  background: #f4f6f8;
  font-size: 14px;
  line-height: 1.65;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
main { max-width: 520px; margin: auto; padding: 18px 16px 24px; }
header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
h1 { font-size: 19px; letter-spacing: -.02em; margin: 0; }
h2, label { display: block; font-size: 13px; font-weight: 650; margin: 0 0 6px; }
#status { color: #526176; margin: 10px 0 16px; }
section { background: white; border: 1px solid #dbe1e9; border-radius: 12px; padding: 14px; }
.question { margin: 0 0 16px; padding: 10px 12px; border-left: 3px solid #2563eb; background: #eef4ff; white-space: pre-wrap; overflow-wrap: anywhere; }
textarea { width: 100%; resize: vertical; border: 1px solid #bbc7d8; border-radius: 7px; padding: 9px 10px; color: inherit; font: inherit; }
.source { margin-top: 10px; font-size: 12px; color: #475569; }
.source span { font-weight: 650; }
.source p { margin: 2px 0 0; overflow-wrap: anywhere; }
a { color: #174db8; }
.review { padding: 8px 10px; background: #fff4dc; color: #713f12; border-radius: 6px; }
button { border: 1px solid transparent; border-radius: 7px; padding: 7px 12px; font: inherit; font-weight: 600; cursor: pointer; }
.secondary { border-color: #c7d2e0; background: white; color: #25364c; }
.primary { width: 100%; margin-top: 14px; background: #175bd1; color: white; }
button:disabled { cursor: default; opacity: .55; }
button:focus-visible, textarea:focus-visible, a:focus-visible { outline: 2px solid #0e64dc; outline-offset: 2px; }
