/* R4.5 — design consolidation, screen-reader affordances and new narrative systems */
:root{--r45-bg:#061624;--r45-panel:#10283d;--r45-stroke:#345875;--r45-cyan:#83d7ed}
.r45-contract-bridge{display:grid;gap:12px;border-radius:14px;padding:17px;background:linear-gradient(145deg,#0b273a,#0b1e32);border:1px solid #3b718b}
.r45-contract-bridge>strong{font-size:14px;color:#c9f2ff}
.r45-contract-bridge p{font-size:13px;margin:0!important}
.r45-contract-bridge small{color:#a9cfe0;line-height:1.6}
.r45-bridge-options{display:flex;flex-wrap:wrap;gap:7px}
.r45-bridge-options button,.r45-actions button{color:#c8dff1;border:1px solid #3b5f7a;background:#102f48;border-radius:10px;padding:11px 13px;font-weight:650;font-size:12px;cursor:pointer;min-height:43px}
.r45-bridge-options button.active,.r45-bridge-options button:hover,.r45-actions button:hover{background:#236487;color:#fff;border-color:#82c6e6}
.r45-evidence{border-left:3px solid #c4a66c;padding:10px 15px;background:#152c3a;border-radius:0 10px 10px 0}
.r45-evidence strong{font-size:12px;color:#ebce9b;letter-spacing:.04em}
.r45-evidence p{font-size:13px;line-height:1.6}
.r45-joint{border-color:#4c7987;background:linear-gradient(155deg,#133c4a,#0d253b 68%);box-shadow:inset 0 1px #81d3eb15}
.r45-joint .r43-kicker{color:#9fe5d5}
.r45-joint h2{color:#e1faf7}
.r45-local-save{border:1px solid #3a5a76;border-radius:14px;background:#10283b;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:14px 18px;margin:0 0 18px}
.r45-local-save>div:first-child{display:grid;gap:5px;flex:1;min-width:220px}
.r45-local-save strong{font-size:13px;color:#e9f8ff}
.r45-local-save small{font-size:11px;color:#a7c0d5;line-height:1.6;max-width:530px}
.r45-actions{display:flex;gap:8px;flex-wrap:wrap}
.r45-toast{border-radius:10px;padding:11px 16px;background:#143f48;border:1px solid #448a96;color:#e7fbff;margin:0 0 10px}
.r45-roadmap{margin:26px 0;padding:24px 20px;border:1px solid #315672;border-radius:18px;background:linear-gradient(140deg,#10253b,#071725);color:#d9eefa}
.r45-roadmap .r2-card-head{margin-bottom:17px}
.r45-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.r45-chapter{border-radius:12px;border:1px solid #2c4b62;padding:13px 11px;background:#091b2c;display:grid;gap:7px;min-height:112px;align-content:start}
.r45-chapter.current{border-color:#447f92;background:linear-gradient(130deg,#163c50,#09263a)}
.r45-chapter>span{color:#86dcef;font-size:11px;font-weight:800;letter-spacing:.09em}
.r45-chapter strong{font-size:12px;line-height:1.35}
.r45-chapter small{color:#a2b9c7;font-size:10px}
.r45-archive-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 22px}
.r45-archive-stats>div{border:1px solid #2a546a;padding:16px;border-radius:12px;display:grid;gap:4px;background:#102b3e}
.r45-archive-stats strong{font-size:26px;color:#ecf9ff}
.r45-archive-stats small{font-size:11px;color:#a3cad7}
.r45-log{border-top:1px solid #31516c;padding:18px 0;display:grid;gap:9px}
.r45-log h3{margin:0!important;font-size:18px}
.r45-log p{margin:0!important;color:#bdd4e3;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.r45-log small{color:#9bbbbf}
.r43-toolbar button:focus-visible,.r45-actions button:focus-visible,.r45-bridge-options button:focus-visible{outline:3px solid #b2eaff;outline-offset:2px}
.r43-card,.r45-log{overflow-wrap:anywhere}
@media(max-width:950px){.r45-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.r45-local-save{display:block;padding:14px}.r45-actions{margin-top:12px}.r45-actions button{flex:1 1 140px}.r45-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.r45-roadmap{padding:15px}.r45-archive-stats{gap:6px}.r45-archive-stats>div{padding:12px 8px}.r45-archive-stats strong{font-size:20px}.r45-archive-stats small{font-size:10px}.r45-bridge-options button{flex:1 1 100%;text-align:left}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.r45-echo{border:1px solid #436b72;background:#0f313b;border-radius:13px;padding:15px 18px;margin-bottom:14px}.r45-echo p{margin:7px 0 0;color:#cde6e5;line-height:1.6;font-size:13px}
