/* Appendix — memory policies generate context graphs */
.policyViz{display:grid;grid-template-columns:.9fr .95fr 1.15fr;gap:18px;flex:1;align-items:stretch;margin-top:4px;min-height:0}
.policyInput,.policyEngine,.policyGraph{border:1px solid var(--rule);border-radius:24px;background:var(--card);box-shadow:var(--shadow-soft);padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.policyEngine{background:linear-gradient(180deg,#fff,rgba(1,97,224,.035));border-color:rgba(1,97,224,.16)}.policyGraph{background:linear-gradient(135deg,rgba(1,97,224,.06),rgba(12,205,255,.07),#fff)}
.pvKicker{font:800 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.17em;color:var(--blue);text-transform:uppercase;margin-bottom:18px}
.docStack{display:flex;flex-direction:column;gap:14px;margin:auto 0}.docStack div{border:1px solid rgba(18,28,48,.08);border-radius:17px;background:rgba(255,255,255,.78);padding:18px;box-shadow:0 14px 28px rgba(15,23,42,.04)}
.docStack b{display:block;font:800 18px/1 Inter;letter-spacing:-.025em;color:var(--ink);margin-bottom:8px}.docStack p{font:500 13.5px/1.35 Inter;color:var(--muted)}
.policyEngine:before,.policyEngine:after{content:'→';position:absolute;top:50%;transform:translateY(-50%);font:800 30px/1 Inter;color:#b5bece}.policyEngine:before{left:-3px}.policyEngine:after{right:-3px}
.policyCard{border:1px solid rgba(18,28,48,.08);border-radius:16px;background:#fff;padding:14px 16px;margin-bottom:11px;box-shadow:0 12px 24px rgba(15,23,42,.035)}.policyCard.primary{border-color:rgba(1,97,224,.22);background:var(--grad-soft)}
.policyCard b{display:block;font:800 17px/1 Inter;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}.policyCard p{font:500 12.8px/1.32 Inter;color:var(--muted)}
.policyGraph svg{width:100%;height:auto;margin:auto 0}.policyGraph line{stroke:#0161E0;stroke-opacity:.24;stroke-width:2}.policyGraph circle{fill:#fff;stroke:#0161E0;stroke-opacity:.35;stroke-width:2}.policyGraph .core circle{fill:#eff7ff;stroke:#0161E0;stroke-opacity:.65}.policyGraph text{font:800 13px Inter;fill:#121c30;text-anchor:middle}.policyGraph .core text:first-of-type{font-size:16px}
.graphRules{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.graphRules span{font:800 11px/1 "JetBrains Mono";letter-spacing:.08em;color:var(--blue);border:1px solid rgba(1,97,224,.16);border-radius:999px;background:#fff;padding:9px 10px;text-transform:uppercase}
.policyTakeaway{margin-top:16px;border:1px solid rgba(1,97,224,.16);border-radius:18px;background:#fff;padding:16px 20px;font:600 18px/1.35 Inter;color:var(--ink-2);box-shadow:var(--shadow-soft)}.policyTakeaway b{color:var(--ink);font-weight:800}
