/* UVU Review: report page viewer (report.html). Phone first: sticky title bar, page image, page controls at the thumb. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:8px;background:var(--amber);color:#111;font-weight:600}
.skip:focus{top:12px}

.rv{min-height:100vh;min-height:100dvh}
.rv-top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;
  padding:calc(8px + env(safe-area-inset-top)) max(var(--gutter),env(safe-area-inset-right)) 8px max(var(--gutter),env(safe-area-inset-left));
  background:rgba(10,13,19,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rv-back,.rv-pdf{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:10px;
  color:var(--ink);font:600 14px/1 'Inter',system-ui,sans-serif;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rv-pdf{padding:0 14px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.rv-title{min-width:0;text-align:center}
.rv-kicker{display:block;font:400 10.5px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--red-soft)}
.rv-title h1{font-size:20px;line-height:1.15;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(hover:hover){.rv-back:hover,.rv-pdf:hover{border-color:var(--muted);color:var(--white)}}
@media(max-width:520px),(hover:none) and (pointer:coarse){.rv-kicker{font-size:12px;letter-spacing:.12em}}
@media(max-width:400px){.rv-back span{display:none}.rv-back{justify-content:center;min-width:44px;padding:0 10px}.rv-pdf{padding:0 10px}}
@media(max-width:360px){.rv-pdf{flex-direction:column;justify-content:center;gap:1px;font-size:12px;line-height:1.15;letter-spacing:.02em}.rv-pdf-dot{display:none}.rv-kicker{letter-spacing:.03em}}

.rv-main{max-width:900px;margin:0 auto;padding:14px max(var(--gutter),env(safe-area-inset-left)) calc(96px + env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-right))}

.rv-quote{margin:0 0 14px;padding:14px 16px;border:1px solid rgba(244,183,64,.45);border-left:4px solid var(--amber);border-radius:12px;background:rgba(244,183,64,.07)}
.rv-quote-h{margin:0 0 6px;font:600 12px/1.4 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.rv-quote.miss .rv-quote-h{color:var(--muted)}
.rv-quote blockquote{margin:0;font:500 16px/1.5 'Inter',system-ui,sans-serif;color:var(--white);overflow-wrap:anywhere}
.rv-jump{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;padding:0 16px;border-radius:10px;border:1px solid var(--amber);
  background:transparent;color:var(--amber);font:600 14.5px 'Inter',system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.rv-jump:active{transform:scale(.98)}
.rv-jump[hidden]{display:none}

.rv-page{margin:0;scroll-margin-top:80px}
.rv-page:focus{outline:0}
.rv-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.55)}
.rv-sheet{position:relative;width:100%;aspect-ratio:1224/1584;background:#fff;border-radius:6px;overflow:hidden}
.rv-page.is-zoomed .rv-sheet{width:min(880px,var(--rv-natural,880px));border-radius:0}
.rv-sheet img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.rv-marks{position:absolute;inset:0;pointer-events:none}
.rv-mark{position:absolute;border-radius:2px;background:rgba(255,214,0,.34);box-shadow:0 0 0 1.5px #f0a800}
.rv-marks.pulse .rv-mark{animation:rvPulse 1.2s ease-out 2}
@keyframes rvPulse{0%{box-shadow:0 0 0 1.5px #f0a800,0 0 0 0 rgba(255,196,0,.75)}100%{box-shadow:0 0 0 1.5px #f0a800,0 0 0 14px rgba(255,196,0,0)}}
@media(prefers-reduced-motion:reduce){.rv-marks.pulse .rv-mark{animation:none}}
.rv-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#4b5563;font:500 15px 'Inter',system-ui,sans-serif}
.rv-loading[hidden]{display:none}
.rv-loading.err{flex-direction:column;gap:10px;padding:24px;text-align:center}
.rv-loading.err a{color:#1d4ed8;text-decoration:underline}
.rv-caprow{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}
.rv-zoom{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel-2);color:var(--white);font:600 14.5px 'Inter',system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rv-zoom[hidden]{display:none}
.rv-zoom svg{width:18px;height:18px;flex:0 0 auto}
.rv-zoom:active{transform:scale(.98)}
@media(hover:hover){.rv-zoom:hover{border-color:var(--muted)}}
.rv-cap{min-width:0;font:400 12px/1.5 'JetBrains Mono',ui-monospace,monospace;color:var(--muted);text-align:center}
.rv-zoom:not([hidden])+.rv-cap{text-align:left}

.rv-text{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.rv-text summary{display:flex;align-items:center;min-height:52px;padding:0 16px;cursor:pointer;font:600 15px 'Inter',system-ui,sans-serif;color:var(--ink);list-style:none}
.rv-text summary::-webkit-details-marker{display:none}
.rv-text summary::after{content:'+';margin-left:auto;font:400 22px/1 'Inter',sans-serif;color:var(--muted)}
.rv-text[open] summary::after{content:'\2212'}
.rv-text-note{margin:0 16px 8px;font:400 12.5px/1.5 'JetBrains Mono',ui-monospace,monospace;color:var(--muted)}
.rv-text-body{padding:0 16px 16px;color:var(--ink);font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.rv-text-body p{margin:0 0 10px}
.rv-text-body mark{background:rgba(244,183,64,.3);color:var(--white);border-radius:2px}

.rv-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;
  padding:10px max(var(--gutter),env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));
  background:rgba(10,13,19,.96);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rv-step{min-height:52px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);color:var(--white);
  font:600 16px 'Inter',system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rv-step:disabled{opacity:.35;cursor:default}
.rv-step:not(:disabled):active{transform:scale(.97);background:var(--line)}
@media(hover:hover){.rv-step:not(:disabled):hover{border-color:var(--muted)}}
.rv-go{display:flex;align-items:center;gap:6px;font:600 15px 'JetBrains Mono',ui-monospace,monospace;color:var(--muted)}
.rv-go input{width:3.6em;min-height:48px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:#0c1119;color:var(--white);
  font:600 16px 'JetBrains Mono',ui-monospace,monospace;text-align:center}
.rv-go input:focus{border-color:var(--blue-soft);outline:0;box-shadow:0 0 0 3px rgba(61,139,255,.25)}
.rv-of{font-size:12.5px;white-space:nowrap}
@media(max-width:360px){.rv-of{display:none}}
@media(min-width:900px){.rv-nav{left:50%;right:auto;width:560px;transform:translateX(-50%);bottom:16px;border:1px solid var(--line);border-radius:16px;padding:10px}}
