/* Final architecture contract: measured connector geometry and responsive edge rules. */
#architecture .arch-canvas{overflow:hidden}
#architecture .arch-connectors{z-index:1!important;pointer-events:none!important}
#architecture .arch-canvas [data-arch-node],#architecture .arch-source,#architecture .arch-source-note,#architecture .arch-agent,#architecture .arch-evidence,#architecture .arch-assessment,#architecture .arch-admission-context,#architecture .arch-gate,#architecture .arch-gate-criteria,#architecture .arch-outcomes{z-index:3!important}
#architecture .arch-wire{stroke-dasharray:none!important;animation:none!important;filter:none!important}
#architecture .arch-wire path{stroke-dasharray:none!important;animation:none!important}
#architecture .arch-wire-evidence{stroke:#5b5c88!important;opacity:.78!important;stroke-width:1.5!important}
#architecture .arch-wire-evidence path{stroke-dasharray:10 16!important;animation:architecture-evidence-flow 8s linear infinite!important}
#architecture .arch-wire-branch{stroke:rgba(32,40,45,.57)!important;opacity:.82!important}
#architecture .arch-junction{fill:#5b5c88!important;filter:none!important}
#architecture .arch-source,#architecture .agent-step,#architecture .arch-retrieval-method,#architecture .arch-fusion,#architecture .arch-snapshot,#architecture .arch-assessment,#architecture .architecture-branch{background:#fffefa!important}
#architecture .arch-evidence{background:#fffefa!important}
#architecture .arch-evidence::before{background:#fffefa!important}
#architecture .arch-agent .arch-component-heading h3{position:relative;z-index:5;background:rgba(251,250,246,.96)!important}
#architecture .arch-wire>path:nth-child(1){d:path("M122 103 V127")!important}
#architecture .arch-wire>path:nth-child(2){d:path("M195 227 H244")!important}
#architecture .arch-wire>path:nth-child(3){d:path("M423 227 H471")!important}
#architecture .arch-wire>path:nth-child(4){d:path("M650 227 H697")!important}
#architecture .arch-wire>path:nth-child(5){d:path("M877 227 H923")!important}
#architecture .arch-wire>path:nth-child(6){d:path("M1019 282 V347")!important}
#architecture .arch-wire>path:nth-child(7){d:path("M1005 477 H1096 V755 H700 V698 H625")!important}
#architecture .arch-route-human{top:760px!important;left:auto!important;right:8%!important}
#architecture .arch-wire-evidence>path:nth-child(1){d:path("M560 282 V315 H28 V350 H47")!important}
#architecture .arch-wire-evidence>path:nth-child(2){d:path("M47 350 V478 H47")!important}
#architecture .arch-wire-evidence>path:nth-child(3){d:path("M47 478 V534 H47")!important}
#architecture .arch-wire-evidence>path:nth-child(4){d:path("M221 478 H260 V507 H296")!important}
#architecture .arch-wire-evidence>path:nth-child(5){d:path("M221 534 H260 V507 H296")!important}
#architecture .arch-wire-evidence>path:nth-child(6){d:path("M452 507 H527")!important}
#architecture .arch-wire-evidence>path:nth-child(7){d:path("M743 507 H850 V315 H560 V282")!important}
#architecture .arch-wire-branch>path:nth-child(1){d:path("M560 766 V792 H269 V818")!important}
#architecture .arch-wire-branch>path:nth-child(2){d:path("M560 766 V792 H851 V818")!important}
#architecture .arch-junction{cx:560!important;cy:792!important}
#architecture .arch-route-policy{top:626px!important}
@media (max-width:1100px) and (min-width:901px){
 #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(7){d:path("M1005 477 H1096 V720 H700 V637 H640")!important}
 #architecture .arch-wire-branch>path:nth-child(1){d:path("M560 705 V725 H269 V748")!important}
 #architecture .arch-wire-branch>path:nth-child(2){d:path("M560 705 V725 H851 V748")!important}
 #architecture .arch-junction{cy:725!important}
 #architecture .arch-route-human{top:693px!important}
}

/* The supplied system map is the desktop visual source of truth. The original
   semantic diagram stays in the DOM for accessibility, focus behavior, and
   automated contracts, while the poster keeps the reference typography and
   measured geometry pixel-stable. */
@media (min-width:901px) {
  body:has(#architecture.active) { overflow-x:hidden; }
  body:has(#architecture.active) .nav { box-shadow:none!important; }
  #architecture.active {
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:var(--bg)!important;
  }
  #architecture .arch-reference-poster {
    display:block!important;
    position:relative!important;
    pointer-events:none!important;
    width:min(100%,1322px)!important;
    height:auto!important;
    margin:0 auto!important;
    object-fit:contain;
  }
  #architecture .arch-detail-reference {
    display:block!important;
    width:min(100%,1322px)!important;
    height:auto!important;
    margin:32px auto 0!important;
    pointer-events:none!important;
  }
  #architecture > .arch-page-heading,
  #architecture > .arch-board,
  #architecture > .arch-real-trace,
  #architecture > .arch-stack {
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1px!important;
    height:1px!important;
    max-width:1px!important;
    max-height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:900px) {
  #architecture .arch-reference-poster { display:none!important; }
  #architecture .arch-detail-reference { display:none!important; }
}

/* Keep the semantic fallback graph still. The visible desktop map is static,
   and focus must not reintroduce a moving trace behind it. */
#architecture .arch-wire,
#architecture .arch-wire path,
#architecture .arch-wire-evidence,
#architecture .arch-wire-evidence path,
#architecture .arch-canvas[data-focus="agent"] .arch-wire path {
  animation:none!important;
  stroke-dasharray:none!important;
}
#architecture .arch-junction { cy:728!important; }
@media (max-width:900px){
 #architecture .arch-canvas{overflow:visible;background:linear-gradient(145deg,#fffefa 0%,#fbfaf6 58%,#f0f2ed 100%)!important}
 #architecture .arch-canvas::before{opacity:.24!important}
 #architecture .arch-canvas .arch-gate{width:136px!important;height:136px!important;inset:auto!important;margin:22px auto!important}
 #architecture .arch-agent-track .agent-step{position:relative;overflow:visible}
 #architecture .arch-agent-track .agent-step:not(:last-child)::after{content:"";position:absolute;z-index:4;left:28px;bottom:-13px;width:1px;height:13px;background:rgba(91,92,136,.48)}
}
@media (prefers-reduced-motion:reduce){#architecture .arch-wire-evidence path{animation:none!important;stroke-dashoffset:0!important}}
@media (min-width:901px){
 #architecture .arch-retrieval-inputs{position:relative;z-index:5}
 #architecture .arch-retrieval-inputs::after{content:"";position:absolute;z-index:5;pointer-events:none;top:22px;right:clamp(-80px,-6.7vw,-64px);width:clamp(64px,6.7vw,80px);height:56px;background:linear-gradient(#5b5c88,#5b5c88) 0 0/50px 1px no-repeat,linear-gradient(#5b5c88,#5b5c88) 0 100%/50px 1px no-repeat,linear-gradient(#5b5c88,#5b5c88) 50px 0/1px 100% no-repeat,linear-gradient(#5b5c88,#5b5c88) 50px 50%/100% 1px no-repeat;opacity:.55}
 #architecture .arch-fusion{position:relative;z-index:5}
 #architecture .arch-fusion::after{content:"";position:absolute;z-index:5;pointer-events:none;top:31px;right:clamp(-80px,-6.7vw,-64px);width:clamp(64px,6.7vw,80px);height:1px;background:#5b5c88;opacity:.55}
}

/* Focused cards stay opaque, and arrow tips stop clear of every node edge. */
#architecture .arch-canvas[data-focus] [data-arch-node]{opacity:1!important}
#architecture .arch-canvas[data-focus] .arch-evidence{background:#fffefa!important}
#architecture .arch-canvas[data-focus] .arch-evidence::before{background:#fffefa!important}
#architecture .arch-wire{stroke-linecap:round!important;stroke-linejoin:round!important}
#architecture .arch-wire>path:nth-child(1){d:path("M122 112 V118")!important}
#architecture .arch-wire>path:nth-child(2){d:path("M206 227 H233")!important}
#architecture .arch-wire>path:nth-child(3){d:path("M434 227 H460")!important}
#architecture .arch-wire>path:nth-child(4){d:path("M661 227 H686")!important}
#architecture .arch-wire>path:nth-child(5){d:path("M888 227 H912")!important}
#architecture .arch-wire>path:nth-child(6){d:path("M1019 291 V338")!important}
#architecture .arch-wire>path:nth-child(7){d:path("M1106 413 H1115 V755 H700 V698 H638")!important}
#architecture .arch-wire-evidence>path:nth-child(1){d:path("M560 291 V315 H28 V350 H39")!important}
#architecture .arch-wire-evidence>path:nth-child(2){d:path("M39 350 V478 H41")!important}
#architecture .arch-wire-evidence>path:nth-child(3){d:path("M39 478 V534 H41")!important}
#architecture .arch-wire-evidence>path:nth-child(4){d:path("M227 478 H260 V507 H287")!important}
#architecture .arch-wire-evidence>path:nth-child(5){d:path("M227 534 H260 V507 H287")!important}
#architecture .arch-wire-evidence>path:nth-child(6){d:path("M461 507 H518")!important}
#architecture .arch-wire-evidence>path:nth-child(7){d:path("M752 507 H850 V315 H560 V291")!important}
#architecture .arch-wire-branch>path:nth-child(1){d:path("M560 775 V792 H269 V808")!important}
#architecture .arch-wire-branch>path:nth-child(2){d:path("M560 775 V792 H851 V808")!important}
#architecture .arch-junction{cx:560!important;cy:792!important}
#architecture .arch-route-evidence{top:285px!important}

@media (max-width:1100px) and (min-width:901px){
 #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(6){d:path("M1019 291 V338")!important}
 #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(7){d:path("M1106 413 H1115 V720 H700 V637 H658")!important}
 #architecture .arch-wire-branch>path:nth-child(1){d:path("M560 714 V725 H269 V738")!important}
 #architecture .arch-wire-branch>path:nth-child(2){d:path("M560 714 V725 H851 V738")!important}
 #architecture .arch-junction{cy:725!important}
}
@media (max-width:920px) and (min-width:901px){
 #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(7){d:path("M1106 413 H1115 V720 H700 V637 H662")!important}
}

@media (max-width:900px){
 #architecture .arch-agent-track{row-gap:15px!important}
 #architecture .arch-agent-track .agent-step:not(:last-child)::after{bottom:-13px!important;height:11px!important}
 #architecture .arch-outcomes{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
}

@media (prefers-reduced-motion:reduce){
 #architecture .arch-canvas[data-focus] [data-arch-node]{transition:none!important}
 #architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(n+2):nth-child(-n+5){animation:none!important;stroke-dasharray:none!important}
}

#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(n+2):nth-child(-n+5){
 stroke:#626394!important;
 stroke-dasharray:6 11!important;
 animation:architecture-agent-trace 2.4s linear infinite!important;
}
#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(3){animation-delay:-.6s!important}
#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(4){animation-delay:-1.2s!important}
#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(5){animation-delay:-1.8s!important}
@keyframes architecture-agent-trace{from{stroke-dashoffset:0}to{stroke-dashoffset:-17}}
@media (prefers-reduced-motion:reduce){
 #architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(n+2):nth-child(-n+5){animation:none!important;stroke-dasharray:none!important}
}

@media (max-width:900px){#architecture .arch-assessment::after{display:none!important}}

/* Give the admission return route a deliberate port and remove line-like callout accents. */
#architecture .arch-assessment::after{content:"";position:absolute;z-index:5;top:calc(50% - 4px);right:-12px;width:8px;height:8px;border:1px solid #6d6f9b;border-radius:50%;background:#fffefa;box-shadow:0 0 0 3px rgba(255,254,250,.72);pointer-events:none}
#architecture .arch-admission-context::before,#architecture .arch-gate-criteria::before{display:none!important}

/* Evidence Gate map: compact paper canvas with a single evidence lane. The
   earlier connector geometry remains in the file for the interaction contract;
   these final rules give it a calmer visual role. */
#architecture .arch-canvas {
  --bg: #F6F4EF;
  --text: #20262B;
  --muted: #697177;
  --surface: #FFFDF9;
  --surface-raised: #F0EEE8;
  --line: #D7D4CC;
  --accent: #5B5C88;
  --success: #47745F;
  --warning: #A8752B;
  height: 835px!important;
  overflow: hidden!important;
  border: 1px solid var(--line)!important;
  border-radius: 12px!important;
  background: linear-gradient(135deg, rgba(255,253,249,.72), rgba(240,238,232,.60))!important;
  box-shadow: 0 18px 42px rgba(38,43,46,.06)!important;
}
#architecture .arch-canvas::before {
  opacity: .24!important;
  background-image: linear-gradient(rgba(91,92,136,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(91,92,136,.06) 1px, transparent 1px)!important;
  background-size: 42px 42px!important;
}
#architecture .arch-canvas::after { color: rgba(105,113,119,.52)!important; }
#architecture .arch-canvas-rail { color: rgba(105,113,119,.62)!important; }
#architecture .arch-rail-status { color: var(--success)!important; }
#architecture .arch-rail-status i { background: var(--success)!important; box-shadow: 0 0 0 4px rgba(71,116,95,.12)!important; }
#architecture .arch-atmosphere, #architecture .arch-halo, #architecture .arch-orbit { display: none!important; }
#architecture .arch-connectors { height: 820px!important; opacity: .58!important; }
#architecture .arch-wire { stroke: rgba(105,113,119,.62)!important; stroke-width: 1.25!important; filter: none!important; }
#architecture .arch-wire-evidence { stroke: var(--accent)!important; opacity: .72!important; stroke-width: 1.5!important; }
#architecture .arch-wire-branch { stroke: rgba(105,113,119,.64)!important; opacity: .72!important; }
#architecture .arch-junction { fill: var(--accent)!important; filter: none!important; }
#architecture .arch-route-label { color: var(--muted)!important; }
#architecture .arch-route-label::before { background: var(--line)!important; }
#architecture .arch-route-label span { color: var(--accent)!important; }
#architecture .arch-route-policy span { color: var(--warning)!important; }
#architecture .arch-route-human span { color: var(--success)!important; }

#architecture .arch-source {
  top: 22px!important; left: 2%!important; width: 22%!important; min-height: 76px!important;
  padding: 12px 15px!important; border: 1px solid rgba(91,92,136,.38)!important;
  border-radius: 9px!important; background: var(--surface)!important; box-shadow: 0 10px 20px rgba(38,43,46,.06)!important;
}
#architecture .arch-source-mark { color: var(--accent)!important; }
#architecture .arch-source strong, #architecture .agent-step strong, #architecture .arch-retrieval-method strong,
#architecture .arch-fusion strong, #architecture .arch-snapshot strong, #architecture .arch-assessment h3,
#architecture .architecture-branch h3 { color: var(--text)!important; }
#architecture .arch-source-note { left: 27%!important; top: 29px!important; color: var(--muted)!important; }

#architecture .arch-agent { top: 126px!important; left: 2%!important; right: 2%!important; }
#architecture .arch-agent .arch-component-heading h3 { background: var(--bg)!important; }
#architecture .arch-agent-track { column-gap: 3.2%!important; margin-top: 15px!important; }
#architecture .agent-step {
  height: 112px!important; padding: 14px 15px!important; border: 1px solid var(--line)!important;
  border-radius: 8px!important; background: rgba(255,253,249,.92)!important; box-shadow: 0 8px 18px rgba(38,43,46,.045)!important;
}
#architecture .agent-step::before { width: 3px!important; background: rgba(105,113,119,.48)!important; box-shadow: none!important; }
#architecture .agent-step:nth-child(3)::before { background: var(--accent)!important; box-shadow: none!important; }
#architecture .agent-step:nth-child(5)::before { background: var(--success)!important; }
#architecture .arch-step-index { color: var(--muted)!important; }
#architecture .arch-step-retrieve { background: rgba(91,92,136,.09)!important; border-color: rgba(91,92,136,.36)!important; }
#architecture .arch-step-retrieve strong { color: var(--accent)!important; }
#architecture .agent-step p { color: var(--muted)!important; }

#architecture .arch-evidence {
  top: 304px!important; left: 2%!important; width: 65%!important; padding: 18px 18px 16px!important;
  border: 1px solid rgba(91,92,136,.28)!important; border-radius: 10px!important;
  background: rgba(255,253,249,.94)!important; box-shadow: 0 12px 25px rgba(38,43,46,.055)!important;
}
#architecture .arch-evidence::before { inset: 0!important; z-index: -1!important; border: 0!important; border-radius: 10px!important; background: transparent!important; box-shadow: none!important; }
#architecture .arch-evidence-sources { margin-top: 13px!important; color: var(--muted)!important; }
#architecture .arch-evidence-sources span + span::before { background: var(--line)!important; }
#architecture .arch-retrieval-track { margin-top: 29px!important; }
#architecture .arch-retrieval-method { border: 1px solid var(--line)!important; border-left: 3px solid var(--accent)!important; border-radius: 6px!important; background: var(--surface)!important; }
#architecture .arch-retrieval-method:nth-child(2) { border-left-color: var(--success)!important; }
#architecture .arch-fusion, #architecture .arch-snapshot { min-height: 66px!important; border: 1px solid var(--line)!important; border-radius: 7px!important; background: var(--surface)!important; }
#architecture .arch-fusion { border-top: 2px solid var(--accent)!important; }
#architecture .arch-snapshot { border-top: 2px solid var(--success)!important; background: rgba(71,116,95,.055)!important; }
#architecture .arch-evidence-caption { margin-top: 16px!important; color: var(--muted)!important; }
#architecture .arch-loop-key { background: var(--accent)!important; box-shadow: none!important; }

#architecture .arch-assessment {
  top: 321px!important; left: 70%!important; width: 28%!important; min-height: 122px!important;
  padding: 17px 18px!important; border: 1px solid rgba(168,117,43,.42)!important; border-top: 2px solid var(--warning)!important;
  border-radius: 9px!important; background: #FBF7EE!important; box-shadow: 0 10px 20px rgba(168,117,43,.06)!important;
}
#architecture .arch-assessment .arch-small-label { color: var(--warning)!important; }
#architecture .arch-assessment p { color: #785D38!important; }
#architecture .arch-assessment p strong { color: var(--text)!important; }

#architecture .arch-admission-context { top: 516px!important; left: 4%!important; width: 24%!important; }
#architecture .arch-admission-context h3 { color: var(--text)!important; font-size: 19px!important; }
#architecture .arch-gate {
  top: 526px!important; left: calc(50% - 52px)!important; width: 104px!important; height: 104px!important;
}
#architecture .arch-gate-shape { width: 104px!important; height: 104px!important; color: var(--accent)!important; filter: none!important; }
#architecture .arch-gate::before { inset: 15px!important; background: rgba(91,92,136,.08)!important; }
#architecture .arch-gate strong { color: var(--accent)!important; font-size: 15px!important; }
#architecture .arch-gate span { color: var(--muted)!important; }
#architecture .arch-gate-criteria {
  top: 488px!important; left: 31%!important; width: 37%!important; min-height: 168px!important;
  padding: 15px 17px 13px!important; border: 1px solid rgba(91,92,136,.28)!important; border-top: 2px solid var(--accent)!important;
  border-radius: 9px!important; background: var(--surface)!important; box-shadow: 0 12px 26px rgba(38,43,46,.055)!important;
}
#architecture .arch-gate-criteria .arch-small-label { color: var(--accent)!important; }
#architecture .arch-criteria-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 15px; margin: 13px 0 0; padding: 0; list-style: none; }
#architecture .arch-criteria-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 7px; align-items: start; padding: 9px 0; border-top: 1px solid var(--line-soft); }
#architecture .arch-criteria-list li > span { color: var(--muted); font: 10px var(--mono); }
#architecture .arch-criteria-list strong { display: block; color: var(--text); font-size: 12px; line-height: 1.35; font-weight: 580; }
#architecture .arch-criteria-list small { display: block; grid-column: 2; margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.4; }

#architecture .arch-outcomes { top: 705px!important; left: 4%!important; right: 4%!important; gap: 10%!important; }
#architecture .architecture-branch { min-height: 104px; padding: 16px 18px 14px!important; border: 1px solid var(--line)!important; border-top: 2px solid var(--warning)!important; border-radius: 9px!important; background: rgba(255,253,249,.9)!important; box-shadow: 0 10px 21px rgba(38,43,46,.05)!important; }
#architecture .arch-coding { border-top-color: var(--success)!important; background: rgba(71,116,95,.055)!important; }
#architecture .architecture-branch p { color: var(--muted)!important; }
#architecture .arch-route-list code, #architecture .arch-route-list > span { color: var(--muted)!important; }
#architecture .arch-coding .arch-route-list code { color: var(--success)!important; }
#architecture .arch-canvas-footnote { position: absolute; left: 2%; right: 2%; bottom: 10px; margin: 0!important; padding: 12px 0 0!important; border-top: 1px solid var(--line-soft)!important; color: var(--muted)!important; }

@media (max-width: 1100px) and (min-width: 901px) {
  #architecture .arch-canvas { height: 820px!important; }
  #architecture .arch-agent { top: 126px!important; }
  #architecture .arch-evidence { top: 304px!important; width: 63%!important; }
  #architecture .arch-assessment { left: 69%!important; width: 29%!important; }
  #architecture .arch-gate-criteria { left: 30%!important; width: 39%!important; }
  #architecture .arch-outcomes { top: 690px!important; }
}

@media (max-width: 900px) {
  #architecture .arch-canvas { height: auto!important; min-height: 0!important; overflow: visible!important; border-radius: 10px!important; background: linear-gradient(145deg, #FFFDF9, #F0F0EB)!important; }
  #architecture .arch-canvas::before { opacity: .18!important; }
  #architecture .arch-canvas-rail { padding: 16px 17px 0!important; }
  #architecture .arch-source, #architecture .arch-source-note, #architecture .arch-agent, #architecture .arch-evidence, #architecture .arch-assessment, #architecture .arch-admission-context, #architecture .arch-gate, #architecture .arch-gate-criteria, #architecture .arch-outcomes { position: relative!important; inset: auto!important; width: auto!important; }
  #architecture .arch-source { width: calc(100% - 34px)!important; margin: 20px 17px 0!important; }
  #architecture .arch-source-note { margin: 13px 17px 28px!important; }
  #architecture .arch-agent, #architecture .arch-evidence { margin-inline: 17px!important; }
  #architecture .arch-agent-track { margin-top: 15px!important; }
  #architecture .agent-step { height: auto!important; min-height: 64px!important; box-shadow: 0 7px 15px rgba(38,43,46,.045)!important; }
  #architecture .arch-evidence { padding: 17px!important; }
  #architecture .arch-assessment { margin: 0 17px!important; }
  #architecture .arch-admission-context { margin: 31px 17px 0!important; text-align: center; }
  #architecture .arch-gate { width: 112px!important; height: 112px!important; margin: 23px auto!important; }
  #architecture .arch-gate-shape { width: 112px!important; height: 112px!important; }
  #architecture .arch-gate-criteria { margin: 0 17px 32px!important; padding: 16px 17px 13px!important; }
  #architecture .arch-criteria-list { grid-template-columns: 1fr 1fr; }
  #architecture .arch-outcomes { margin: 0 17px!important; gap: 18px!important; }
  #architecture .architecture-branch { min-height: 0; }
  #architecture .arch-canvas-footnote { position: relative!important; left: auto; right: auto; bottom: auto; margin: 26px 17px 0!important; }
}

@media (max-width: 460px) {
  #architecture .arch-criteria-list { grid-template-columns: 1fr; }
  #architecture .arch-gate-criteria { margin-bottom: 28px!important; }
  #architecture .arch-outcomes { grid-template-columns: 1fr!important; }
}

/* Final measured layout: keep the evidence lane, admission review, and outcomes
   in separate rows so none of the fixed-coordinate diagram surfaces collide. */
@media (min-width: 901px) {
  #architecture .arch-canvas { height: 930px!important; }
  #architecture .arch-connectors { height: 885px!important; }

  #architecture .arch-evidence { top: 304px!important; left: 2%!important; width: 65%!important; }
  #architecture .arch-retrieval-track {
    grid-template-columns: 42% 22.3% 31%!important;
    align-items: center!important;
    margin-top: 22px!important;
  }
  #architecture .arch-retrieval-inputs {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)!important;
    gap: 8px!important;
  }
  #architecture .arch-retrieval-method { height: 56px!important; min-width: 0!important; padding: 8px 9px!important; }
  #architecture .arch-retrieval-method span { font-size: 10px!important; }
  #architecture .arch-retrieval-method strong { font-size: 12px!important; }
  #architecture .arch-evidence-caption { margin-top: 12px!important; }

  #architecture .arch-assessment { top: 321px!important; left: 70%!important; width: 28%!important; }
  #architecture .arch-admission-context { top: 535px!important; left: 4%!important; width: 23%!important; }
  #architecture .arch-gate { top: 568px!important; left: calc(84% - 52px)!important; }
  #architecture .arch-gate-criteria {
    top: 535px!important;
    left: 31%!important;
    width: 39%!important;
    overflow: visible!important;
  }
  #architecture .arch-gate-criteria::after {
    content: "";
    position: absolute;
    top: calc(50% - .5px);
    left: 100%;
    width: clamp(48px, 8vw, 118px);
    height: 1px;
    background: rgba(91,92,136,.46);
    pointer-events: none;
  }
  #architecture .arch-outcomes { top: 770px!important; left: 4%!important; right: 4%!important; gap: 10%!important; }
  #architecture .arch-route-policy { top: 510px!important; }
  #architecture .arch-route-human { top: 724px!important; right: 4%!important; }

  #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(7) {
    d: path("M940 465 V560")!important;
  }
  #architecture .arch-wire-branch>path:nth-child(1) { d: path("M940 680 V744 H274 V762")!important; }
  #architecture .arch-wire-branch>path:nth-child(2) { d: path("M940 680 V744 H845 V762")!important; }
  #architecture .arch-junction { cx: 940!important; cy: 744!important; }

  #architecture .arch-canvas-footnote {
    position: relative!important;
    inset: auto!important;
    margin: 18px 0 0!important;
    padding: 16px 18px 0!important;
    border-top: 1px solid var(--line-soft)!important;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  #architecture .arch-canvas { height: 930px!important; }
  #architecture .arch-evidence { width: 65%!important; }
  #architecture .arch-assessment { left: 70%!important; width: 28%!important; }
  #architecture .arch-gate-criteria { left: 31%!important; width: 39%!important; }
}

@media (max-width: 900px) {
  #architecture .arch-canvas-footnote {
    position: relative!important;
    inset: auto!important;
    margin: 26px 17px 0!important;
    padding: 16px 0 0!important;
  }
}

/* A real, inspectable run adds substance beneath the abstract system map. */
#architecture .arch-real-trace {
  position: relative;
  margin-top: 56px;
  padding: 28px 30px 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(115deg, rgba(255,253,249,.96), rgba(243,242,236,.88));
  box-shadow: 0 14px 34px rgba(38,43,46,.045);
}
#architecture .arch-trace-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  padding-bottom: 21px;
  border-bottom: 1px solid var(--line-soft);
}
#architecture .arch-trace-kicker,
#architecture .arch-trace-index {
  color: var(--accent);
  font: 10px/1.5 var(--mono);
  letter-spacing: .1em;
}
#architecture .arch-trace-heading h2 {
  margin: 7px 0 0;
  color: var(--text);
  font-size: clamp(21px, 2.1vw, 28px);
  font-weight: 560;
  line-height: 1.35;
  letter-spacing: -.035em;
}
#architecture .arch-trace-heading p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}
#architecture .arch-trace-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) minmax(0,.95fr) minmax(0,1fr);
  align-items: start;
  gap: 12px;
  padding-top: 17px;
}
#architecture .arch-trace-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 202px;
  flex-direction: column;
  align-items: flex-start;
  padding: 15px 15px 14px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255,254,250,.78);
}
#architecture .arch-trace-card::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 20px;
  width: 1px;
  height: 17px;
  background: var(--line);
}
#architecture .arch-trace-signals { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; }
#architecture .arch-trace-signals span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  border: 1px solid var(--line-soft);
  border-radius: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.2;
  white-space: nowrap;
}
#architecture .arch-trace-signals i { color: var(--success); font-size: 10px; font-style: normal; }
#architecture .arch-trace-issue { border-top: 2px solid rgba(91,92,136,.72); }
#architecture .arch-trace-evidence { border-top: 2px solid var(--accent); }
#architecture .arch-trace-assessment { border-top: 2px solid var(--warning); }
#architecture .arch-trace-decision { border-top: 2px solid var(--success); }
#architecture .arch-trace-repo {
  margin-top: 16px;
  color: var(--muted);
  font-size: 11px;
}
#architecture .arch-trace-repo b { margin-left: 5px; color: var(--text); font-family: var(--mono); font-weight: 500; }
#architecture .arch-trace-title {
  margin-top: 10px;
  color: var(--text);
  font-size: 14px;
  font-weight: 560;
  line-height: 1.55;
  text-decoration: none;
}
#architecture .arch-trace-title:hover,
#architecture .arch-trace-links a:hover,
#architecture .arch-trace-eval-link:hover,
#architecture .arch-trace-bottom a:hover { color: var(--accent); }
#architecture .arch-trace-foot { margin-top: auto; padding-top: 13px; color: var(--muted); font-size: 10px; }
#architecture .arch-trace-count { margin-top: 11px; color: var(--text); font: 500 25px/1.1 var(--mono); letter-spacing: -.05em; }
#architecture .arch-trace-count small { color: var(--muted); font: 11px/1.3 var(--sans); letter-spacing: 0; }
#architecture .arch-trace-distribution {
  display: flex;
  width: 100%;
  height: 7px;
  gap: 2px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 5px;
  background: var(--line-soft);
}
#architecture .arch-trace-distribution span { flex: var(--evidence-share) 1 0; border-radius: 5px; }
#architecture .arch-trace-distribution [data-evidence-kind="issue"] { background: #a7a5b9; }
#architecture .arch-trace-distribution [data-evidence-kind="comment"] { background: #7778a2; }
#architecture .arch-trace-distribution [data-evidence-kind="code"] { background: #719580; }
#architecture .arch-trace-distribution [data-evidence-kind="doc"] { background: #c49b5c; }
#architecture .arch-trace-mix { display: flex; flex-wrap: wrap; gap: 6px 11px; margin-top: 13px; }
#architecture .arch-trace-mix span { color: var(--muted); font-size: 10px; white-space: nowrap; }
#architecture .arch-trace-mix b { margin-right: 3px; color: var(--accent); font: 10px var(--mono); }
#architecture .arch-trace-links { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 12px; }
#architecture .arch-trace-links a {
  max-width: 100%;
  padding: 4px 6px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius: 4px;
  color: var(--text);
  font: 9px/1.35 var(--mono);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#architecture .arch-trace-evidence-detail { width: 100%; margin: 15px 0 0; padding-top: 11px; border-top: 1px solid var(--line-soft); }
#architecture .arch-trace-evidence-detail summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 10px;
  cursor: pointer;
  list-style: none;
}
#architecture .arch-trace-evidence-detail summary::-webkit-details-marker { display: none; }
#architecture .arch-trace-evidence-detail summary::after { content: "+"; color: var(--accent); font: 15px/1 var(--mono); }
#architecture .arch-trace-evidence-detail[open] summary::after { content: "−"; }
#architecture .arch-trace-evidence-detail summary b { margin-left: auto; color: var(--muted); font: 9px var(--mono); font-weight: 400; white-space: nowrap; }
#architecture .arch-trace-evidence-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin-top: 10px; }
#architecture .arch-trace-evidence-list a {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  padding: 7px 8px;
  border: 1px solid var(--line-soft);
  border-radius: 4px;
  background: rgba(255,255,255,.52);
  color: var(--text);
  font-size: 9px;
  line-height: 1.45;
  text-decoration: none;
}
#architecture .arch-trace-evidence-list a:hover { border-color: rgba(91,92,136,.45); background: #fffefa; }
#architecture .arch-trace-evidence-list small { color: var(--accent); font: 8px/1.2 var(--mono); letter-spacing: .04em; }
#architecture .arch-trace-evidence-list span { overflow-wrap: anywhere; }
#architecture .arch-trace-verdict,
#architecture .arch-trace-route { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 8px; }
#architecture .arch-trace-verdict { margin-top: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: 11px; }
#architecture .arch-trace-verdict + .arch-trace-verdict { margin-top: 9px; }
#architecture .arch-trace-verdict b { font-size: 11px; font-weight: 570; }
#architecture .arch-trace-verdict .trace-pass { color: var(--success); }
#architecture .arch-trace-verdict .trace-wait { color: var(--warning); }
#architecture .arch-trace-assessment > p,
#architecture .arch-trace-decision > p { margin: auto 0 0; padding-top: 12px; color: var(--muted); font-size: 10px; line-height: 1.65; }
#architecture .arch-trace-route { margin-top: 13px; color: var(--muted); font-size: 10px; }
#architecture .arch-trace-route + .arch-trace-route { margin-top: 8px; }
#architecture .arch-trace-route code { color: var(--text); font: 10px var(--mono); white-space: nowrap; }
#architecture .arch-trace-route:first-of-type code { color: var(--warning); }
#architecture .arch-trace-route:nth-of-type(3) code { color: var(--success); }
#architecture .arch-trace-checks { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 11px; }
#architecture .arch-trace-checks span {
  padding: 3px 5px;
  border: 1px solid rgba(172,113,47,.2);
  border-radius: 3px;
  background: rgba(191,138,65,.07);
  color: #87581e;
  font-size: 8px;
  line-height: 1.3;
}
#architecture .arch-trace-decision > p b { color: var(--warning); font-weight: 560; }
#architecture .arch-trace-decision > p span { margin-left: 5px; color: var(--muted); }
#architecture .arch-trace-eval-link { margin-top: 8px; color: var(--accent); font-size: 10px; text-decoration: none; }
#architecture .arch-trace-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}
#architecture .arch-trace-bottom a { flex: 0 0 auto; color: var(--text); text-decoration: none; }
#architecture .arch-trace-bottom .icon-arrow { display: inline-block; margin-left: 4px; }

@media (min-width: 901px) {
  #architecture .arch-trace-card:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -10px;
    width: 7px;
    height: 7px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid var(--accent);
    border-right: 1px solid var(--accent);
    pointer-events: none;
  }
}

@media (max-width: 900px) {
  #architecture .arch-real-trace { margin-top: 42px; padding: 24px 21px 19px; }
  #architecture .arch-trace-heading { align-items: flex-start; flex-direction: column; gap: 11px; }
  #architecture .arch-trace-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  #architecture .arch-trace-card { min-height: 190px; }
  #architecture .arch-trace-card::before { display: none; }
  #architecture .arch-trace-evidence-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  #architecture .arch-real-trace { margin-top: 34px; padding: 21px 15px 16px; border-radius: 10px; }
  #architecture .arch-trace-heading h2 { font-size: 22px; }
  #architecture .arch-trace-heading p br { display: none; }
  #architecture .arch-trace-grid { grid-template-columns: minmax(0,1fr); gap: 9px; padding-top: 13px; }
  #architecture .arch-trace-card { min-height: 0; padding: 14px; }
  #architecture .arch-trace-repo { margin-top: 10px; }
  #architecture .arch-trace-foot,
  #architecture .arch-trace-links,
  #architecture .arch-trace-assessment > p,
  #architecture .arch-trace-decision > p { margin-top: 11px; padding-top: 0; }
  #architecture .arch-trace-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  #architecture .arch-trace-card,
  #architecture .arch-trace-links a,
#architecture .arch-trace-evidence-list a,
  #architecture .arch-trace-title,
  #architecture .arch-trace-bottom a { transition: none!important; }
}

/* ARCHITECTURE FLOW V2
   One measured desktop grid, short connector ports, and a still evidence lane.
   The graph explains the sequence; the cards carry the detail. */
#architecture .arch-canvas {
  height: 900px!important;
  overflow: hidden!important;
  border-radius: 12px!important;
  background: linear-gradient(135deg, #fffefa 0%, #f6f4ef 58%, #eef1ed 100%)!important;
}
#architecture .arch-canvas::before {
  opacity: .18!important;
  background-image: linear-gradient(rgba(91,92,136,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(91,92,136,.07) 1px, transparent 1px)!important;
  background-size: 42px 42px!important;
  mask-image: linear-gradient(to bottom, black 0%, rgba(0,0,0,.34) 82%, transparent 100%)!important;
}
#architecture .arch-atmosphere,
#architecture .arch-halo,
#architecture .arch-orbit { display:none!important; }
#architecture .arch-connectors {
  inset: 0!important;
  z-index: 1!important;
  width: 100%!important;
  height: 900px!important;
  opacity: 1!important;
  pointer-events: none!important;
}
#architecture .arch-wire,
#architecture .arch-wire path {
  filter: none!important;
  stroke-dasharray: none!important;
  stroke-linecap: round!important;
  stroke-linejoin: round!important;
  animation: none!important;
}
#architecture .arch-wire { stroke: rgba(91,92,136,.48)!important; stroke-width: 1.25!important; }
#architecture .arch-wire path { vector-effect: non-scaling-stroke; }
#architecture .arch-wire-evidence { display:none!important; }
#architecture .arch-wire-branch { stroke: rgba(105,113,119,.60)!important; opacity: 1!important; }
#architecture .arch-wire-policy { stroke: rgba(91,92,136,.52)!important; }
#architecture .arch-junction { fill: #5b5c88!important; filter:none!important; }

/* Fixed ports are inset from every border by at least 10px. */
#architecture .arch-wire>path:nth-child(1) { d:path("M163 104 V124")!important; }
#architecture .arch-wire>path:nth-child(2) { d:path("M234 225 H247")!important; }
#architecture .arch-wire>path:nth-child(3) { d:path("M442 225 H455")!important; }
#architecture .arch-wire>path:nth-child(4) { d:path("M650 225 H663")!important; }
#architecture .arch-wire>path:nth-child(5) { d:path("M858 225 H871")!important; }
#architecture .arch-wire>path:nth-child(6) { d:path("M1048 272 V294")!important; }
#architecture .arch-wire>path:nth-child(7) { d:path("M920 454 V550")!important; }
#architecture .arch-wire-policy { display:block!important; }
#architecture .arch-wire-policy>path:nth-child(1) { d:path("M745 635 H888")!important; }
#architecture .arch-wire-branch>path:nth-child(1) { d:path("M960 700 V728 H289 V730")!important; }
#architecture .arch-wire-branch>path:nth-child(2) { d:path("M960 700 V728 H831 V730")!important; }
#architecture .arch-junction { cx:960!important; cy:744!important; }

#architecture .arch-source,
#architecture .arch-source-note,
#architecture .arch-agent,
#architecture .arch-evidence,
#architecture .arch-assessment,
#architecture .arch-admission-context,
#architecture .arch-gate,
#architecture .arch-gate-criteria,
#architecture .arch-outcomes { z-index:3!important; }
#architecture .arch-source {
  top:32px!important; left:4.3%!important; width:20.5%!important; min-height:68px!important;
  padding:12px 15px!important; box-sizing:border-box!important;
  border:1px solid rgba(91,92,136,.38)!important; border-radius:9px!important;
  background:#fffefa!important; box-shadow:0 8px 18px rgba(38,43,46,.06)!important;
}
#architecture .arch-source-note { top:42px!important; left:28.5%!important; width:24%!important; color:var(--muted)!important; }
#architecture .arch-agent { top:132px!important; left:4.3%!important; right:4.3%!important; height:136px!important; }
#architecture .arch-agent-track {
  display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:24px!important;
  margin-top:15px!important;
}
#architecture .agent-step {
  height:92px!important; min-width:0!important; box-sizing:border-box!important;
  padding:12px 13px!important; border-radius:8px!important;
  border:1px solid #d7d4cc!important; background:#fffefa!important; box-shadow:0 7px 15px rgba(38,43,46,.045)!important;
}
#architecture .agent-step::before { width:3px!important; background:rgba(105,113,119,.38)!important; box-shadow:none!important; }
#architecture .agent-step:nth-child(3)::before { background:var(--accent)!important; box-shadow:none!important; }
#architecture .agent-step:nth-child(5)::before { background:var(--success)!important; }
#architecture .agent-step p { color:var(--muted)!important; font-size:12px!important; }
#architecture .arch-evidence {
  top:304px!important; left:4.3%!important; width:61.6%!important; height:204px!important; box-sizing:border-box!important;
  padding:17px 18px 15px!important; border:1px solid rgba(91,92,136,.30)!important;
  border-radius:10px!important; background:#fffefa!important; box-shadow:0 10px 22px rgba(38,43,46,.05)!important;
}
#architecture .arch-evidence::before { display:none!important; }
#architecture .arch-evidence .arch-retrieval-track { margin-top:22px!important; }
#architecture .arch-evidence-caption { margin-top:12px!important; color:var(--muted)!important; }
#architecture .arch-assessment {
  top:304px!important; left:68.8%!important; width:26.8%!important; min-height:134px!important; box-sizing:border-box!important;
  padding:17px 18px!important; border:1px solid rgba(168,117,43,.42)!important; border-top:2px solid var(--warning)!important;
  border-radius:9px!important; background:#fbf7ee!important; box-shadow:0 8px 18px rgba(168,117,43,.05)!important;
}
#architecture .arch-assessment::after { display:none!important; }
#architecture .arch-assessment .arch-small-label { color:var(--warning)!important; }
#architecture .arch-assessment p { color:#785d38!important; }
#architecture .arch-admission-context { top:545px!important; left:4.3%!important; width:21%!important; }
#architecture .arch-admission-context::before,
#architecture .arch-gate-criteria::before { display:none!important; }
#architecture .arch-admission-context h3 { color:var(--text)!important; font-size:18px!important; line-height:1.55!important; }
#architecture .arch-gate-criteria {
  top:550px!important; left:28%!important; width:38.5%!important; height:170px!important; min-height:0!important; box-sizing:border-box!important;
  padding:15px 17px 12px!important; overflow:hidden!important; border:1px solid rgba(91,92,136,.30)!important;
  border-top:2px solid var(--accent)!important; border-radius:9px!important; background:#fffefa!important; box-shadow:0 10px 22px rgba(38,43,46,.05)!important;
}
#architecture .arch-criteria-list { grid-template-columns:1fr 1fr!important; gap:0 15px!important; margin-top:11px!important; }
#architecture .arch-criteria-list li { padding:8px 0!important; }
#architecture .arch-gate {
  top:570px!important; left:80.4%!important; width:110px!important; height:110px!important; margin:0!important;
}
#architecture .arch-gate-shape { width:110px!important; height:110px!important; color:var(--accent)!important; filter:none!important; }
#architecture .arch-gate::before { inset:15px!important; background:rgba(91,92,136,.08)!important; }
#architecture .arch-gate strong { color:var(--accent)!important; font-size:15px!important; }
#architecture .arch-gate span { color:var(--muted)!important; }
#architecture .arch-outcomes {
  top:740px!important; left:4.3%!important; right:4.3%!important; gap:5.4%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
#architecture .architecture-branch { min-height:112px!important; box-sizing:border-box!important; padding:15px 17px 13px!important; border-radius:9px!important; }
#architecture .arch-route-evidence { top:286px!important; left:9%!important; }
#architecture .arch-route-policy { top:519px!important; left:68%!important; }
#architecture .arch-route-human { top:706px!important; right:8%!important; }
#architecture .arch-canvas[data-focus] [data-arch-node] { opacity:1!important; filter:none!important; }
#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(n+2):nth-child(-n+5) {
  stroke:#626394!important; stroke-dasharray:none!important; animation:architecture-agent-trace 2.4s linear infinite!important;
}

@media (max-width:1100px) and (min-width:901px) {
  #architecture .arch-agent-track { gap:18px!important; }
  #architecture .arch-source-note { left:27%!important; width:27%!important; }
}

@media (max-width:900px) {
  #architecture .arch-canvas { height:auto!important; min-height:0!important; overflow:visible!important; padding-bottom:15px!important; }
  #architecture .arch-connectors { display:none!important; }
  #architecture .arch-route-label { display:none!important; }
  #architecture .arch-source,
  #architecture .arch-source-note,
  #architecture .arch-agent,
  #architecture .arch-evidence,
  #architecture .arch-assessment,
  #architecture .arch-admission-context,
  #architecture .arch-gate,
  #architecture .arch-gate-criteria,
  #architecture .arch-outcomes { position:relative!important; inset:auto!important; left:auto!important; top:auto!important; right:auto!important; width:auto!important; height:auto!important; }
  #architecture .arch-source { width:calc(100% - 34px)!important; margin:20px 17px 0!important; }
  #architecture .arch-source-note { margin:13px 17px 28px!important; }
  #architecture .arch-agent { margin:0 17px!important; }
  #architecture .arch-agent-track { display:grid!important; grid-template-columns:1fr!important; gap:15px!important; margin-top:15px!important; }
  #architecture .agent-step { height:auto!important; min-height:64px!important; }
  #architecture .arch-evidence { margin:34px 17px 0!important; min-height:0!important; padding:17px!important; }
  #architecture .arch-evidence .arch-retrieval-track { margin-top:22px!important; }
  #architecture .arch-assessment { margin:32px 17px 0!important; min-height:122px!important; }
  #architecture .arch-admission-context { margin:30px 17px 0!important; text-align:center!important; }
  #architecture .arch-gate { width:120px!important; height:120px!important; margin:23px auto!important; }
  #architecture .arch-gate-shape { width:120px!important; height:120px!important; }
  #architecture .arch-gate-criteria { margin:0 17px 32px!important; padding:16px 17px 13px!important; overflow:visible!important; }
  #architecture .arch-outcomes { display:grid!important; grid-template-columns:1fr!important; gap:24px!important; margin:0 17px!important; }
  #architecture .architecture-branch { min-height:0!important; }
  #architecture .arch-canvas::after { right:16px!important; bottom:13px!important; }
}
@media (max-width:460px) {
  #architecture .arch-criteria-list { grid-template-columns:1fr!important; }
}

/* The desktop poster is the visible map, while the semantic board remains a
   full-size transparent interaction layer over the same footprint. Keeping
   its geometry real preserves hover, keyboard focus, and screen-reader hit
   targets without contributing any pixels to the reference image. */
@media (min-width:901px) {
  #architecture > .arch-board {
    position:absolute!important;
    z-index:2!important;
    top:0!important;
    left:50%!important;
    width:min(100%,1322px)!important;
    max-width:1322px!important;
    min-width:0!important;
    height:min(1190px,90.0151vw)!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    clip:auto!important;
    clip-path:none!important;
    opacity:0!important;
    pointer-events:auto!important;
    visibility:visible!important;
    transform:translateX(-50%)!important;
  }
  #architecture > .arch-board > .arch-canvas {
    position:relative!important;
    width:100%!important;
    height:900px!important;
    margin-top:0!important;
    overflow:hidden!important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #architecture .arch-wire-evidence path { animation: none!important; stroke-dashoffset: 0!important; }
}

/* Keep the same admission port at the intermediate desktop width. */
@media (max-width:1100px) and (min-width:901px) {
  #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(6) { d:path("M1048 272 V294")!important; }
  #architecture .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch)>path:nth-child(7) { d:path("M920 454 V550")!important; }
}

/* The reference map uses calm, editorial routing. Focus still changes the
   highlighted surface, but it must never turn the connectors into moving
   dotted traces or send lines through card boundaries. Keep this final rule
   last so the historical visual experiments above cannot re-enable motion. */
#architecture .arch-connectors,
#architecture .arch-wire,
#architecture .arch-wire path,
#architecture .arch-wire-evidence,
#architecture .arch-wire-evidence path,
#architecture .arch-wire-branch,
#architecture .arch-canvas[data-focus] .arch-wire path,
#architecture .arch-canvas[data-focus="agent"] .arch-wire path {
  animation: none!important;
  stroke-dasharray: none!important;
  stroke-dashoffset: 0!important;
}

/* Keep the system map quiet and geometrically aligned in every focus state. */
#architecture .arch-canvas[data-focus="agent"] .arch-wire:not(.arch-wire-evidence):not(.arch-wire-branch) path:nth-child(n+2):nth-child(-n+5) {
  animation: none!important;
  stroke-dasharray: none!important;
}
#architecture .arch-wire-branch>path:nth-child(1) { d:path("M960 700 V728 H289 V730")!important; }
#architecture .arch-wire-branch>path:nth-child(2) { d:path("M960 700 V728 H831 V730")!important; }
#architecture .arch-junction { cx:960!important; cy:728!important; }
