.cv-modal-open{overflow:hidden}
.cv-ui dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:0;border-radius:8px;box-shadow:0 24px 90px #0005;max-width:none;max-height:none}
.cv-ui dialog::backdrop{background:#11181dcc;backdrop-filter:blur(5px)}
.cv-ui button{font:inherit;cursor:pointer;color:var(--ink)}
.cv-ui a:focus-visible,.cv-ui button:focus-visible,.cv-stage:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.cv-ui [hidden]{display:none!important}
.cv-close{width:44px;height:44px;flex:0 0 44px;background:transparent;border:1px solid var(--line);border-radius:5px;font-size:26px!important;line-height:1}
.cv-close:hover{color:var(--accent);border-color:var(--accent)}
.cv-download-dialog{width:min(500px,calc(100% - 36px));padding:28px!important}
.cv-download-heading{display:flex;align-items:start;gap:20px;justify-content:space-between}
.cv-download-heading h2{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:0}
.cv-download-description{font-size:15px;color:var(--muted);margin:18px 0 24px}
.cv-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cv-choice{padding:20px 17px;border:1px solid var(--accent);text-decoration:none;background:var(--white);display:flex;flex-direction:column;gap:12px;min-width:0}
.cv-choice:hover{background:var(--pale)}
.cv-choice-title{display:flex;justify-content:space-between;gap:10px;font-size:18px;font-weight:600}
.cv-choice-title>span{color:var(--accent);font:22px/1 var(--mono)}
.cv-choice-meta{color:var(--muted);font:11px/1.4 var(--mono)}
.cv-viewer{width:min(1100px,calc(100% - 48px));height:min(900px,calc(100dvh - 48px))}
.cv-viewer[open]{display:flex;flex-direction:column}
.cv-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px 12px}
.cv-viewer-heading h2{margin:0;font-size:19px;letter-spacing:-.4px;line-height:1.3}
.cv-document-info{margin:3px 0 0;font:11px/1.4 var(--mono);color:var(--muted)}
.cv-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 20px 14px;border-bottom:1px solid var(--line)}
.cv-language-group,.cv-zoom-group,.cv-file-actions{display:flex;align-items:center;gap:6px}
.cv-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 12px;background:var(--white);border:1px solid var(--line);border-radius:4px;text-decoration:none;font-size:12px;white-space:nowrap}
.cv-control:hover{border-color:var(--accent)}
.cv-control[aria-pressed="true"]{background:var(--pale);border-color:var(--accent);color:var(--ink)}
.cv-control:disabled{opacity:.4;cursor:default}
.cv-icon-control{width:38px;padding:4px;font-size:20px!important}
.cv-zoom-value{width:43px;font:11px/1.4 var(--mono);text-align:center}
.cv-save-pdf{background:var(--accent);border-color:var(--accent);color:var(--white)}
.cv-save-pdf:hover{background:var(--ink);border-color:var(--ink)}
.cv-stage{min-height:0;flex:1;overflow:auto;padding:24px;background:#343a40;overscroll-behavior:contain;scroll-behavior:auto}
.cv-pages{--cv-zoom:1;width:calc(100% * var(--cv-zoom));max-width:calc(760px * var(--cv-zoom));margin:0 auto}
.cv-pages[data-zoom="50"]{--cv-zoom:.5}.cv-pages[data-zoom="75"]{--cv-zoom:.75}.cv-pages[data-zoom="125"]{--cv-zoom:1.25}.cv-pages[data-zoom="150"]{--cv-zoom:1.5}.cv-pages[data-zoom="175"]{--cv-zoom:1.75}.cv-pages[data-zoom="200"]{--cv-zoom:2}
.cv-page{margin:0 0 24px;background:white;box-shadow:0 3px 18px #0004}
.cv-page:last-child{margin-bottom:0}.cv-page img{width:100%;height:auto;max-width:none}
.cv-loading,.cv-preview-error{color:white;font-size:14px;text-align:center;margin:32px auto;max-width:420px}
@media(max-width:800px){.cv-toolbar{justify-content:start}.cv-language-group{flex:1}.cv-file-actions{margin-left:auto}}
@media(max-width:560px){.cv-viewer{width:calc(100% - 20px);height:calc(100dvh - 24px)}.cv-viewer-heading{padding:12px}.cv-viewer-heading h2{font-size:17px}.cv-toolbar{padding:8px 12px 12px;gap:8px}.cv-language-group{flex-basis:100%;width:100%}.cv-language-group .cv-control{flex:1}.cv-control{padding:8px;min-height:40px;font-size:11px}.cv-icon-control{width:30px}.cv-zoom-group{gap:3px}.cv-zoom-value{width:35px}.cv-file-actions{gap:4px}.cv-stage{padding:14px}.cv-download-dialog{padding:22px!important}.cv-download-heading h2{font-size:25px}.cv-choice{padding:17px 13px}.cv-choice-title{font-size:17px}}
