/* Scoped additions: the deterministic diagnostic styles and engine are unchanged. */
.cc-panel { margin-top: 24px; }
.cc-panel h2 { color: var(--ink); font-size: 1rem; }
.cc-panel .cc-intro { color: var(--ink-2); max-width: 76ch; }
.cc-panel label { display: block; margin: 16px 0 6px; }
.cc-panel input[type="text"], .cc-panel input[type="password"], .cc-panel textarea, .cc-panel select {
  width: 100%; background: var(--page); color: var(--ink); border: 1px solid var(--baseline);
  border-radius: 8px; padding: 10px; font: inherit;
}
.cc-panel textarea { min-height: 86px; }
.cc-panel #cc-passage { min-height: 160px; }
.cc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cc-key-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-bottom: 12px; }
.cc-key-row label { margin-top: 0; }
.cc-key-row button { margin-bottom: 1px; white-space: nowrap; }
.cc-panel .cc-check { display: flex; gap: 10px; align-items: flex-start; }
.cc-panel .cc-check input { margin-top: 6px; flex: none; }
.cc-note { color: var(--ink-2); font-size: .9rem; }
.cc-panel button:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.cc-panel [hidden] { display: none !important; }
.cc-status { min-height: 1.5em; color: var(--ink-2); }
.cc-output { border-left: 3px solid var(--lane2); padding: 0 16px; margin-top: 18px; overflow-wrap: anywhere; }
.cc-output h3 { font-family: var(--serif); }
.cc-output p { white-space: pre-wrap; }
.cc-output h4 { margin-bottom: 4px; }
.cc-choices { margin: 20px 0 0; padding: 12px; border: 1px solid var(--baseline); border-radius: 8px; }
.cc-choices legend { padding: 0 6px; }
.cc-choices button { margin: 4px; }
.cc-choices button[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 2px; font-weight: 700; }
.cc-choices button:focus-visible { outline: 3px dashed currentColor; outline-offset: 4px; }
.cc-panel a { color: #8cb8fa; }
@media (max-width: 680px) { .cc-grid, .cc-key-row { grid-template-columns: 1fr; gap: 0; } .cc-key-row button { justify-self: start; margin-top: 8px; } }
