:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #14202d; background: #f2f5f6; }
* { box-sizing: border-box; }
body { height: 100vh; height: 100dvh; margin: 0; display: flex; flex-direction: column; }
.cv-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 16px 24px; background: #fff; border-bottom: 1px solid #dbe5e9; }
.cv-back { color: #0e7983; text-decoration: none; font-size: 14px; font-weight: 600; }
.cv-back:hover { text-decoration: underline; }
h1 { margin: 0; font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
h1 span { color: #607083; font-family: system-ui, sans-serif; font-size: 14px; }
.cv-controls { display: flex; align-items: center; gap: 8px; }
button { min-height: 36px; padding: 6px 12px; border: 1px solid #dbe5e9; border-radius: 6px; background: #fff; color: #14202d; font: inherit; font-size: 14px; cursor: pointer; }
button:hover:not(:disabled) { background: #f2f7f8; border-color: #0e7983; }
button:disabled { opacity: .45; cursor: default; }
a:focus-visible, button:focus-visible, main:focus-visible { outline: 2px solid #0e7983; outline-offset: 3px; }
#zoom-level { min-width: 44px; text-align: center; font-size: 13px; font-variant-numeric: tabular-nums; }
.cv-info { display: flex; justify-content: space-between; gap: 16px; padding: 9px 24px; border-bottom: 1px solid #dbe5e9; background: #fff; color: #607083; font-size: 12px; }
.cv-document { flex: 1; min-height: 0; overflow: auto; }
.cv-pages { position: relative; display: flex; flex-direction: column; align-items: center; gap: 24px; width: max-content; min-width: 100%; padding: 24px; }
.cv-page { --scale-round-x: 1px; --scale-round-y: 1px; position: relative; flex: none; overflow: hidden; background: #fff; box-shadow: 0 3px 18px rgb(20 32 45 / 12%); }
.cv-page canvas { display: block; width: 100%; height: 100%; }
.cv-page .textLayer { z-index: 1; }
.cv-link-layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.cv-link-layer a { position: absolute; display: block; pointer-events: auto; }
.cv-link-layer a:hover { background: rgb(14 121 131 / 10%); }
.cv-status { margin: 0; padding: 48px 24px; text-align: center; color: #607083; }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  .cv-header { padding: 12px 16px; gap: 12px; }
  .cv-back { width: 100%; }
  h1 { font-size: 20px; }
  h1 span { display: none; }
  .cv-info { padding-inline: 16px; }
  .cv-pages { padding: 16px; gap: 16px; }
}
@media (max-width: 400px) {
  .cv-controls { gap: 5px; }
  button { padding-inline: 9px; }
  h1 { font-size: 18px; }
}
