* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: #f5f5f5;
  color: #111;
}
.wrap {
  max-width: 820px;
  margin: 40px auto;
  padding: 24px;
}
h1 { margin: 0 0 6px; }
.sub { margin: 0 0 24px; color: #555; }
label, .label {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #555;
  margin-bottom: 6px;
}
textarea {
  width: 100%;
  resize: vertical;
  padding: 14px;
  font: inherit;
  border: 1px solid #bbb;
  border-radius: 10px;
  background: white;
}
.buttons { display: flex; gap: 10px; margin: 14px 0 24px; }
button {
  border: 0;
  border-radius: 9px;
  padding: 11px 18px;
  font-weight: 700;
  cursor: pointer;
}
#check { background: #111; color: #fff; }
.secondary { background: #ddd; color: #111; }
.result {
  background: white;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 18px;
}
.hidden { display: none; }
.decision-row { margin-bottom: 18px; }
#decision { font-size: 1.6rem; }
.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.output-block { margin: 18px 0; }
pre {
  white-space: pre-wrap;
  word-break: break-word;
  background: #f3f3f3;
  border-radius: 8px;
  padding: 12px;
  margin: 6px 0 0;
}
@media (max-width: 620px) {
  .wrap { margin: 0 auto; padding: 16px; }
  .grid { grid-template-columns: 1fr; }
}
