.module-observation-goal { margin: 7px 0; color: var(--text-dim); font-size: 13px; line-height: 1.6; }
.module-observation-knowledge { margin-top: 8px; color: var(--text-dim); font-size: 12px; line-height: 1.6; }
.module-observation-knowledge > summary { cursor: pointer; width: fit-content; padding: 4px 0; }
.module-observation-knowledge > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#moduleObservationRoute { margin: 0 0 16px; padding: 14px 18px; border: 1px solid var(--border); border-radius: 10px; color: var(--text-dim); line-height: 1.8; font-size: 13px; }
#moduleObservation { margin-bottom: 22px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
#moduleObservation[hidden], #moduleObservationOpen[hidden], #moduleObservationRoute[hidden] { display: none !important; }
#moduleObservation .obs-card { border: 1px solid var(--border); border-radius: 10px; padding: 12px; background: #101826; }
body.light #moduleObservation,
html[data-editor-scheme="light"] #moduleObservation { --text: #1f2937; --surface: #ffffff; --border: #cbd5e1; --accent: #2451d1; color: #1f2937; }
body.light #moduleObservation .obs-card,
html[data-editor-scheme="light"] #moduleObservation .obs-card { background: #f8fafc; }
#moduleObservation summary { cursor: pointer; color: var(--text); font-weight: 600; padding: 6px 0; }
#moduleObservation .obs-card > summary { color: var(--accent); font-size: 14px; }
#moduleObservation p { margin: 8px 0; }
#moduleObservation p:empty { display: none; }
#moduleObservation .obs-quick { margin: 8px 0 10px; }
#moduleObservation .obs-quick > div { display: grid; grid-template-columns: 2em minmax(0,1fr); gap: 10px; margin: 10px 0; }
#moduleObservation .obs-quick dt { color: var(--accent); font-weight: 600; }
#moduleObservation .obs-quick dd { margin: 0; min-width: 0; }
#moduleObservation .obs-quick #obsTrouble { border: 0; margin: 0; }
#moduleObservation .obs-quick #obsTrouble > summary { padding: 0; font-weight: 400; }
#moduleObservation .obs-safety { font-size: 12px; line-height: 1.6; border-left: 2px solid #bb8745; padding: 2px 0 2px 8px; }
#moduleObservation .obs-profile { font-size: 12px; line-height: 1.5; }
#moduleObservation table { width: 100%; border-collapse: collapse; margin: 8px 0; table-layout: fixed; }
#moduleObservation caption { font-size: 12px; text-align: left; padding-bottom: 6px; }
#moduleObservation th, #moduleObservation td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); padding: 6px 4px; }
#moduleObservation th:first-child { width: 38%; }
#moduleObservation h3 { font-size: 14px; margin: 10px 0; }
#moduleObservation ul, #moduleObservation ol { padding-left: 20px; margin: 8px 0; }
#moduleObservation li { margin: 8px 0; }
#moduleObservation details details { border-top: 1px solid var(--border); margin-top: 8px; }
#moduleObservation .obs-goal { font-weight: 600; }
#moduleObservation .obs-notice { border-left: 3px solid #bb8745; padding-left: 10px; }
#moduleObservation .obs-export, #moduleObservation .obs-form, #moduleObservation .obs-history { border-top: 1px solid var(--border); margin-top: 16px; padding-top: 10px; }
#moduleObservation .obs-export { margin-top: 8px; padding-top: 8px; }
#moduleObservation .obs-form { border-top: 0; margin-top: 0; padding-top: 0; }
#moduleObservation button { padding: 9px 12px; border-radius: 7px; background: var(--surface); border: 1px solid var(--accent); color: var(--text); font: inherit; cursor: pointer; margin: 4px 6px 4px 0; white-space: normal; max-width: 100%; }
#moduleObservation button:disabled { opacity: .6; cursor: wait; }
#moduleObservation a { display: inline-block; color: var(--accent); margin: 6px 0; }
#moduleObservation label { display: block; margin-top: 12px; }
#moduleObservation input, #moduleObservation select, #moduleObservation textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 8px; font: inherit; }
#moduleObservation textarea { resize: vertical; }
#moduleObservation :is(button,a,summary,input,select,textarea):focus-visible, #moduleObservationOpen:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#moduleObservation .obs-history-item { white-space: pre-wrap; border-top: 1px solid var(--border); padding-top: 8px; }
#moduleObservation [data-state="error"] { color: var(--danger); }
#moduleObservation .obs-back { display: none; }
@media (max-width: 900px) {
  /* Scoped override of tech-theme's 300px !important side panel. */
  #codeOverlay:is([data-observation="xunji"],[data-observation="project"]) .overlay-check-panel { width: 100% !important; max-width: none; flex-basis: auto; }
  #codeOverlay:is([data-observation="xunji"],[data-observation="project"])[data-observation-view="focus"] .overlay-editor-wrap { display: none; }
  #codeOverlay:is([data-observation="xunji"],[data-observation="project"])[data-observation-view="focus"] .overlay-check-panel { flex: 1; min-height: 0; max-height: none; }
  #codeOverlay[data-observation-view="focus"] #moduleObservation .obs-back { display: inline-block; }
}
#moduleObservation .obs-software { border-bottom:1px solid var(--border, #283747); padding:10px 0; }
#moduleObservation #obsCancel { margin-left:6px; }
#moduleObservation #obsSoftwareResults table { table-layout:fixed; width:100%; font-size:12px; }
#moduleObservation #obsSoftwareResults th:first-child { width:52%; }
#moduleObservation table :is(th,td) { color:var(--text); }
#moduleObservation #obsSoftwareResults td { overflow-wrap:anywhere; }
#moduleObservation #obsSoftwareResults tr[data-pass="false"] td { color:#e6a23c; }
body.light #moduleObservation #obsSoftwareResults tr[data-pass="false"] td,
html[data-editor-scheme="light"] #moduleObservation #obsSoftwareResults tr[data-pass="false"] td { color:#9a3412; }
#moduleObservation #obsSoftwareResults pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:240px; overflow:auto; font-size:12px; }
#moduleObservation #obsSoftwareStatus:empty { display:none; }
#moduleObservation #obsSoftwareStatus[data-state="safety-blocked"] { border-left:2px solid #bb8745; padding-left:8px; }
#moduleObservation .obs-pf-item > summary { display:flex; align-items:baseline; justify-content:space-between; gap:8px; font-size:12px; }
#moduleObservation .obs-pf-badge { font-weight:400; font-size:11px; white-space:nowrap; color:var(--text); }
#moduleObservation .obs-pf-item > summary::before { content:'＋'; color:var(--accent); }
#moduleObservation .obs-pf-item[open] > summary::before { content:'−'; }
#moduleObservation .obs-pf-item > summary > span:first-child { flex:1; }
#moduleObservation .obs-pf-item[open] { padding-bottom:10px; }
#moduleObservation .obs-pf-form label { font-size:12px; }
#moduleObservation .obs-pf-history { border-top:1px solid var(--border); margin-top:12px; }
#moduleObservation #obsPreflightStatus:is([data-state="stale"],[data-state="conflict"]) { border-left:2px solid #bb8745; padding-left:8px; }
