/* OM Code light theme and selected fonts, source 04087cd3. Website text stays at least 14px. */
:root {
  color-scheme:light;
  --harness-paper:#fcfcfc;
  --harness-ink:#27272a;
  --harness-muted:#71717b;
  --harness-border:#e4e4e7;
  --harness-complete:oklch(50.8% .118 165.612);
  --harness-fill:oklch(69.6% .17 162.48 / .08);
  --harness-outline:oklch(69.6% .17 162.48 / .30);
  --harness-rule:color-mix(in oklab,var(--harness-complete) 10%,transparent);
  --harness-focus:#1b4ed8;
  --harness-sans:"SF Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --harness-mono:Menlo,"SF Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  background:var(--harness-paper);
  font-size:16px;
}
* { box-sizing:border-box; }
body.om-harness-page {
  margin:0;
  color:var(--harness-ink);
  background:var(--harness-paper);
  font:16px/1.5 var(--harness-sans);
  overflow-wrap:anywhere;
  scrollbar-color:#d9d9d9 var(--harness-paper);
}
.om-harness { width:100%;max-width:1160px;margin-inline:auto;padding:20px; }
.harness-intro { padding:12px 14px;border:1px solid var(--harness-border);border-radius:10px 10px 0 0;background:#fafafa; }
.harness-intro h1 { margin:0;font:600 18px/1.4 var(--harness-sans);letter-spacing:-.025em; }
.harness-intro p { margin:4px 0 0;color:var(--harness-muted);font-size:14px; }
.harness-trace { padding:14px;border:1px solid var(--harness-border);border-top:0;border-radius:0 0 10px 10px; }
.harness-snapshot-title { margin:0 0 16px;color:var(--harness-ink);font:600 16px/1.5 var(--harness-sans); }
.harness-message { margin:24px 0; }
.harness-message p { margin:0;font:14px/1.625 var(--harness-sans); }
.harness-message-user { width:fit-content;max-width:80%;margin-left:auto;padding:12px;border-radius:16px;background:#f4f4f5;color:#27272a; }
.harness-message-assistant { padding:2px 4px;color:color-mix(in oklab,var(--harness-ink) 80%,transparent); }
.harness-author { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.om-session > .harness-trace { margin-block:16px;border-top:1px solid var(--harness-border);border-radius:10px; }
/* Inert Chromium frames suppress anchor scrolling; bounded fragments reuse the same session. */
.om-session:has(> .harness-trace:target) > :not(:target) { display:none; }
.om-session > .harness-trace:target { margin-top:0; }
.harness-node[data-state="active"] {
  --harness-complete:oklch(50% .134 242.749);
  --harness-fill:oklch(68.5% .169 237.323 / .08);
  --harness-outline:oklch(68.5% .169 237.323 / .35);
  --harness-rule:color-mix(in oklab,var(--harness-complete) 10%,transparent);
}
.harness-node[data-state="pending"] {
  --harness-complete:var(--harness-muted);
  --harness-fill:color-mix(in oklab,#fafafa 35%,transparent);
  --harness-outline:color-mix(in oklab,var(--harness-border) 80%,transparent);
  --harness-rule:color-mix(in oklab,var(--harness-muted) 10%,transparent);
}
.harness-tree { list-style:none;margin:0;padding:0; }
.harness-node { position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;min-width:0;padding-bottom:8px; }
.harness-node:last-child { padding-bottom:0; }
.harness-rail { position:relative;display:flex;justify-content:center;min-width:0; }
.harness-number {
  position:relative;z-index:1;display:grid;place-items:center;align-self:start;
  min-width:24px;min-height:24px;border:1px solid var(--harness-outline);border-radius:6px;
  background:var(--harness-fill);color:var(--harness-complete);font:14px/1 var(--harness-mono);font-variant-numeric:tabular-nums;
}
.harness-connector { position:absolute;top:24px;bottom:0;left:50%;width:1px;background:var(--harness-border); }
.harness-node:last-child > .harness-rail > .harness-connector { display:none; }
.harness-card { min-width:0;padding:10px 12px;border:1px solid var(--harness-outline);border-radius:8px;background:var(--harness-fill);color:var(--harness-complete); }
.harness-node-heading { display:flex;align-items:start;gap:8px; }
.harness-node-copy { flex:1;min-width:0; }
.harness-title { margin:0;color:var(--harness-ink);font:600 16px/1.4 var(--harness-sans);letter-spacing:-.025em; }
.harness-subtitle { margin:2px 0 0;color:var(--harness-muted);font:14px/1.5 var(--harness-mono); }
.harness-badge {
  flex-shrink:0;padding:2px 6px;border:1px solid color-mix(in oklab,currentColor 20%,transparent);border-radius:6px;
  font:14px/1.4 var(--harness-mono);text-transform:uppercase;letter-spacing:.025em;
}
.harness-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--harness-rule); }
.harness-facts > div { min-width:0; }
.harness-facts dt { margin:0 0 2px;color:var(--harness-muted);font:500 14px/1.5 var(--harness-sans);text-transform:uppercase;letter-spacing:.05em; }
.harness-facts dd { min-width:0;margin:0;color:color-mix(in oklab,var(--harness-ink) 80%,transparent);font:14px/1.5 var(--harness-mono); }
.harness-card > .harness-tree { margin-top:8px;padding-top:8px;border-top:1px solid var(--harness-rule); }
.harness-evidence { margin-top:8px;padding-top:6px;border-top:1px solid var(--harness-rule);color:var(--harness-muted);font:14px/1.5 var(--harness-mono); }
.harness-evidence > summary { min-height:44px;padding:10px 0;cursor:pointer;user-select:none;font:500 14px/1.5 var(--harness-sans);text-transform:uppercase;letter-spacing:.05em; }
.harness-evidence ul { margin:4px 0 0;padding-inline-start:16px; }
.harness-evidence li + li { margin-top:4px; }
summary:focus-visible { outline:2px solid var(--harness-focus);outline-offset:2px; }
@media (max-width:700px) {
  .om-harness { padding:12px; }
  .harness-trace { padding:10px; }
  .harness-node { grid-template-columns:24px minmax(0,1fr);gap:6px; }
  .harness-node-heading { flex-wrap:wrap;gap:8px; }
  .harness-node-copy { flex-basis:100%; }
  .harness-facts { grid-template-columns:minmax(0,1fr); }
  /* Keep deep real branches readable on phones without truncating receipt values. */
  .harness-card > .harness-tree { margin-left:-8px;margin-right:-8px; }
  .harness-tree .harness-tree .harness-node { grid-template-columns:10px minmax(0,1fr);gap:4px; }
  .harness-tree .harness-tree .harness-number { min-width:22px;position:relative;left:-6px; }
  .harness-tree .harness-tree .harness-card { padding-inline:8px; }
}
@media (max-width:420px) {
  .om-harness { padding:8px; }
  .harness-trace { padding:8px; }
  .harness-card { padding-inline:8px; }
  .harness-intro { padding:12px 10px; }
}
