/* Dedicated CONM visual theme: numerical grids, equations and mathematical accent styling. */
body.conm-theme { background: #f4f7fb; color: #152238; }
body.conm-theme .navbar { background: linear-gradient(110deg,#10243e,#183b5b 58%,#236b75); box-shadow: 0 8px 28px rgba(16,36,62,.22); }
body.conm-theme .banner { background: radial-gradient(circle at 85% 20%,rgba(83,180,174,.26),transparent 30%), linear-gradient(135deg,#10243e,#1b5268); border-bottom: 1px solid #d4e4ea; }
body.conm-theme .banner h2 { letter-spacing: .02em; }
body.conm-theme .conm-intro { position:relative; overflow:hidden; padding:28px; margin:22px auto; max-width:1100px; border:1px solid #c9dce5; border-radius:18px; background:linear-gradient(120deg,#fff,#edf7f8); box-shadow:0 12px 32px rgba(22,57,77,.08); }
body.conm-theme .conm-intro:after { content:'∑  ∫  Δ  √  π'; position:absolute; right:22px; bottom:8px; font:700 26px/1.2 Georgia,serif; letter-spacing:10px; color:rgba(26,105,119,.13); pointer-events:none; }
body.conm-theme .conm-intro h2 { color:#123650; margin:0 0 10px; }
body.conm-theme .conm-intro p { max-width:760px; line-height:1.7; color:#456174; }
body.conm-theme .conm-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
body.conm-theme .conm-meta span { padding:7px 11px; border:1px solid #c7e0e2; border-radius:999px; background:#f4ffff; color:#22636a; font-size:12px; font-weight:700; }
body.conm-theme #content > h2 { color:#173d58; }
body.conm-theme .question { border:1px solid #d2e0e8; border-left:4px solid #27818a; border-radius:14px; background:#fff; box-shadow:0 6px 20px rgba(26,60,80,.055); }
body.conm-theme .question p { color:#1b3044; line-height:1.65; }
body.conm-theme .show-btn { background:#176b76; color:white; border:1px solid #176b76; border-radius:8px; }
body.conm-theme .show-btn:hover { background:#104e5b; }
body.conm-theme .answer, body.conm-theme .output { background:#0e1d2c; color:#d8f3e8; border:1px solid #26475a; border-radius:10px; white-space:pre; overflow:auto; max-width:100%; padding:16px; line-height:1.5; tab-size:4; }
body.conm-theme .back-btn { background:#e2f2f3; color:#14545e; border:1px solid #b8dadd; border-radius:9px; }
body.conm-theme .back-btn:hover { background:#cde9eb; }
body.conm-theme .card { border:1px solid #cbdfe6; background:linear-gradient(145deg,#fff,#f3f9fa); }
body.conm-theme .card:hover { border-color:#27818a; box-shadow:0 14px 28px rgba(23,107,118,.12); }
body.conm-theme footer { background:#10243e; color:#d6e8f0; }

/* Fix CONM code and output panels: wrap long lines and preserve real newlines. */
body.conm-theme #content,
body.conm-theme .question {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body.conm-theme .question {
  overflow: hidden;
}
body.conm-theme pre.answer,
body.conm-theme pre.output,
body.conm-theme .answer,
body.conm-theme .output {
  display: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  word-break: normal;
  overflow-x: hidden;
  overflow-y: auto;
  tab-size: 4;
  line-height: 1.65;
  margin: 12px 0;
}
body.conm-theme pre.answer {
  color: #d8f3e8;
  background: #0e1d2c;
}
body.conm-theme pre.output {
  color: #e4f6ff;
  background: #132a3c;
  border-left: 4px solid #36a3a8;
}
