/* Shared semantic diagrams: original source images + explicit evidence labels. */
.ir-visual{margin:22px 0;padding:18px;border:1px solid var(--line,#d5dae0);border-radius:12px;background:var(--bg-2,#f2f4f7);color:var(--ink,#182231);break-inside:avoid;min-width:0}
.irv-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:14px;line-height:1.4}
.irv-heading>span{font-size:10px;color:var(--amber,#8e6200);border:1px solid currentColor;border-radius:3px;padding:3px 6px;flex:none}
.irv-heading>strong{font-size:15px}
.ir-visual figcaption{font-size:12px;line-height:1.65;color:var(--ink-dim,#46546a);margin-top:12px;word-break:keep-all}
.irv-proof-note{font-size:10px!important;line-height:1.5;margin:9px 0 0!important;color:var(--muted,#596579);word-break:keep-all}
.irv-pair{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:9px;align-items:center}
.irv-drawing{position:relative;min-width:0;background:white;border:1px solid #dfe3e9;border-radius:6px;overflow:hidden;line-height:0}
.irv-drawing>img,.irv-crop{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;background:white}
.irv-crop{aspect-ratio:1;max-height:290px}
.irv-full{aspect-ratio:10200/10400}
.irv-source-door path{fill:none;stroke:#1f1b33;stroke-width:1.2px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.irv-source-focus{fill:none;stroke:#b57d00;stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.irv-rev{position:absolute;left:8px;top:8px;background:#111a2c;color:#fff;border-radius:3px;font:600 10px/1.4 var(--mono,monospace);padding:4px 7px;z-index:1}
.irv-focus-box{position:absolute;left:37%;top:54%;width:7%;height:7%;border:2px solid #bf7c00;box-shadow:0 0 0 3px #ffb80055;border-radius:2px}
.irv-arrow{font-size:25px;color:var(--amber,#996800);text-align:center}
.irv-recording{position:relative;background:white;border-radius:6px;border:1px solid #d5dae0;overflow:hidden}
.irv-recording>img{display:block;width:100%;height:auto}
.irv-pin{position:absolute;max-width:35%;font-size:10px;line-height:1.4;font-weight:750;color:#161d2a;background:#ffce4c;padding:4px 7px;border-radius:3px;border:1px solid #977120;box-shadow:0 3px 10px #0002}
.irv-pin::after{content:"";position:absolute;left:18px;top:100%;height:25px;width:1px;background:#bb8100}
.irv-pin-left{left:2%;top:11%}.irv-pin-center{left:30%;top:23%}.irv-pin-right{right:2%;top:8%}
.irv-recording-panorama .irv-pin-left{top:15%}.irv-recording-panorama .irv-pin-right{top:63%}
.irv-steps{padding:0!important;margin:0!important;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;counter-reset:none!important}
.irv-steps li{display:flex;flex-direction:column;gap:6px;padding:14px 12px;border:1px solid var(--line,#cad2db);border-radius:7px;background:var(--bg-3,#fff);min-width:0;word-break:keep-all}
.irv-steps li::before{content:none!important}
.irv-step-index{font:500 11px var(--mono,monospace);color:var(--amber,#8e6200)}
.irv-steps strong{font-size:14px;line-height:1.4}.irv-steps li>span:last-child{font-size:12px;line-height:1.5;color:var(--ink-dim,#43536a)}
.irv-relations{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:12px;align-items:center;position:relative}
.irv-node{border:1px solid var(--line-strong,#aebccd);border-radius:7px;background:var(--bg-3,#fff);padding:13px 12px;text-align:center;font-size:14px;font-weight:700;min-width:0}
.irv-node span{display:block;font-size:11px;font-weight:400;color:var(--ink-dim,#43536a);margin-top:6px}
.irv-node-main{border-color:var(--amber,#a27600);grid-column:2;grid-row:1 / span 2;padding:26px 10px;box-shadow:0 0 0 4px #ffb80011}
.irv-evidence{padding:0!important;margin:0!important;list-style:none;display:grid;gap:14px}
.irv-evidence li{border-left:3px solid var(--amber,#986d00);padding:0 0 0 15px;display:grid;grid-template-columns:95px 1fr;column-gap:16px;align-items:baseline}
.irv-evidence time{font:500 13px var(--mono,monospace);color:var(--amber,#986d00);grid-row:span 2}.irv-evidence strong{font-size:16px;line-height:1.5}.irv-evidence li>span{font-size:12px;color:var(--ink-dim,#43536a)}
.irv-compare,.irv-boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.irv-compare>div,.irv-boundaries>div{padding:18px;border:1px solid var(--line,#ccd4de);border-radius:7px;background:var(--bg-3,#fff)}
.irv-compare strong,.irv-boundaries strong{display:block;font-size:18px;margin:10px 0;color:var(--ink,#182231)}
.irv-compare span,.irv-boundaries span{font-size:11px;color:var(--ink-dim,#43536a)}.irv-compare p{font-size:13px;line-height:1.6;margin:0!important}
.irv-boundaries{grid-template-columns:repeat(3,minmax(0,1fr))}.irv-boundaries strong{font-size:14px}
.irv-scope-diagram svg{display:block;width:100%;max-height:90px;background:#fafbfc;border-radius:4px;margin:10px 0}
.irv-scope-diagram strong{font-size:14px;margin:6px 0}.irv-scope-diagram>div{padding:10px}
@media(max-width:560px){.ir-visual{padding:12px}.irv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.irv-relations{gap:6px}.irv-node{padding:12px 6px;font-size:12px}.irv-node span{font-size:10px}.irv-evidence li{grid-template-columns:1fr}.irv-evidence time{margin-bottom:5px}.irv-boundaries{grid-template-columns:1fr}.irv-pin{font-size:8px;padding:2px 4px}.irv-pin::after{height:15px}.irv-compare>div{padding:12px}.irv-compare strong{font-size:15px}}
@media print{
 .ir-visual{border:0.6pt solid #c7cdd6;border-radius:4px;background:#f8f9fa;color:#182231;padding:7pt;margin:7pt 0;break-inside:avoid}
 .irv-heading{margin-bottom:5pt;gap:8pt}.irv-heading>span{font-size:7.5pt;padding:1pt 4pt;color:#765500}.irv-heading>strong{font-size:10pt}
 .ir-visual figcaption{font-size:8pt;line-height:1.4;color:#35445b;margin-top:5pt}.irv-proof-note{font-size:7.5pt!important;color:#45566b;margin-top:5pt!important}
 .irv-drawing>img,.irv-crop{max-height:95pt}.irv-rev{font-size:7pt;padding:2pt 4pt;left:4pt;top:4pt}.irv-pair{gap:5pt;grid-template-columns:1fr 16pt 1fr}.irv-arrow{font-size:17pt}
 .irv-recording{max-width:280pt;margin:auto}.irv-recording>img{max-height:145pt;object-fit:contain}.irv-pin{font-size:7pt;padding:2pt 4pt}
 .irv-steps{gap:5pt;grid-template-columns:repeat(5,minmax(0,1fr))}.irv-steps li{padding:7pt 6pt;gap:3pt;background:#fff}.irv-step-index{font-size:7pt}.irv-steps strong{font-size:9pt}.irv-steps li>span:last-child{font-size:8pt}
 .irv-node{padding:7pt;font-size:10pt;background:#fff}.irv-node span{font-size:8pt}.irv-node-main{padding:12pt 6pt}.irv-relations{gap:7pt}
 .irv-scope{font-size:8pt;margin-top:5pt;gap:8pt}.irv-evidence{gap:9pt}.irv-evidence strong{font-size:13pt}.irv-evidence li>span{font-size:9pt}.irv-evidence time{font-size:10pt}
 .irv-compare>div,.irv-boundaries>div{padding:10pt;background:#fff}.irv-compare strong{font-size:14pt}.irv-compare p{font-size:10pt}.irv-compare span,.irv-boundaries span{font-size:9pt}.irv-boundaries strong{font-size:11pt}
}
