#visual-open{border-color:#8a9a78;color:#315740}
.visual-drawer{position:fixed;z-index:38;inset:0 0 0 auto;width:min(390px,100vw);padding:20px 18px 24px;background:#f8f8f0;border-left:1px solid #cfd7c3;box-shadow:-12px 0 38px #1d321b1c;overflow:auto;transform:translateX(105%);transition:transform .2s ease;font:13px/1.65 "PingFang SC","Microsoft YaHei",sans-serif;color:#283b32}
.visual-drawer.open{transform:translateX(0)}
.visual-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #d8dfcf;padding-bottom:12px}
.visual-drawer-head small{font-size:9px;letter-spacing:1.1px;color:#8d987e}
.visual-drawer-head h2{font:600 21px/1.4 "Songti SC","STSong",serif;margin:3px 0 0}
.visual-drawer button,.visual-card button{font:12px/1.4 "PingFang SC","Microsoft YaHei",sans-serif;border:1px solid #c8d3bd;border-radius:3px;background:#fffef8;color:#365841;padding:7px 10px;cursor:pointer}
.visual-drawer button:hover,.visual-card button:hover{background:#eaf0e2}
.visual-drawer-head button{font-size:23px;line-height:1;padding:4px 9px;border:0;background:transparent}
.visual-drawer p{font-size:11px;color:#73806e;line-height:1.7}
.visual-anchor-label{display:grid;gap:5px;margin:16px 0 12px;color:#68755f;font-size:11px}
.visual-anchor-label select{min-width:0;width:100%;font:12px/1.5 "PingFang SC","Microsoft YaHei",sans-serif;border:1px solid #cdd6c5;background:#fffef8;padding:8px;color:#283b32}
.visual-toolbar-actions{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}
.visual-card{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;margin:12px 0;padding:9px;background:#fffef9;border:1px solid #d8dfca;border-radius:5px}
.visual-card img{width:105px;height:80px;object-fit:contain;background:#f1f2e9;border:1px solid #e3e7db}
.visual-card h3{font:600 14px/1.4 "Songti SC","STSong",serif;margin:1px 0 5px}
.visual-card p{margin:0 0 8px;font-size:10px}
.visual-card small{display:block;color:#8b967c;font-size:9px;margin-top:6px}
.visual-empty{padding:12px;border-left:2px solid #91a37e;background:#eef1e8}
.visual-block{margin:18px 0 25px;border:1px solid #aebb9e;background:#fdfef8;border-radius:3px;overflow:hidden;scroll-margin-top:86px;break-inside:avoid}
.visual-block-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#e9f0df;border-bottom:1px solid #d2dfc0;font:12px/1.5 "PingFang SC","Microsoft YaHei",sans-serif}
.visual-block-head strong{font:600 15px/1.4 "Songti SC","STSong",serif;flex:1}
.visual-block-head button{font:11px/1.3 "PingFang SC","Microsoft YaHei",sans-serif;padding:4px 7px;border:1px solid #c6d4b6;background:#f7f8f1;color:#4c6941;cursor:pointer}
.visual-block-intro{margin:0;padding:8px 12px 3px;color:#708261;font:11px/1.6 "PingFang SC","Microsoft YaHei",sans-serif}
.visual-frame-container{position:relative;min-height:130px;background:#fffef8}
.visual-frame-container iframe{width:100%;height:560px;display:block;border:0;background:#fffef8}
.visual-frame-status{padding:7px 12px;color:#79876c;font:10px/1.5 "PingFang SC","Microsoft YaHei",sans-serif}
.visual-frame-status.error{background:#fff0e8;color:#a0472c}
.visual-block-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 11px;border-top:1px solid #e0e7d8;background:#f5f7ef;color:#879477;font:9px/1.5 "PingFang SC","Microsoft YaHei",sans-serif}
.visual-block-foot label{display:flex;align-items:center;gap:5px;white-space:nowrap}
.visual-block-foot input{accent-color:#325940}
.visual-print-fallback{display:none}
.visual-block[aria-busy="true"] .visual-frame-container{min-height:180px}
.visual-target-active{outline:2px dashed #92a67d!important;outline-offset:3px}
@media(max-width:720px){.visual-drawer{padding:16px 14px}.visual-card{grid-template-columns:86px minmax(0,1fr);gap:9px}.visual-card img{width:86px;height:72px}.visual-frame-container iframe{height:480px}.visual-block-head{flex-wrap:wrap}.visual-block-head strong{min-width:150px}}
@media print{
  #visual-open,.visual-drawer,.visual-block-head button,.visual-block-foot label,.visual-frame-status,.visual-frame-container{display:none!important}
  #print-output .visual-block{margin:7mm 0;padding:0;border:1px solid #aab59f;background:white;break-inside:avoid}
  #print-output .visual-block-head{padding:2mm 3mm;background:white;border-bottom:1px solid #ccc}
  #print-output .visual-block-intro{padding:2mm 3mm;color:#333}
  #print-output .visual-print-fallback{display:flex;align-items:center;gap:4mm;margin:0;padding:2mm 3mm;break-inside:avoid}
  #print-output .visual-print-fallback img{width:34mm;height:25mm;object-fit:contain;mix-blend-mode:normal}
  #print-output .visual-print-fallback figcaption{font-size:8.5pt;color:#333}
  #print-output .visual-block-foot{padding:1mm 3mm;background:white}
}

/* Dynamic explanations replace only audited prose blocks; originals remain reversible. */
.visual-reading-summary{border-left:3px solid #50755e;background:#edf2e7;padding:9px 12px;margin:4px 0 8px!important;font-size:13px;line-height:1.8}
.visual-original{border-top:1px dashed #becdb8;margin:4px 0 10px;font-size:12px}
.visual-original>summary{cursor:pointer;color:#527152;padding:7px 0;font-size:11px}
.visual-original[open]>.visual-original-body{padding-top:7px}
@media print{.visual-reading-summary{display:none}.visual-original>summary{display:none}.visual-original-body{display:block!important}}
.visual-reading-formula{margin:6px 0;padding:8px 12px;background:#f2f4e9;border:1px solid #dce4d1;overflow-x:auto;font-size:16px}.visual-reading-formula math{margin-right:16px}
