.cv-open{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;min-height:46px;padding:12px 20px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:14px;font-weight:500;transition:background .2s}
.cv-open:hover{background:var(--panel)}
.cv-open svg{width:18px;height:18px;flex-shrink:0}
body.cv-viewer-open{overflow:hidden}
#cv-viewer{inset:0;margin:auto;width:calc(100% - 64px);max-width:1050px;height:88dvh;max-height:94dvh;padding:0;border:1px solid var(--line);background:var(--bg);color:var(--ink);overflow:hidden}
#cv-viewer[open]{display:flex;flex-direction:column}
#cv-viewer h2{margin:0;font-size:25px;letter-spacing:-.7px}
#cv-viewer .viewer-header{flex-shrink:0}
#cv-viewer .viewer-actions{display:flex;align-items:center;gap:10px}
#cv-download{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);font-size:14px;color:var(--ink)}
#cv-download[hidden]{display:none}
#cv-download:hover{border-color:var(--accent)}
#cv-close{min-width:44px;min-height:44px;font-size:22px}
.cv-pages{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px;background:var(--panel)}
.cv-page{display:block;width:100%;max-width:850px;height:auto;margin:0 auto 20px;background:#fff;box-shadow:0 3px 14px #0002}
.cv-page:last-of-type{margin-bottom:0}
.cv-status{padding:25px;text-align:center}
.cv-accessible-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:pre-wrap;border:0}
@media(max-width:600px){#cv-viewer{width:calc(100% - 16px);height:92dvh}#cv-viewer h2{font-size:21px}#cv-viewer .viewer-header{align-items:center;gap:8px;flex-wrap:nowrap;padding:12px}#cv-viewer .viewer-actions{max-width:none;gap:7px}#cv-download{font-size:12px;padding:8px;min-height:40px}#cv-close{min-width:40px;min-height:40px}.cv-pages{padding:10px}}
