:root {
  --bg: #08111d;
  --bg-elev: #0d1826;
  --panel: rgba(17, 31, 47, 0.92);
  --panel-2: #132337;
  --text: #edf4f7;
  --muted: #93a6b8;
  --line: rgba(168, 198, 214, 0.16);
  --teal: #5ee7c8;
  --teal-2: #23bda5;
  --gold: #efc56f;
  --purple: #bd9cff;
  --magenta: #ff82c8;
  --danger: #ff7a7a;
  --science: #69a9ff;
  --tradition: #e9bd60;
  --symbolic: #c99bff;
  --synthesis: #ff82c8;
  --unknown: #9aa6b2;
  --radius: 18px;
  --shadow: 0 22px 70px rgba(0,0,0,.28);
}

body.light {
  --bg: #eef5f6;
  --bg-elev: #f8fbfb;
  --panel: rgba(255,255,255,.94);
  --panel-2: #eef4f5;
  --text: #10202d;
  --muted: #607383;
  --line: rgba(31,67,80,.14);
  --shadow: 0 18px 55px rgba(31,67,80,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 15% -10%, rgba(94,231,200,.12), transparent 35%),
    radial-gradient(circle at 85% 0%, rgba(189,156,255,.10), transparent 32%),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: var(--teal); }

.skip-link {
  position: absolute; left: 10px; top: -60px; z-index: 999;
  padding: 10px 14px; background: var(--text); color: var(--bg); border-radius: 8px;
}
.skip-link:focus { top: 10px; }

.topbar {
  position: sticky; top: 0; z-index: 50;
  min-height: 74px; display: grid; grid-template-columns: minmax(230px, .85fr) auto minmax(260px, .85fr);
  gap: 20px; align-items: center; padding: 12px 28px;
  background: color-mix(in srgb, var(--bg-elev) 91%, transparent);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.brand { display:flex; gap:12px; align-items:center; }
.brand-mark {
  width:42px; height:42px; display:grid; place-items:center; border-radius:13px;
  background: linear-gradient(145deg, var(--teal), var(--purple)); color:#08111d; font-weight:900; letter-spacing:-.04em;
  box-shadow: 0 0 35px rgba(94,231,200,.18);
}
.brand-name { font-weight:760; font-size:15px; }
.brand-subtitle { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.topnav { display:flex; gap:4px; padding:4px; background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:13px; }
.nav-btn, .small-btn, .mode-toggle {
  border:1px solid transparent; background:transparent; color:var(--muted); border-radius:10px; padding:8px 11px;
}
.nav-btn:hover, .nav-btn.active, .small-btn:hover, .small-btn.active { color:var(--text); background:rgba(94,231,200,.08); border-color:rgba(94,231,200,.18); }
.header-actions { display:flex; justify-content:flex-end; gap:8px; align-items:center; position:relative; }
.search-wrap {
  position:relative; display:flex; align-items:center; gap:8px; width:min(330px,100%); padding:8px 12px;
  border:1px solid var(--line); background:rgba(255,255,255,.035); border-radius:12px;
}
.search-wrap input { width:100%; border:0; outline:0; color:var(--text); background:transparent; }
.search-results {
  position:absolute; top:calc(100% + 10px); right:0; width:360px; max-width:80vw; max-height:360px; overflow:auto;
  border:1px solid var(--line); background:var(--bg-elev); border-radius:14px; box-shadow:var(--shadow); display:none;
}
.search-results.show { display:block; }
.search-result { width:100%; text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); padding:12px 14px; }
.search-result:hover { background:rgba(94,231,200,.08); }
.search-result small { color:var(--muted); display:block; }
.mode-toggle { border-color:var(--line); color:var(--text); }

main { width:min(1540px, calc(100% - 40px)); margin:0 auto; }
.hero { min-height:520px; display:grid; grid-template-columns:1.45fr .72fr; gap:42px; align-items:center; padding:70px 20px 40px; }
.eyebrow { color:var(--teal); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; margin-bottom:10px; }
.hero h1 { max-width:980px; margin:0 0 22px; font-size:clamp(38px, 5.2vw, 76px); line-height:1.02; letter-spacing:-.055em; }
.hero-copy p { max-width:900px; color:var(--muted); font-size:18px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.primary-btn, .secondary-btn {
  border-radius:12px; padding:12px 17px; font-weight:760; border:1px solid transparent;
}
.primary-btn { background:var(--teal); color:#07131c; box-shadow:0 10px 35px rgba(94,231,200,.15); }
.primary-btn:hover { filter:brightness(1.06); }
.primary-btn.compact { padding:9px 13px; }
.secondary-btn { background:transparent; border-color:var(--line); color:var(--text); }
.hero-card, .card {
  border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow);
}
.hero-card { padding:24px; }
.hero-card-title { font-weight:780; margin-bottom:16px; }
.metric-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.metric { background:rgba(255,255,255,.035); border:1px solid var(--line); padding:16px; border-radius:14px; }
.metric strong { display:block; font-size:27px; color:var(--gold); }
.metric span { font-size:11px; color:var(--muted); }
.hero-note { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.status-dot { display:inline-block; width:8px; height:8px; background:var(--teal); border-radius:50%; margin-right:7px; box-shadow:0 0 15px var(--teal); }

.evidence-toolbar {
  position:sticky; top:74px; z-index:40; display:flex; gap:18px; align-items:center; flex-wrap:wrap;
  padding:13px 16px; border:1px solid var(--line); background:color-mix(in srgb, var(--bg-elev) 92%, transparent); backdrop-filter:blur(16px); border-radius:16px;
  margin-bottom:20px;
}
.toolbar-label { min-width:170px; }
.toolbar-label strong, .toolbar-label span { display:block; }
.toolbar-label span { font-size:11px; color:var(--muted); }
.evidence-chips { display:flex; gap:6px; flex:1; flex-wrap:wrap; }
.evidence-chip { border:1px solid var(--line); color:var(--muted); background:transparent; border-radius:999px; padding:6px 10px; font-weight:800; font-size:11px; }
.evidence-chip.active { color:#08111d; }
.evidence-chip[data-level="A"].active, .evidence-chip[data-level="B"].active, .evidence-chip[data-level="C"].active { background:var(--science); border-color:var(--science); }
.evidence-chip[data-level="D"].active { background:#8ac2cc; border-color:#8ac2cc; }
.evidence-chip[data-level="E"].active { background:var(--tradition); border-color:var(--tradition); }
.evidence-chip[data-level="F"].active { background:var(--symbolic); border-color:var(--symbolic); }
.evidence-chip[data-level="G"].active { background:var(--unknown); border-color:var(--unknown); }
.select-control {
  background:var(--panel-2); color:var(--text); border:1px solid var(--line); border-radius:10px; padding:9px 11px; outline:none;
}
.select-control.full { width:100%; }

.page-section { display:none; padding:28px 0 70px; }
.page-section.active-section { display:block; }
.section-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin:10px 2px 20px; }
.section-heading h2 { margin:0; font-size:34px; letter-spacing:-.03em; }
.view-switch { display:flex; gap:5px; }

.explorer-layout { display:grid; grid-template-columns:250px minmax(460px, .95fr) minmax(350px,.7fr); gap:16px; align-items:start; }
.layers-panel, .body-stage, .detail-panel { min-height:670px; }
.layers-panel { padding:18px; }
.layers-panel h3 { margin:0 0 8px; }
.layers-panel label { display:flex; gap:8px; align-items:center; padding:8px 0; font-size:13px; }
.muted { color:var(--muted); font-size:13px; }
.divider { height:1px; background:var(--line); margin:15px 0; }
.body-tree { display:flex; flex-direction:column; gap:3px; }
.tree-node { border:0; background:transparent; color:var(--muted); text-align:left; padding:7px 8px; border-radius:8px; }
.tree-node:hover, .tree-node.active { background:rgba(94,231,200,.08); color:var(--text); }
.tree-node[data-depth="1"] { padding-left:18px; }
.tree-node[data-depth="2"] { padding-left:31px; }
.tree-node[data-depth="3"] { padding-left:44px; font-size:.78rem; }
.tree-node[data-depth="4"] { padding-left:57px; font-size:.74rem; }

.body-stage { padding:14px; display:flex; flex-direction:column; }
.body-stage-topline { display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--muted); font-size:12px; }
.legend-inline { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.legend-swatch { width:10px; height:10px; border-radius:3px; display:inline-block; }
.legend-swatch.anatomy { background:rgba(94,231,200,.5); }
.legend-line { display:inline-block; width:16px; height:0; border-top:2px solid var(--gold); }
#bodySvg { flex:1; width:100%; min-height:580px; overflow:visible; }
.body-shape { fill:rgba(92,132,146,.10); stroke:rgba(176,214,222,.36); stroke-width:2; }
.body-shape.back { fill:rgba(92,132,146,.08); }
.organ { opacity:.5; stroke-width:1.5; }
.organ.heart { fill:rgba(255,122,122,.25); stroke:rgba(255,122,122,.55); }
.organ.kidney { fill:rgba(189,156,255,.22); stroke:rgba(189,156,255,.5); }
.hotspot { fill:rgba(94,231,200,.12); stroke:var(--teal); stroke-width:2; cursor:pointer; transition:.15s; }
.hotspot:hover, .hotspot.selected { fill:rgba(94,231,200,.38); filter:drop-shadow(0 0 8px rgba(94,231,200,.55)); }
.hotspot-label { fill:var(--text); font-size:10px; pointer-events:none; text-anchor:middle; paint-order:stroke; stroke:var(--bg); stroke-width:4px; }
.meridian-line { fill:none; stroke:var(--gold); stroke-width:3; stroke-dasharray:7 5; opacity:.85; }
.meridian-line.kidney-channel { stroke:var(--purple); }
.meridian-line.conception { stroke:#74d7ff; }
.acupoint { fill:var(--gold); stroke:var(--bg); stroke-width:3; cursor:pointer; }
.protocol-geometry { fill:rgba(255,130,200,.09); stroke:var(--magenta); stroke-width:2; stroke-dasharray:6 4; }
.overlay-label { fill:var(--muted); font-size:10px; }
.body-stage-help { color:var(--muted); font-size:11px; border-top:1px solid var(--line); padding:10px 3px 0; }
.hidden { display:none !important; }

.detail-panel { padding:20px; max-height:780px; overflow:auto; }
.entity-kicker { display:flex; justify-content:space-between; gap:10px; align-items:center; color:var(--teal); font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.entity-title { margin:6px 0 4px; font-size:28px; letter-spacing:-.035em; }
.entity-subtitle { color:var(--muted); font-size:13px; }
.breadcrumb { color:var(--muted); font-size:11px; margin:10px 0 14px; }
.tabbar { display:flex; gap:4px; overflow:auto; margin:15px 0; padding-bottom:4px; }
.tabbtn { white-space:nowrap; border:1px solid var(--line); background:transparent; color:var(--muted); border-radius:8px; padding:6px 8px; font-size:11px; }
.tabbtn.active { color:var(--text); border-color:rgba(94,231,200,.3); background:rgba(94,231,200,.08); }
.claim-card { border:1px solid var(--line); background:rgba(255,255,255,.026); border-radius:13px; padding:13px; margin-bottom:10px; }
.claim-top { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.claim-type { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.claim-text { margin-top:5px; font-size:13px; }
.claim-meta { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.badge { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:3px 7px; font-size:9px; font-weight:800; letter-spacing:.04em; }
.badge.evidence-A, .badge.evidence-B, .badge.evidence-C { border-color:rgba(105,169,255,.5); color:#9ac7ff; }
.badge.evidence-D { color:#a2dce3; }
.badge.evidence-E { border-color:rgba(233,189,96,.5); color:var(--gold); }
.badge.evidence-F { border-color:rgba(201,155,255,.5); color:var(--purple); }
.badge.evidence-G { color:var(--unknown); }
.badge.cross { color:var(--magenta); border-color:rgba(255,130,200,.5); }
.badge.direct { color:var(--teal); border-color:rgba(94,231,200,.5); }
.badge.safety { color:var(--danger); border-color:rgba(255,122,122,.5); }
.source-link { margin-top:9px; border:0; background:transparent; padding:0; color:var(--teal); font-size:11px; text-decoration:underline; }
.empty-state { border:1px dashed var(--line); border-radius:12px; padding:15px; color:var(--muted); font-size:12px; }

.graph-controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.graph-layout { display:grid; grid-template-columns:1.4fr .6fr; gap:16px; }
.graph-canvas { min-height:590px; padding:8px; overflow:hidden; }
#graphSvg { width:100%; min-height:560px; }
.graph-node circle { fill:var(--panel-2); stroke:var(--teal); stroke-width:2; }
.graph-node.root circle { fill:rgba(94,231,200,.2); stroke-width:3; }
.graph-node text { fill:var(--text); font-size:12px; text-anchor:middle; pointer-events:none; }
.graph-edge { stroke:rgba(176,214,222,.35); stroke-width:1.7; }
.graph-edge.cross { stroke:var(--magenta); stroke-dasharray:6 5; }
.graph-edge.derived { stroke:var(--purple); stroke-dasharray:3 4; }
.graph-edge-label { fill:var(--muted); font-size:9px; text-anchor:middle; }
.graph-results { padding:18px; max-height:590px; overflow:auto; }
.path-card { padding:11px; border:1px solid var(--line); border-radius:12px; margin-bottom:9px; }
.path-steps { font-size:11px; color:var(--muted); margin-top:7px; }
.path-step { margin:3px 0; }

.warning-badge { color:var(--danger); border:1px solid rgba(255,122,122,.35); border-radius:999px; padding:6px 10px; font-size:10px; font-weight:800; }
.protocol-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:16px; }
.protocol-config, .protocol-preview { padding:20px; }
.field-label { display:block; margin:15px 0 8px; font-size:11px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }
.system-checks { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.system-check { display:flex; align-items:center; gap:7px; padding:8px; border:1px solid var(--line); border-radius:10px; font-size:12px; }
.component-picker { display:grid; gap:8px; }
.component-option { text-align:left; border:1px solid var(--line); border-radius:12px; background:transparent; color:var(--text); padding:10px 11px; }
.component-option:hover, .component-option.selected { border-color:rgba(94,231,200,.35); background:rgba(94,231,200,.06); }
.component-option small { display:block; color:var(--muted); margin-top:2px; }
.protocol-preview-head { display:flex; justify-content:space-between; gap:15px; align-items:start; }
.protocol-preview h3 { margin:4px 0 12px; font-size:25px; }
.protocol-classification { margin-bottom:14px; }
.protocol-components { display:grid; gap:8px; }
.protocol-component-row { border-left:3px solid var(--teal); background:rgba(255,255,255,.03); padding:10px 12px; border-radius:0 10px 10px 0; }
.protocol-component-row.cross { border-left-color:var(--magenta); }
.evidence-profile { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
.profile-item { border:1px solid var(--line); border-radius:10px; padding:10px; text-align:center; }
.profile-item strong { display:block; font-size:20px; }
.profile-item span { color:var(--muted); font-size:10px; }
.medical-note { color:var(--muted); font-size:11px; border-top:1px solid var(--line); margin-top:16px; padding-top:13px; }

.compare-selects { display:flex; gap:7px; align-items:center; }
.compare-summary { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.summary-pill { border:1px solid var(--line); border-radius:999px; padding:6px 10px; font-size:10px; color:var(--muted); }
.comparison-table-wrap { overflow:auto; padding:8px; }
.compare-table { width:100%; min-width:800px; border-collapse:separate; border-spacing:0; }
.compare-table th, .compare-table td { text-align:left; vertical-align:top; padding:12px; border-bottom:1px solid var(--line); }
.compare-table th { position:sticky; top:0; background:var(--panel-2); font-size:12px; }
.compare-table th:first-child { width:180px; }
.compare-table td:first-child { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.compare-cell-title { font-weight:700; }
.compare-cell-note { color:var(--muted); font-size:11px; margin-top:3px; }

.source-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.source-card { padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.source-card h3 { margin:2px 0 7px; font-size:16px; }
.source-card p { color:var(--muted); font-size:12px; }
.source-meta { display:flex; gap:5px; flex-wrap:wrap; }

.relation-dialog { width:min(720px, calc(100% - 30px)); border:1px solid var(--line); border-radius:18px; background:var(--bg-elev); color:var(--text); box-shadow:var(--shadow); padding:25px; }
.relation-dialog::backdrop { background:rgba(0,0,0,.62); backdrop-filter:blur(4px); }
.dialog-close { position:absolute; top:9px; right:12px; border:0; background:transparent; color:var(--muted); font-size:28px; }
.relation-detail-grid { display:grid; grid-template-columns:140px 1fr; gap:8px 12px; font-size:12px; }
.relation-detail-grid dt { color:var(--muted); }
.relation-detail-grid dd { margin:0; }

footer { width:min(1540px, calc(100% - 40px)); margin:0 auto; padding:28px 0 50px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:30px; color:var(--muted); font-size:11px; }

@media (max-width: 1180px) {
  .topbar { grid-template-columns:1fr auto; }
  .topnav { order:3; grid-column:1/-1; justify-content:center; }
  .explorer-layout { grid-template-columns:210px 1fr; }
  .detail-panel { grid-column:1/-1; min-height:0; max-height:none; }
  .graph-layout { grid-template-columns:1fr; }
  .protocol-layout { grid-template-columns:1fr; }
  .source-grid { grid-template-columns:1fr 1fr; }
  .evidence-toolbar { top:122px; }
}

@media (max-width: 760px) {
  main, footer { width:min(100% - 22px, 1540px); }
  .topbar { padding:10px 12px; grid-template-columns:1fr auto; }
  .brand-subtitle { display:none; }
  .header-actions { grid-column:1/-1; justify-content:stretch; }
  .search-wrap { width:100%; }
  .topnav { justify-content:flex-start; overflow:auto; }
  .nav-btn { white-space:nowrap; }
  .hero { min-height:0; grid-template-columns:1fr; padding:45px 4px 35px; gap:24px; }
  .hero h1 { font-size:42px; }
  .hero-copy p { font-size:15px; }
  .evidence-toolbar { position:relative; top:auto; }
  .section-heading { align-items:start; flex-direction:column; }
  .explorer-layout { grid-template-columns:1fr; }
  .layers-panel { min-height:0; }
  .body-stage { min-height:620px; }
  .detail-panel { grid-column:auto; }
  .source-grid { grid-template-columns:1fr; }
  .system-checks { grid-template-columns:1fr; }
  .evidence-profile { grid-template-columns:1fr 1fr; }
  .compare-selects { width:100%; flex-wrap:wrap; }
  .compare-selects select { flex:1; }
  footer { flex-direction:column; }
}

.admin-link { text-decoration:none; display:inline-flex; align-items:center; font-size:13px; white-space:nowrap; }
.status-dot.offline { background:#ef6b75; box-shadow:0 0 15px rgba(239,107,117,.6); }

/* v0.3+ deep vertical slices */
.slice-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0 4px;padding:10px 12px;border:1px solid rgba(94,231,200,.25);background:rgba(94,231,200,.055);border-radius:12px;font-size:11px}
.slice-banner span{color:var(--muted);text-align:right}
.substructure-block{margin:12px 0 14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018)}
.substructure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.substructure-chip,.point-link{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer}
.substructure-chip:hover,.point-link:hover{border-color:rgba(94,231,200,.35);background:rgba(94,231,200,.05)}
.substructure-chip strong,.point-link strong{display:block;font-size:11px}
.substructure-chip span,.point-link span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.point-list{display:grid;gap:6px;margin-top:9px}
.scope-note{margin-top:9px;color:var(--muted);font-size:10px;line-height:1.5}
.parent-scope-head{display:flex;justify-content:space-between;gap:12px;margin:15px 0 8px;padding-top:13px;border-top:1px solid var(--line);font-size:11px}
.parent-scope-head span{color:var(--muted);text-align:right}
.parent-scope-card{border-style:dashed;opacity:.92}
.badge.scope-parent{color:var(--gold);border-color:rgba(233,189,96,.4)}
.source-locator{margin-top:8px;color:var(--muted);font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.acupoint{transition:.15s}
.acupoint:hover,.acupoint:focus{r:7;filter:drop-shadow(0 0 6px rgba(233,189,96,.8));outline:none}
@media(max-width:760px){.substructure-grid{grid-template-columns:1fr}.slice-banner,.parent-scope-head{align-items:flex-start;flex-direction:column}.slice-banner span,.parent-scope-head span{text-align:left}}
/* v0.5 visual pathway */
.pathway-intro{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);margin-bottom:14px}.pathway-intro span,.pathway-intro small{color:var(--muted);line-height:1.5}.pathway-flow{display:grid;gap:5px}.pathway-stage{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.pathway-stage.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.pathway-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);font-weight:800}.pathway-stage p{margin:4px 0 8px;color:var(--muted);font-size:.8rem;line-height:1.45}.pathway-entities{display:flex;flex-wrap:wrap;gap:6px}.pathway-entities button{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:999px;padding:6px 9px;font:inherit;font-size:.74rem;cursor:pointer}.pathway-entities button:hover{border-color:var(--accent)}.pathway-arrow{text-align:center;color:var(--muted);font-size:1rem}

/* v0.6 functional pathways */
.pathway-branches{margin-top:18px;display:grid;gap:10px}
.pathway-branches .claim-card{margin:0}
.pathway-entities{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pathway-entities button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:5px 9px;cursor:pointer;font:inherit;font-size:.78rem}
.pathway-entities button:hover,.pathway-entities button:focus-visible{border-color:var(--accent);outline:none}

/* v0.8 dental chart */
.dental-chart{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018);overflow:auto}
.dental-arch{display:grid;grid-template-columns:repeat(16,minmax(43px,1fr));gap:4px;min-width:760px;margin:7px 0}
.tooth-button{min-height:58px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:9px;padding:5px 3px;cursor:pointer;text-align:center}
.tooth-button:hover,.tooth-button:focus-visible{border-color:var(--accent);outline:none;transform:translateY(-1px)}
.tooth-button.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--panel-2))}
.tooth-number{display:block;font-weight:800;font-size:12px}.tooth-kind{display:block;color:var(--muted);font-size:8px;line-height:1.1;margin-top:4px}
.dental-orientation,.dental-midline{min-width:760px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;color:var(--muted);font-size:9px}.dental-orientation span:last-child,.dental-midline span:last-child{text-align:right}.dental-orientation strong,.dental-midline strong{color:var(--text);font-size:9px;letter-spacing:.08em}
.dental-midline{margin:4px 0;border-top:1px dashed var(--line);padding-top:4px}

/* v0.9 spine level explorer */
.spine-chart { margin:14px 0; border:1px solid var(--line); border-radius:14px; padding:14px; background:rgba(255,255,255,.018); }
.spine-quick-links { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 12px; }
.spine-quick-link, .spine-neuro-strip button { border:1px solid var(--line); background:transparent; color:var(--text); border-radius:9px; padding:6px 8px; font-size:10px; }
.spine-quick-link.active { border-color:var(--teal); background:rgba(94,231,200,.12); }
.spine-region-group { display:grid; grid-template-columns:128px 1fr; gap:9px; align-items:start; margin:8px 0; }
.spine-region-label { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; padding-top:8px; }
.spine-levels { display:grid; grid-template-columns:repeat(auto-fit,minmax(58px,1fr)); gap:5px; }
.spine-level { border:1px solid var(--line); background:rgba(255,255,255,.018); color:var(--text); border-radius:9px; padding:6px 4px; display:flex; flex-direction:column; align-items:center; gap:2px; min-height:46px; }
.spine-level strong { font-size:11px; }
.spine-level span { font-size:8px; color:var(--muted); text-align:center; }
.spine-level.cervical { border-left:3px solid #78d8ff; }
.spine-level.thoracic { border-left:3px solid var(--gold); }
.spine-level.lumbar { border-left:3px solid var(--purple); }
.spine-level.sacral { border-left:3px solid var(--magenta); }
.spine-level.coccygeal { border-left:3px solid var(--unknown); }
.spine-level.active { border-color:var(--teal); background:rgba(94,231,200,.13); box-shadow:0 0 0 1px rgba(94,231,200,.16) inset; }
.spine-neuro-strip { display:flex; gap:6px; align-items:stretch; flex-wrap:wrap; border-top:1px solid var(--line); margin-top:12px; padding-top:12px; }
.spine-neuro-strip > div { min-width:90px; display:flex; flex-direction:column; }
.spine-neuro-strip button { display:flex; flex-direction:column; align-items:flex-start; min-width:130px; }
.spine-neuro-strip button span { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.06em; }
.spine-neuro-strip button strong { font-size:10px; }
@media (max-width:700px){ .spine-region-group{grid-template-columns:1fr}.spine-region-label{padding-top:0}.spine-levels{grid-template-columns:repeat(4,1fr)} }

/* v1.0 upper-limb explorer */
.upper-limb-explorer{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(8,18,30,.48)}
.upper-region-grid,.upper-digit-grid,.upper-nerve-grid,.upper-derm-grid{display:grid;gap:8px;margin-top:8px}
.upper-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upper-digit-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.upper-nerve-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.upper-derm-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.upper-region,.upper-digit,.upper-nerve,.upper-derm{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:12px;padding:9px;cursor:pointer;text-align:left}.upper-region span,.upper-digit span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.upper-region.active,.upper-digit.active,.upper-nerve.active{outline:2px solid rgba(118,219,207,.5)}
.upper-subhead{margin-top:14px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:780px){.upper-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upper-digit-grid,.upper-nerve-grid,.upper-derm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.lower-limb-explorer{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(8,18,30,.48)}
.lower-region-grid,.lower-toe-grid,.lower-nerve-grid,.lower-derm-grid,.lower-tarsal-grid{display:grid;gap:8px;margin-top:8px}
.lower-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lower-toe-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.lower-nerve-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lower-derm-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.lower-tarsal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.lower-region,.lower-toe,.lower-nerve,.lower-derm,.lower-tarsal{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:12px;padding:9px 10px;text-align:left;cursor:pointer}.lower-region span,.lower-toe span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.lower-region:hover,.lower-toe:hover,.lower-nerve:hover,.lower-derm:hover,.lower-tarsal:hover,.lower-region.active,.lower-toe.active,.lower-nerve.active,.lower-tarsal.active{border-color:var(--accent);background:rgba(102,220,210,.08)}
.lower-subhead{margin-top:14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media(max-width:780px){.lower-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-toe-grid,.lower-nerve-grid,.lower-derm-grid,.lower-tarsal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.2 torso & internal-organ explorer */
.torso-explorer{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(8,18,30,.48)}
.torso-system-grid,.torso-organ-grid{display:grid;gap:8px;margin-top:8px}
.torso-system-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.torso-organ-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.torso-system,.torso-organ,.torso-zf-note button{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:12px;padding:9px 10px;text-align:left;cursor:pointer}
.torso-system span,.torso-organ span,.torso-zf-note button span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.torso-system:hover,.torso-organ:hover,.torso-zf-note button:hover,.torso-system.active,.torso-organ.active{border-color:var(--accent);background:rgba(102,220,210,.08)}
.torso-subhead{margin-top:14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.torso-zf-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.torso-zf-note button{width:100%;margin-top:8px}
@media(max-width:780px){.torso-system-grid,.torso-organ-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.3 brain, cranial nerves & CNS explorer */
.brain-explorer{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(8,18,30,.48)}
.brain-major-grid,.brain-lobe-grid,.brain-cn-grid{display:grid;gap:8px;margin-top:8px}
.brain-major-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.brain-lobe-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.brain-cn-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.brain-major,.brain-lobe,.brain-cn{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:12px;padding:9px 10px;text-align:left;cursor:pointer}
.brain-major span,.brain-lobe span,.brain-cn span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.brain-major:hover,.brain-lobe:hover,.brain-cn:hover,.brain-major.active,.brain-lobe.active,.brain-cn.active{border-color:var(--accent);background:rgba(102,220,210,.08)}
.brain-subhead{margin-top:14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.brain-context-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--panel-soft);color:var(--muted);font-size:12px}
@media(max-width:900px){.brain-major-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brain-lobe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brain-cn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.brain-cn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.4 endocrine system & hormone explorer */
.endocrine-explorer{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(8,18,30,.48)}
.endocrine-subhead{margin-top:14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.endocrine-gland-grid,.endocrine-axis-grid,.endocrine-hormone-grid{display:grid;gap:8px;margin-top:8px}
.endocrine-gland-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.endocrine-axis-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.endocrine-hormone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.endocrine-gland,.endocrine-axis,.endocrine-hormone{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:9px;text-align:left;cursor:pointer;color:var(--text)}
.endocrine-gland strong,.endocrine-axis strong,.endocrine-hormone strong{display:block;font-size:.82rem}.endocrine-gland span,.endocrine-axis span,.endocrine-hormone span{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}
.endocrine-gland.active,.endocrine-hormone.active{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:900px){.endocrine-gland-grid,.endocrine-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.endocrine-hormone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.endocrine-gland-grid,.endocrine-axis-grid,.endocrine-hormone-grid{grid-template-columns:1fr}}

/* v1.5 Reproductive system explorer */
.reproductive-explorer{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.repro-subhead{margin:.9rem 0 .45rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.repro-grid,.repro-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.55rem}
.repro-entity,.repro-pathway{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;padding:.65rem .72rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;text-align:left;cursor:pointer}
.repro-entity:hover,.repro-pathway:hover,.repro-entity.active{border-color:var(--accent);transform:translateY(-1px)}
.repro-entity span,.repro-pathway span{font-size:.72rem;opacity:.7}
.repro-pathway{background:linear-gradient(180deg,var(--panel),var(--panel-2))}


/* v1.6 lymphatic & immune explorer */
.immune-explorer{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.immune-subhead{margin:.9rem 0 .45rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.immune-grid,.immune-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.55rem}
.immune-entity,.immune-node,.immune-cell,.immune-pathway{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;padding:.65rem .72rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;text-align:left;cursor:pointer}
.immune-entity:hover,.immune-node:hover,.immune-cell:hover,.immune-pathway:hover,.immune-entity.active,.immune-node.active,.immune-cell.active{border-color:var(--accent);transform:translateY(-1px)}
.immune-entity span,.immune-node span,.immune-cell span,.immune-pathway span{font-size:.72rem;opacity:.7}
.immune-pathway{background:linear-gradient(180deg,var(--panel),var(--panel-2))}

/* v1.7 skin, connective tissue & integument explorer */
.integument-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.integument-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.integument-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.integument-entity,.integument-pathway{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);cursor:pointer}
.integument-entity span,.integument-pathway span{font-size:.7rem;color:var(--muted)}
.integument-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.integument-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.integument-pathway{border-style:dashed}

/* v1.8 blood & hematology explorer */
.hematology-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.hematology-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.hematology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.hematology-entity,.hematology-pathway{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.hematology-entity span,.hematology-pathway span{font-size:.7rem;color:var(--muted)}
.hematology-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.hematology-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.hematology-pathway{border-style:dashed}

/* v1.9 autonomic nervous system explorer */
.autonomic-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.autonomic-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.autonomic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.autonomic-entity,.autonomic-pathway{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.autonomic-entity span,.autonomic-pathway span{font-size:.7rem;color:var(--muted)}
.autonomic-entity:hover,.autonomic-pathway:hover,.autonomic-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.autonomic-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.autonomic-pathway{border-style:dashed}

/* v1.9 vascular & microcirculation explorer */
.vascular-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.vascular-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.vascular-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.vascular-entity,.vascular-pathway{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.vascular-entity span,.vascular-pathway span{font-size:.7rem;color:var(--muted)}
.vascular-entity:hover,.vascular-pathway:hover,.vascular-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.vascular-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.vascular-pathway{border-style:dashed}

/* v2.0 skeletal system explorer */
.skeletal-explorer,.muscular-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.skeletal-subhead,.muscular-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.skeletal-grid,.muscular-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.skeletal-entity,.skeletal-pathway,.muscular-entity,.muscular-pathway{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.skeletal-entity span,.skeletal-pathway span,.muscular-entity span,.muscular-pathway span{font-size:.7rem;color:var(--muted)}
.skeletal-entity:hover,.skeletal-pathway:hover,.skeletal-entity.active,.muscular-entity:hover,.muscular-pathway:hover,.muscular-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.skeletal-pathway-grid,.muscular-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.skeletal-pathway,.muscular-pathway{border-style:dashed}

/* v2.1 scientific mineralogy + Stone Medicine explorers */
.mineral-explorer,.stone-medicine-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.mineral-subhead,.stone-medicine-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mineral-grid,.stone-medicine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.mineral-entity,.stone-medicine-entity{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.mineral-entity span,.stone-medicine-entity span{font-size:.7rem;color:var(--muted)}
.mineral-entity:hover,.stone-medicine-entity:hover,.mineral-entity.active,.stone-medicine-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.mineral-hazard-grid .mineral-entity,.stone-hazard-grid .stone-medicine-entity{border-style:dashed}

/* v2.2 Chinese medicine channels, points & Zang-Fu explorer */
.chinese-medicine-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.chinese-medicine-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.chinese-medicine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.chinese-medicine-entity{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.chinese-medicine-entity span{font-size:.7rem;color:var(--muted)}
.chinese-medicine-entity:hover,.chinese-medicine-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.channel-code-grid{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
@media(max-width:560px){.chinese-medicine-grid,.channel-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.3 sacred geometry + mathematical ratios explorer */
.sacred-geometry-explorer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.sacred-geometry-subhead{margin:14px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sacred-geometry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.sacred-geometry-entity{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer}
.sacred-geometry-entity span{font-size:.7rem;color:var(--muted)}
.sacred-geometry-entity:hover,.sacred-geometry-entity.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.sacred-geometry-claim-grid .sacred-geometry-entity{border-style:dashed}
@media(max-width:560px){.sacred-geometry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sound-explorer,.light-explorer{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}
.sound-grid,.light-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 14px}.sound-subhead,.light-subhead{font-weight:700;margin-top:12px}.sound-entity,.light-entity{padding:10px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:inherit}.sound-entity.active,.light-entity.active{outline:2px solid var(--accent)}.sound-entity span,.light-entity span{display:block;opacity:.7;font-size:.78rem;margin-top:3px}

/* v3.0 roadmap-completion explorers */
.roadmap-explorer{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--panel-2,#11161c)}
.roadmap-subhead{margin:.9rem 0 .45rem;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.72}
.roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem}
.roadmap-entity{display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:transparent;color:inherit;cursor:pointer}
.roadmap-entity:hover,.roadmap-entity.active{border-color:var(--accent);transform:translateY(-1px)}
.roadmap-entity span{font-size:.72rem;opacity:.68;text-transform:capitalize}

.graph-legend{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--border);font-size:.76rem;opacity:.88}
.graph-legend span{display:inline-flex;align-items:center;gap:.35rem}.graph-legend-note{opacity:.7}
.graph-legend-line{display:inline-block;width:24px;height:0;border-top:2px solid currentColor}.graph-legend-line.derived{border-top-style:dashed}.graph-legend-line.cross{border-top-style:dotted;border-top-width:3px}

/* Independent audit: preserve usable controls at narrow widths. */
.card,.explorer-layout > *,.graph-layout > *,.protocol-layout > *,.hero > * { min-width:0; }
.select-control { max-width:100%; min-width:0; }
.component-option:disabled { opacity:.65; cursor:not-allowed; }
button:focus-visible,a:focus-visible,select:focus-visible,[role="button"]:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media(max-width:760px) {
 .evidence-toolbar { display:flex; flex-direction:column; align-items:stretch; }
 .evidence-chips { display:flex; flex-wrap:wrap; }
 .section-heading,.graph-controls,.compare-selects { min-width:0; max-width:100%; flex-wrap:wrap; }
 .graph-controls select,.compare-selects select { width:100%; }
 .relation-detail-grid { grid-template-columns:1fr; overflow-wrap:anywhere; }
 .source-card,.claim-card { overflow-wrap:anywhere; }
}
