.ev-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);flex-direction:column}
.ev-viewer[open]{display:flex}
.ev-viewer::backdrop{background:#10242c}
.ev-head{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fff;border-bottom:3px double #b8c8c5;flex:none}
.ev-titles{flex:1;min-width:0}.ev-titles h2{font-size:1.1rem;margin:0;font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.ev-sub{margin:2px 0 0;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.ev-back,.ev-close{min-height:44px;min-width:44px;padding:8px 16px;border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--ink);font-weight:600;font-size:.9rem}
.ev-close{background:var(--brand);color:#fff;border-color:var(--brand)}
.ev-back:hover{border-color:var(--teal);background:#f4f8f6}
.ev-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;background:#e9efec}
.ev-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.ev-image img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 4px 24px #18313b25}
.ev-pdf{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;max-width:100%;background:#eef1ef}
.ev-pdf-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;background:white}
.ev-pdf-toolbar button,.ev-pdf-toolbar input,.ev-pdf-toolbar select{min-height:44px}
.ev-pdf-page-label{display:flex;align-items:center;gap:5px}.ev-pdf-page-label input{width:65px;margin:0}
.ev-pdf-toolbar select{width:auto;margin:0}.ev-pdf-status{margin:0;padding:4px 12px;color:var(--muted);font-size:.85rem}
.ev-pdf-pages{flex:1;min-height:220px;overflow:auto;padding:12px;max-width:100%}
.ev-pdf-pages canvas{display:block;margin:0 auto;background:white;box-shadow:0 2px 16px #18313b22}
.ev-pdf-text{padding:10px 14px;background:white}.ev-pdf-text summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.ev-text{max-width:860px;width:100%;margin:0 auto;padding:20px 16px}
.ev-note{background:#f3efe4;color:#71582b;border-radius:6px;padding:12px 16px;font-size:.85rem}
.ev-pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.95rem;line-height:1.7;background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;margin:0}
.ev-state{max-width:560px;margin:8vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left}
.ev-error{border-left:4px solid #a33434}
.ev-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.9rem;margin:16px 0}.ev-meta dt{font-weight:600;color:var(--muted)}.ev-meta dd{margin:0;overflow-wrap:anywhere}
.ev-bar{padding:12px 18px;background:#fff;border-top:1px solid var(--line);flex:none}
.ev-state .ev-bar{padding:0;border:0;margin-top:8px}
button.ev-open,button.source-chip,.file-title,.pack-open{min-height:44px}
button.source-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
button.ev-open{display:inline-flex;align-items:center}
.pack-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.pack-row .check{flex:1}
.pack-row .check{min-width:0}.pack-row .check span{overflow-wrap:anywhere}
.source-chip.missing{background:#f4eedf;border-color:#e0c994;color:var(--warn)}
@media(max-width:760px){.ev-head{padding:8px 10px;gap:8px}.ev-back{padding:8px 10px}.ev-titles h2{font-size:.95rem}.ev-pre{padding:14px}}
.ev-doctitle{margin:2px 0 0;font-size:.85rem;color:var(--ink);overflow-wrap:anywhere}
