/* visual-sources.css: the Visual Sources tab (visual-sources.js), shared by every unit. */
.vs-panel{background:var(--white);margin-top:24px;border:1px solid var(--border2)}
.vs-tab-row{display:flex;flex-wrap:wrap;gap:4px;padding:12px 14px;border-bottom:1px solid var(--border)}
.vs-tab{background:none;border:1.5px solid var(--border);font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;cursor:pointer;transition:all .15s;color:var(--muted)}
.vs-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.vs-card{display:none;padding:24px 32px}
.vs-card.active{display:block}
.vs-card-src{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.vs-card-title{font-family:Lato,system-ui,sans-serif;letter-spacing:-.02em;font-size:1rem;margin-bottom:8px}
.vs-card-desc{font-size:.82rem;color:var(--mid);line-height:1.6;margin-bottom:12px;background:var(--paper);padding:10px 12px;border-left:3px solid var(--border2)}
.vs-source-img{display:block;width:auto;max-width:100%;max-height:80vh;margin:0 auto 24px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.1)}
.vs-multi-img{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.vs-img-wrap{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}
.vs-source-img-multi{max-height:55vh;width:100%;object-fit:contain;margin:0}
.vs-img-cap{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}
.vs-step-hdr{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.48rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:4px;margin-top:2px}
.vs-mc-q{font-size:.85rem;font-weight:600;margin-bottom:10px;line-height:1.55}
.vs-mc-option{display:block;width:100%;text-align:left;background:var(--white);border:1.5px solid var(--border);padding:10px 12px;margin-bottom:6px;font-family:inherit;font-size:.8rem;line-height:1.4;cursor:pointer;transition:all .15s}
.vs-mc-option:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}
.vs-mc-option.vs-mc-correct{background:#e8f5e9;border-color:#1a6825;color:#1a6825}
.vs-mc-option.vs-mc-wrong{background:#eef3f7;border-color:var(--red);color:var(--red)}
.vs-mc-explain{display:none;background:var(--paper);border:1px solid var(--border);border-left:3px solid #1a6825;padding:10px 12px;font-size:.8rem;line-height:1.55;color:var(--mid);margin-top:8px}
.vs-mc-explain.show{display:block}
.vs-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 2px}
.vs-btn{background:none;border:1.5px solid var(--ink);font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;cursor:pointer;transition:all .15s}
.vs-btn:hover{background:var(--ink);color:#fff}
.vs-btn-red{border-color:var(--red);color:var(--red)}
.vs-btn-red:hover{background:var(--red);color:#fff}
.vs-hipp-area{display:none;margin-top:18px;border-top:2px solid var(--border);padding-top:18px}
.vs-hipp-area.show{display:block}
.vs-hipp-section{margin-bottom:18px}
.vs-hipp-lbl{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-weight:700}
.vs-guide{font-size:.76rem;color:var(--muted);font-style:italic;line-height:1.6;margin-bottom:7px;padding-left:1.2em}
.vs-guide li{margin-bottom:2px}
.vs-hipp-input{width:100%;box-sizing:border-box;border:1.5px solid var(--border);padding:8px 10px;font-family:inherit;font-size:.8rem;line-height:1.5;resize:vertical;min-height:56px;margin-bottom:4px;transition:border-color .15s}
.vs-hipp-input:focus{border-color:var(--red);outline:none}
.vs-hipp-model{display:none;background:#e8f5e9;border:1px solid #1a6825;padding:10px 12px;font-size:.8rem;line-height:1.6;color:var(--mid);margin-top:4px}
.vs-hipp-model.show{display:block}
.vs-hipp-model-lbl{font-family:Lato,system-ui,sans-serif;font-weight:700;font-size:.46rem;letter-spacing:.14em;text-transform:uppercase;color:#1a6825;margin-bottom:4px}
.vs-img-src{font-size:.7rem;color:var(--muted);text-align:center;line-height:1.4}
:root[data-theme="dark"] .vs-mc-option.vs-mc-correct,:root[data-theme="dark"] .vs-hipp-model{background:rgba(70,190,130,.14);color:#e7ebf5}
@media(max-width:640px){.vs-card{padding:18px 16px}}
