/* The whitepaper page (Kyle, 27 Oct: "a literal page where the document lives in viewable format"): Visa
   Research's PDF itself, drawn page by page by whitepaper.js with PDF.js (vendor/pdfjs, v4.10.38,
   Apache-2.0), on the article's ground. A bar leads back to the benchmark and offers the PDF to download. */
.wp{min-height:100vh;display:flex;flex-direction:column}
/* PDF.js measures text on a canvas it appends to <body> and hides only with its own viewer stylesheet, which this page
   doesn't load. Chrome draws it at 0x0, but it sat outside every landmark (VGAR quick check row 15, 5 Nov). */
.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
/* The skip link lands the document under the sticky bar's foot, not beneath it (the review, 5 Nov). */
.wp-doc{scroll-margin-top:var(--fx-nav)}
.wp-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--fx-nav);padding:8px var(--fx-margin);background:rgba(20,20,20,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--fx-hair-strong)}
.wp-back{display:inline-flex;align-items:center;gap:12px;min-height:44px;font:400 12px/1.4 var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--fx-ink);text-decoration:none;transition:color .2s}
.wp-back::before{content:"";flex:none;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.wp-back:hover{color:#fff}
.wp-back:focus-visible{outline:2px solid var(--fx-gold);outline-offset:4px}
.wp-bar .pill{flex:none;font-size:15px}
.wp-doc{flex:1;display:grid;justify-items:center;align-content:start;gap:24px;padding:40px 16px 88px}
.wp-status{margin:80px 0;font:400 17px/1.5 var(--display);color:var(--fx-ink);text-align:center}
.wp-status a{color:#fff}
/* A page: white paper on the dark ground, sized from the PDF before it draws, so nothing jumps. */
.wp-page{position:relative;overflow:hidden;width:min(100%,920px);aspect-ratio:var(--wp-ratio,8.5 / 11);background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.45);scroll-margin-top:calc(var(--fx-nav) + 16px)}
.wp-page>canvas{position:absolute;inset:0;width:100%;height:100%}
.wp-links a{position:absolute;z-index:2;display:block}
.wp-links a:focus-visible{outline:2px solid var(--fx-gold);outline-offset:2px}
@media(max-width:640px){
  .wp-bar{padding:8px 16px}
  .wp-back{font-size:10px;letter-spacing:1.2px}
  .wp-doc{gap:12px;padding:16px 8px 56px}
}

/* PDF.js's text layer (web/pdf_viewer.css, v4.10.38, trimmed): the page's words, invisible over the
   drawing, so they can be selected, copied and found. It sizes itself from --scale-factor. */
.textLayer{position:absolute;text-align:initial;inset:0;overflow:clip;opacity:1;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0}
.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}
.textLayer > :not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1}
.textLayer span.markedContent{top:0;height:0}
.textLayer span[role="img"]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}
.textLayer ::selection{background:rgba(0 0 255 / .25);background:color-mix(in srgb,AccentColor,transparent 75%)}
.textLayer br::selection{background:transparent}
.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.textLayer.selecting .endOfContent{top:0}
