/* ===== Results section ===== */
#results { padding:8px 0 56px; }
#results .section-head { text-align:center; margin-bottom:22px; }
#results h2 { font-size:2.1rem; font-weight:700; letter-spacing:-.02em; margin:0 0 8px; }
#results .section-sub { color:var(--muted); max-width:820px; margin:0 auto; font-size:1.06rem; }
.res-h3 { font-family:'Inter',sans-serif; font-size:1.25rem; font-weight:700; margin:34px 0 6px; }
.res-note { color:var(--muted); font-size:.9rem; margin:0 0 14px; line-height:1.5; }
.sum-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 18px; align-items:flex-start; }
@media (max-width:560px){ .sum-grid{ grid-template-columns:1fr; } }
.sum-panel { min-width:0; }
.res-legend-row { flex-direction:row; flex-wrap:wrap; gap:16px; margin-top:8px; }
.res-note b { color:var(--ink); font-weight:600; }
.res-ctrl { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.res-scatter-wrap { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:center; }
#res-scatter { flex:0 1 500px; min-width:300px; }
.res-legend { flex:0 0 auto; display:flex; flex-direction:column; gap:7px; }
.reslg { font-size:.84rem; color:#3a3a36; display:flex; align-items:center; gap:7px; }
.reslg svg { flex:none; }
.famtag { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); background:var(--accent-bg); border-radius:4px; padding:1px 5px; }
#res-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.restable { border-collapse:collapse; width:100%; min-width:480px; font-size:.9rem; }
.restable th, .restable td { border-bottom:1px solid var(--line2); padding:8px 12px; text-align:center; }
.restable th { font-weight:600; color:var(--muted); font-size:.82rem; border-bottom:1px solid var(--line); }
.restable th.mcol, .restable td.mcol { text-align:left; }
.restable td.mcol { font-weight:600; }
.restable td.num { font-family:ui-monospace,Menlo,monospace; color:#3a3a36; }
.restable td.num.best { color:var(--accent); font-weight:700; background:var(--accent-bg); border-radius:6px; }
.restable tbody tr:hover td { background:#faf9f6; }
.restable tbody tr:hover td.num.best { background:var(--accent-bg); }
.restable td.num { position:relative; }
.cell-arrow { display:none; position:absolute; left:-22%; width:44%; top:50%; height:0; pointer-events:none; }
.restable tbody tr:hover .cell-arrow { display:block; }
.cell-arrow:before { content:""; position:absolute; left:7px; right:10px; top:3px; border-top:1.6px solid currentColor; }
.cell-arrow:after { content:""; position:absolute; right:3px; top:-1.5px; border:4.5px solid transparent; border-left-color:currentColor; }
.cell-arrow .ca-label { position:absolute; left:0; right:0; top:-13px; text-align:center; font-size:.7rem; font-weight:700; }
.cell-arrow.down { color:var(--alert); }
.cell-arrow.up { color:var(--ok); }

/* results dropdown */
.explore-wrap { margin-top:18px; }
.explore-btn { background:#fff; border:1px solid var(--line); cursor:pointer; display:inline-flex; align-items:center; gap:10px; color:var(--accent); font-family:'Inter',sans-serif; font-size:.95rem; font-weight:700; letter-spacing:.01em; border-radius:999px; padding:11px 22px; box-shadow:0 1px 2px rgba(20,20,20,.04); transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease; }
.explore-btn i { font-size:.82rem; color:var(--muted); transition:transform .25s ease; }
.explore-btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(20,20,20,.09); border-color:var(--accent); }
.explore-btn[aria-expanded="true"] i { transform:rotate(180deg); }
.results-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.results-panel.open { grid-template-rows:1fr; }
.results-panel > .results-panel-inner { overflow:hidden; min-height:0; }
.results-panel.open > .results-panel-inner { padding-top:6px; }

/* summary panels: hover a column to reveal both numbers */
.sum-band { fill:var(--accent); opacity:0; transition:opacity .12s ease; }
.sum-hit { fill:transparent; cursor:default; }
.sum-lab { opacity:0; transition:opacity .12s ease; }
.sum-v { font-size:10.5px; font-weight:800; paint-order:stroke; stroke:#fff; stroke-width:2.5px; stroke-linejoin:round; }
.sum-v.cot { fill:#C0392B; }
.sum-v.ns { fill:#2E7D5B; }
.sum-col:hover .sum-band { opacity:.06; }
.sum-col:hover .sum-lab { opacity:1; }

/* in-context findings */
.finding { display:flex; gap:11px; align-items:flex-start; border:1px solid var(--line); border-left:2px solid var(--accent); background:#fff; border-radius:8px; padding:11px 14px; margin:14px 0 6px; font-size:.86rem; color:#3a3a36; line-height:1.55; }
.finding .fd-label { flex:none; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-top:2px; }
.finding b { color:var(--ink); font-weight:700; }

/* glossary */
.res-glossary { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 4px; text-align:left; }
.gloss-details { margin:0 0 22px; }
.rg-group { flex:1 1 200px; border:1px solid var(--line); border-radius:10px; padding:11px 13px; background:#fff; }
.rg-label { display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-bottom:7px; }
.rg-term { display:block; font-size:.82rem; color:#3a3a36; line-height:1.5; }
.rg-term b { font-family:ui-monospace,Menlo,monospace; font-size:.8rem; font-weight:700; color:var(--ink); margin-right:5px; }

/* probe explainer (extract -> infer) */
.probe-explain { border:1px solid var(--line); border-radius:12px; padding:18px; margin:0 0 16px; background:#fff; }
.pe-flow { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; }
.pe-node { display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; font-size:.76rem; color:var(--muted); }
.pe-ic { width:72px; height:54px; border:1px solid var(--line); border-radius:11px; display:flex; align-items:center; justify-content:center; background:#fff; box-shadow:0 1px 2px rgba(20,20,20,.04); }
.pe-ic i { font-size:1.4rem; color:#5f6470; }
.pe-arrow { display:flex; flex-direction:column; align-items:center; gap:3px; }
.pe-arrow i { font-size:1.1rem; color:#b9b6ad; }
.pe-arrow em { font-style:normal; text-transform:uppercase; letter-spacing:.04em; font-weight:800; font-size:.64rem; }
.pe-arrow.extract i, .pe-arrow.extract em { color:#3A6EA5; }
.pe-arrow.infer i, .pe-arrow.infer em { color:#2E7D5B; }
.ans-pill { font-size:.72rem; font-weight:700; border-radius:999px; padding:5px 11px; background:#fff; border:1px solid var(--line); color:#3a3a36; }
.pe-probes { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
@media (max-width:640px){ .pe-probes{ grid-template-columns:1fr; } }
.pe-probe { border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:#fff; }
.pe-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
.pe-sub { font-size:.72rem; color:var(--muted); margin-bottom:8px; }
.pe-head b { font-family:ui-monospace,Menlo,monospace; font-size:.85rem; }
.pe-tag { font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; border-radius:5px; padding:2px 7px; }
.pe-tag.inf { background:#EAF3EC; color:#2E7D5B; }
.pe-tag.ext { background:#EAF0F7; color:#3A6EA5; }
.pe-tag.both { background:var(--accent-bg); color:var(--accent); }
.pe-probe p { font-size:.8rem; color:var(--muted); margin:0; line-height:1.45; }

/* ===== Deduction interactive section — "refined academic / quiet Swiss" ===== */
:root {
  --ink:#1A1A1A; --muted:#5F6470; --line:#E7E6E2; --line2:#EFEEEA; --paper:#FCFCFB;
  --accent:#361C76; --accent-bg:#EDE8F4;  /* Fig 1 purple */
  --ok:#2E7D5B;   --ok-bg:#EBF3EE;     /* valid */
  --alert:#D23B26; --alert-bg:#FBECE8; /* invalid / missing */
  --warn:#B3791F; --warn-bg:#FAF1E1;   /* unknown */
  --given:#1A1A1A;            /* given premise = ink outline */
  --derived-bd:#C9C5BA; --derived-bg:#EDEBE4;  /* derived = neutral gray */
  --glow:0 0 0 3px rgba(54,28,118,.24);
}

#tracks { padding:8px 0 56px; }
.fig-details { margin:0 auto 26px; text-align:center; }
.fig-details summary { cursor:pointer; color:var(--accent); font-size:.9rem; font-weight:600; list-style:none; padding:6px 0; display:inline-block; }
.fig-details summary::-webkit-details-marker { display:none; }
.fig-details summary:before { content:"\f0fe"; font-family:"Font Awesome 6 Free"; font-weight:900; margin-right:8px; }
.fig-details[open] summary:before { content:"\f146"; }
.fig-details summary:hover { color:var(--ink); }
.fig-details .hero-figure { margin:10px auto 0; }
/* collapsible result visualisations (chart / probe explainer) */
.viz-details { text-align:left; margin:34px 0 6px; }
.viz-details summary { font-size:1.1rem; font-weight:700; }
.viz-details > .res-note { margin-top:10px; }
#tracks .section-head { text-align:center; margin-bottom:24px; }
#tracks h2 { font-size:2.1rem; font-weight:700; letter-spacing:-.02em; margin:0 0 8px; }
#tracks .section-sub { color:var(--muted); max-width:820px; margin:0 auto; font-size:1.06rem; }
#tracks .section-sub b, #results .section-sub b { color:var(--ink); font-weight:600; }

/* track chooser cards */
.track-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:14px; }
@media (max-width:760px){ .track-cards{ grid-template-columns:1fr; } }
.track-card { display:flex; flex-direction:column; align-items:center; gap:11px; text-align:center;
  border:1px solid var(--line); border-top:3px solid var(--tc,#cbd5e1); background:#fff; border-radius:14px; padding:22px 18px 16px; cursor:pointer;
  box-shadow:0 1px 2px rgba(20,20,20,.03); transition:transform .12s, box-shadow .15s, border-color .15s; font:inherit; color:var(--ink); }
.track-card[data-track="deduction"] { --tc:#2E7D5B; }
.track-card[data-track="induction"] { --tc:#7A4FB0; }
.track-card[data-track="causal"]    { --tc:#1E7E86; }
.track-card:not(.soon):hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(20,20,20,.10); }
.track-card .tc-icon { width:78px; height:54px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:#fbfaf7; border:1px solid var(--line); padding:2px; }
.track-card .tc-icon svg { display:block; }
.track-card.soon .tc-icon { background:#f3f2ee; }
.track-card .tc-name { font-size:1.18rem; font-weight:700; letter-spacing:-.01em; display:block; }
.track-card .tc-domain { font-size:.78rem; color:var(--muted); display:block; margin-top:2px; }
.track-card .tc-cta { margin-top:auto; padding-top:6px; font-size:.85rem; font-weight:700; color:var(--tc,var(--accent)); display:inline-flex; align-items:center; gap:7px; }
.track-card .tc-cta i { transition:transform .2s; }
.track-card.open { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), 0 8px 22px rgba(54,28,118,.12); }
.track-card.open .tc-cta i { transform:rotate(180deg); }
.track-card.soon { cursor:default; opacity:.7; }
.track-card.soon .tc-icon { background:#c9c5bc; }
.track-card.soon .tc-cta { color:#9aa0ab; font-weight:600; }

/* collapsible track panel (smooth height via grid) */
.track-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.track-panel.open { grid-template-rows:1fr; }
.track-panel > .track-panel-inner { overflow:hidden; min-height:0; }
.track-panel.open > .track-panel-inner { padding-top:18px; }
.track-intro { text-align:center; color:var(--muted); font-size:1.02rem; margin:0 auto 26px; max-width:60ch; }
.track-soon { text-align:center; color:var(--muted); padding:30px 0; font-size:1rem; }
.track-soon i { color:#c9c5bc; margin-right:6px; }

/* stage separation: a full-width rule + number + title */
.stage-head { display:flex; align-items:center; gap:13px; border-top:2px solid var(--ink); padding-top:15px; margin:0 0 16px; }
.stage-head .stage-no { width:29px; height:29px; flex:none; border-radius:50%; background:var(--ink); color:#fff; font-size:.88rem; font-weight:800; display:flex; align-items:center; justify-content:center; }
.stage-head h3 { font-size:1.3rem; font-weight:700; letter-spacing:-.01em; margin:0; font-family:'Inter',sans-serif; }
.stage-head + .panel, .stepper { margin-bottom:0; }
#tracks .panel { margin-bottom:48px; }
.stepper + .panel { margin-top:14px; }

/* panels */
.panel { border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 1px 2px rgba(20,20,20,.03); }
.panel-head { padding:13px 18px; border-bottom:1px solid var(--line2); }
.panel-head h3 { margin:0; font-size:.95rem; font-weight:600; }
.panel-body { padding:16px 18px; }

/* controls (inside tree box) */
.ded-controls { display:flex; flex-wrap:wrap; align-items:center; gap:11px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line2); }
.segmented { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.segmented button { border:0; background:transparent; color:var(--muted); padding:7px 16px; font:inherit; font-weight:600; cursor:pointer; border-right:1px solid var(--line); }
.segmented button:last-child { border-right:0; }
.segmented button.active { background:var(--ink); color:#fff; }
.btn-shuffle { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#fff; color:var(--ink); padding:7px 14px; border-radius:8px; cursor:pointer; font-weight:600; font:inherit; }
.btn-shuffle:hover { box-shadow:0 2px 8px rgba(20,20,20,.06); }
.task-tag { font-size:.85rem; color:var(--muted); }
.badge { display:inline-block; padding:3px 10px; border-radius:6px; font-weight:700; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; }
.badge.valid { background:var(--ok-bg); color:var(--ok); }
.badge.invalid { background:var(--alert-bg); color:var(--alert); }
.badge.unknown { background:var(--warn-bg); color:var(--warn); }

/* legend */
.legend { display:flex; flex-wrap:wrap; gap:14px; font-size:.78rem; color:var(--muted); margin-bottom:10px; }
.legend span { display:inline-flex; align-items:center; gap:6px; }
.legend i { width:11px; height:11px; border-radius:4px; display:inline-block; border:1.5px solid; }
.lg-given i   { border-color:var(--ink); background:#fff; }
.lg-derived i { border-color:var(--derived-bd); background:var(--derived-bg); }
.lg-hyp i     { border-color:var(--ink); background:var(--ink); }
.lg-missing i { border-color:var(--alert); background:#fff; border-style:dashed; }

/* tree */
.tree-wrap { width:100%; display:flex; justify-content:center; }
.tree-scale { transform-origin:top center; }
.tree-canvas { position:relative; margin:0 auto; }
.tree-canvas svg { position:absolute; top:0; left:0; pointer-events:none; }
.tree-canvas svg .edge { fill:none; stroke:#cfccc3; stroke-width:1.5; }
.tree-canvas svg .missing-edge { stroke:var(--alert); stroke-dasharray:5 4; }
.tnode {
  position:absolute; transform:translate(-50%,-50%);
  border:1.4px solid var(--ink); background:#fff; color:var(--ink);
  border-radius:999px; padding:5px 12px; font-size:.72rem; line-height:1.15;
  font-family:ui-monospace,'SF Mono',Menlo,monospace; white-space:nowrap;
  transition:box-shadow .12s, transform .12s; cursor:default;
}
.tnode.derived     { border-color:var(--derived-bd); background:var(--derived-bg); color:var(--ink); }
.tnode.hypothesis  { background:var(--ok);    border-color:var(--ok);    color:#fff; font-weight:700; }
.tnode.root-invalid{ background:var(--alert); border-color:var(--alert); color:#fff; font-weight:700; }
.tnode.root-unknown{ background:var(--warn);  border-color:var(--warn);  color:#fff; font-weight:700; }
.tnode.missing     { border-style:dashed; border-color:var(--alert); background:#fff; color:var(--alert); }
.tnode.hl { box-shadow:var(--glow); transform:translate(-50%,-50%) scale(1.07); z-index:5; }

.tree-caption { text-align:center; font-size:.84rem; color:var(--muted); max-width:680px; margin:14px auto 2px; padding-top:12px; border-top:1px solid var(--line2); }
.tree-caption b { color:var(--ink); }

/* stepper — Swiss */
.stepper { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.stepper button { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--ink); background:#fff; color:var(--ink); border-radius:7px; padding:10px 15px; font:inherit; font-weight:700; cursor:pointer; transition:box-shadow .12s; }
.stepper button:hover { box-shadow:0 2px 8px rgba(20,20,20,.07); }
.stepper button .num { display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; background:#f0eff4; color:#5b6070; font-size:.78rem; font-weight:800; }
.stepper button .lbl { display:inline-flex; align-items:center; gap:7px; }
.stepper button .lbl i { color:var(--muted); }
.stepper button .lbl .glyph { color:var(--muted); font-family:ui-monospace,Menlo,monospace; font-weight:700; font-size:1rem; line-height:1; }
.stepper button.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.stepper button.active .num { background:#fff; color:var(--ink); }
.stepper button.active .lbl i, .stepper button.active .lbl .glyph { color:#fff; }
.stepper .arrow { align-self:center; color:#c7c4bb; font-size:1rem; }
.stepper .arrow.or { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); background:var(--accent-bg); border-radius:999px; padding:3px 9px; }

/* highlight the headline "Scientific rendering" step */
.stepper button.feature { border-color:var(--accent); background:var(--accent-bg); color:var(--accent); animation:featPulse 2.4s ease-in-out infinite; }
.stepper button.feature .num { background:var(--accent); color:#fff; }
.stepper button.feature .lbl i { color:var(--accent); }
.stepper button.feature.active { background:var(--accent); color:#fff; border-color:var(--accent); animation:none; }
.stepper button.feature.active .num { background:#fff; color:var(--accent); }
.stepper button.feature.active .lbl i { color:#fff; }
@keyframes featPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(54,28,118,0);} 50%{ box-shadow:0 0 0 5px rgba(54,28,118,.13);} }
@media (prefers-reduced-motion: reduce){ .stepper button.feature{ animation:none; } }
.stepper-note { text-align:right; font-size:.82rem; font-weight:600; color:var(--accent); margin:9px 4px 0; }
.stepper-note i { margin-right:5px; }

/* premises */
.step-hint { font-size:.82rem; color:var(--muted); margin-bottom:12px; }
.hyp-line { font-size:.82rem; margin-bottom:14px; padding:9px 12px; background:#F7F7F4; border:1px solid var(--line); border-radius:8px; font-family:ui-monospace,'SF Mono',Menlo,monospace; }
.hyp-line.invalid { background:var(--alert-bg); border-color:#f3cfc8; }
.prem-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:5px 16px; }
.fol-item { padding:5px 9px; border-radius:7px; font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:.76rem; color:#26282e; cursor:default; border:1px solid transparent; }
.fol-item.hl { background:var(--accent-bg); border-color:var(--accent); }
.fol-item .lett { color:var(--accent); font-weight:700; }
.fol-item.distractor { color:#9aa0ab; }
.fol-item.distractor .lett { color:#bcc0c9; }
.fol-sep { font-size:.73rem; text-transform:uppercase; letter-spacing:.05em; color:#9aa0ab; margin:16px 0 8px; padding-top:12px; border-top:1px dashed var(--line); }

/* scientific documents (genre-colored via --doc-accent / --doc-tint set in JS) */
.doc-card { --doc-accent:var(--accent); --doc-tint:var(--accent-bg);
  border:1px solid var(--line); border-left:3px solid var(--doc-accent); border-radius:10px; margin:0 auto 16px; max-width:780px; overflow:hidden; background:#fff; }
.doc-head { font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--doc-accent); background:var(--doc-tint); padding:9px 14px; border-bottom:1px solid var(--line2); display:flex; align-items:center; gap:9px; }
.doc-head i { color:var(--doc-accent); font-size:.95rem; }
.doc-head .doc-tag { margin-left:auto; font-weight:600; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:999px; padding:1px 9px; letter-spacing:0; text-transform:none; font-size:.7rem; }
.doc-body { padding:15px 18px; font-family:Georgia,'Times New Roman',serif; font-size:.92rem; line-height:1.7; color:#2a2a28; white-space:pre-wrap; text-align:justify; }
.nl-text { font-size:.9rem; line-height:1.65; white-space:pre-wrap; color:#2a2a28; margin-bottom:10px; }

/* ===== causal track ===== */
.lg-cknown i { border-color:var(--ink); background:#fff; }
.lg-cxyz i { border-color:var(--accent); background:var(--accent-bg); }
.cgraph-wrap { width:100%; display:flex; justify-content:center; }
.cgraph-scale { transform-origin:top center; }
.cgraph-canvas { position:relative; margin:0 auto; }
.cgraph-canvas svg { position:absolute; top:0; left:0; pointer-events:none; }
.cgraph-canvas svg .cedge { fill:none; stroke:#b9b6ad; stroke-width:1.6; }
.cgraph-canvas svg .cedge.xyz { stroke:var(--accent); stroke-width:2; }
.cnode { position:absolute; transform:translate(-50%,-50%); border:1.5px solid var(--ink); background:#fff; color:var(--ink);
  border-radius:999px; padding:7px 15px; font-size:.82rem; font-weight:600; font-family:ui-monospace,Menlo,monospace; white-space:nowrap; box-shadow:0 1px 2px rgba(20,20,20,.05); }
.cnode.xyz { border-color:var(--accent); background:var(--accent); color:#fff; font-weight:700; }

.copts { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; justify-content:center; }
.copt { font-size:.76rem; font-family:ui-monospace,Menlo,monospace; color:var(--muted); border:1px solid var(--line); border-radius:7px; padding:3px 9px; }
.copt.correct { color:var(--ok); border-color:#bfe0cc; background:var(--ok-bg); font-weight:700; }

.known-rels { font-size:.85rem; color:#2a2a28; margin-bottom:14px; padding:9px 12px; background:#F7F7F4; border:1px solid var(--line); border-radius:8px; font-family:ui-monospace,Menlo,monospace; }
.dtbl { margin-bottom:16px; }
.dtbl-cap { font-size:.8rem; color:var(--muted); margin-bottom:5px; }
.dtbl-cap .iv { display:inline-block; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#9A6A2E; background:#FBF1E3; border-radius:999px; padding:1px 8px; margin-right:6px; }
.dtbl-cap .iv.obs { color:var(--muted); background:#eeede9; }
.dtable { border-collapse:collapse; font-family:ui-monospace,Menlo,monospace; font-size:.74rem; width:100%; }
.dtable th, .dtable td { border:1px solid var(--line2); padding:3px 9px; text-align:right; color:#3a3a36; }
.dtable th { background:#faf9f6; font-weight:700; color:var(--muted); }
.dtable .iv-col { background:#FBF1E3; color:#9A6A2E; }
.dtable th.iv-col { color:#9A6A2E; }
.dtable .xyz-col { background:#F1ECFA; }
.dtable th.xyz-col { color:var(--accent); }
.dtable tr.drow { cursor:default; }
.dtable tr.drow:hover td { background:#f6f4fb; }
.dtable tr.drow.hl td { background:#ece6f6 !important; }
.hdot { width:9px; height:9px; border-radius:50%; display:inline-block; }
.dtable th .hdot { margin-right:4px; vertical-align:middle; }

/* concentration-in-a-cell view */
.cell-panel { display:flex; gap:18px; align-items:center; flex-wrap:wrap; border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:16px; background:#fff; }
.cell-view { flex:none; }
.cell-side { flex:1 1 240px; min-width:200px; }
.cell-cap { font-size:.85rem; color:#3a3a36; margin-bottom:8px; }
.cell-cap b { color:var(--ink); }
.cell-legend { display:flex; flex-wrap:wrap; gap:7px 12px; }
.cleg { font-size:.76rem; color:#4a4f58; display:inline-flex; align-items:center; gap:5px; font-family:ui-monospace,Menlo,monospace; }

/* ===== induction track ===== */
.rule-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; max-width:780px; margin:6px auto 0; }
.rmotif-card { border:1px solid var(--line); border-radius:12px; padding:12px 10px 10px; text-align:center; background:#fff; }
.rmotif-card.target { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.rmotif-tag { font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; margin-bottom:2px; }
.rmotif-card.target .rmotif-tag { color:var(--accent); }
.rmotif-card.distractor .rmotif-tag { color:#9aa0ab; }
.rmotif-card.distractor .rmotif-tag i { color:var(--alert); }
.rmotif-cap { font-size:.78rem; color:#3a3a36; margin-top:4px; line-height:1.4; }
.rmotif-card.distractor .rmotif-cap { color:#8a8f99; }
.rmotif-card.distractor svg { opacity:.92; }
.rule-card { max-width:640px; margin:6px auto 0; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:12px; padding:16px 20px; background:#fff; font-size:1rem; line-height:1.7; }
.rule-row { color:#2a2a28; }
.rule-then { margin-top:10px; padding-top:10px; border-top:1px solid var(--line2); }
.rule-card b { color:var(--ink); }
.rkw { display:inline-block; width:48px; font-weight:800; color:var(--muted); font-size:.78rem; letter-spacing:.05em; }
.rkw.then { color:var(--accent); }
.rel-chip { display:inline-block; background:var(--accent-bg); color:var(--accent); border-radius:6px; padding:1px 9px; font-weight:600; font-family:ui-monospace,Menlo,monospace; font-size:.85rem; }
.rule-tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; color:var(--accent); margin-bottom:6px; }
.rule-card b { color:var(--ink); }
.dist-rules { max-width:640px; margin:12px auto 0; }
.dist-head { font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#9aa0ab; font-weight:700; margin-bottom:6px; }
.dist-rule { font-size:.9rem; color:#8a8f99; padding:5px 0; }
.dist-rule i { color:var(--alert); margin-right:6px; }
.dist-rule b { color:#6b7079; font-weight:600; }

/* evidence groups (support / rule-out) */
.ev-group { border:1px solid var(--line); border-radius:10px; padding:11px 14px; margin-bottom:10px; background:#fff; }
.ev-group.target { border-color:#bfe0cc; background:#fbfdfb; }
.ev-rule { font-size:.9rem; margin-bottom:8px; }
.ev-rule b { color:var(--ink); }
.ev-badge { display:inline-block; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:999px; margin-right:7px; }
.ev-badge.t { background:var(--ok-bg); color:var(--ok); }
.ev-badge.d { background:#f0eff4; color:#6b7079; }
.ev-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:5px; }
.ev-lab { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:#9aa0ab; font-weight:700; min-width:92px; }
.ev-note { font-size:.78rem; color:var(--muted); }
.pmrow { display:flex; align-items:center; gap:10px; padding:3px 0; }
.pmrow svg { flex:1 1 auto; min-width:0; }
.pm-verdict { font-size:.76rem; font-weight:600; white-space:nowrap; flex:none; }
.pm-verdict.ok { color:var(--ok); }
.pm-verdict.no { color:var(--alert); }
.ev-killnote { font-size:.8rem; color:var(--muted); margin:8px 0 2px; }
.ev-killnote i { color:var(--alert); margin-right:5px; }
.ev-killnote b { color:var(--ink); }
.subhead { font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:#9aa0ab; font-weight:700; margin:14px 0 8px; }
.subhead:first-child { margin-top:0; }
.obs-wrap { display:flex; flex-wrap:wrap; gap:7px; }
.obs-pair { font-size:.8rem; padding:4px 11px; border-radius:999px; border:1px solid var(--line); display:inline-flex; align-items:center; gap:7px; }
.obs-pair.yes { background:var(--ok-bg); color:var(--ok); border-color:#bfe0cc; }
.obs-pair.no { background:var(--alert-bg); color:var(--alert); border-color:#f3cfc8; }
.prof-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px; }
.prof-card { border:1px solid var(--line); border-radius:10px; padding:11px 13px; background:#fff; min-width:0; }
.prof-name { font-weight:700; font-size:.9rem; text-transform:capitalize; margin-bottom:5px; }
.prof-line { font-size:.78rem; color:#3a3a36; line-height:1.5; overflow-wrap:anywhere; word-break:break-word; }
.prof-rel { color:var(--accent); font-weight:600; font-family:ui-monospace,Menlo,monospace; }

/* model reasoning */
.model-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:12px; }
.model-bar select { padding:7px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; font-weight:600; background:#fff; }
.model-mode-note { font-size:.8rem; color:#9aa0ab; }
.model-reads { font-size:.82rem; color:var(--muted); margin-left:2px; }
.verdict { font-size:.85rem; margin-bottom:10px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.verdict .chip { padding:2px 9px; border-radius:6px; font-weight:600; font-size:.8rem; }
.chip.ok { background:var(--ok-bg); color:var(--ok); }
.chip.no { background:var(--alert-bg); color:var(--alert); }
.trace { background:#F5F5F2; border:1px solid var(--line2); color:#26282e; border-radius:10px; padding:15px; font-size:.83rem; line-height:1.6; white-space:pre-wrap; max-height:360px; overflow:auto; font-family:ui-monospace,'SF Mono',Menlo,monospace; }
.trace.prose { font-family:'Inter',sans-serif; }
