/* Reader styles are scoped so the existing site layout stays consistent. */
html { scroll-behavior:auto; } /* Long chapter jumps should land immediately. */
body::after { display:none; } /* Keep long-form text free of the site's scanline overlay. */
.brand { position:relative; } /* The logo keeps the same scanline overlay as every other page. */
.brand::after { content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(180deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px); opacity:.5; mix-blend-mode:multiply; }
.paper-skip { position:fixed;top:-100px;left:1rem;z-index:200;padding:.7rem 1rem;background:var(--acid);color:var(--void); }
.paper-skip:focus { top:1rem; }
.paper-hero { border-bottom:1px solid var(--line); }
.paper-hero h1 { font-size:clamp(2.4rem,5.5vw,4.6rem);max-width:1000px; }
.paper-hero .lede { max-width:760px; }
.paper-meta { margin-top:1.4rem;color:#a6b8ca;font-size:.85rem; }
.paper-meta span { padding:0 .4rem;color:var(--acid); }
.paper-download-note { margin-top:.85rem;font-size:.78rem;color:#9caec0; }
.paper-layout { display:grid;grid-template-columns:240px minmax(0,1fr);gap:3.5rem;padding-top:3rem;padding-bottom:4rem;align-items:start; }
.paper-sidebar { position:sticky;top:92px;max-height:calc(100dvh - 116px);overflow:auto;padding-right:.5rem; }
.paper-sidebar summary { font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--text);cursor:pointer; }
.paper-sidebar ol { list-style:none;margin:1rem 0 0;padding:0; }
.paper-sidebar li { margin:0 0 .2rem; }
.paper-sidebar li a { display:flex;gap:.7rem;padding:.45rem 0;font-size:.84rem;line-height:1.45;color:#a6b8ca; }
.paper-sidebar li a:hover { color:var(--acid); }
.paper-sidebar li span { font: .72rem/1.8 var(--mono);color:var(--acid); }
.paper-edition { margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line2);font-size:.78rem;color:#9caec0;line-height:1.7; }
.paper-body { min-width:0;max-width:790px;color:#c4d1df;font-size:1rem;line-height:1.85;overflow-wrap:anywhere; }
.paper-section { padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--line);scroll-margin-top:92px; }
.paper-body .paper-number { font: .72rem var(--mono);letter-spacing:.12em;color:var(--acid);margin-bottom:.7rem; }
.paper-body h2 { font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.2;margin:0 0 1.8rem;color:var(--text);text-transform:none; }
.paper-body h3 { font-family:var(--display);font-size:1.25rem;line-height:1.4;margin:2rem 0 .8rem;color:var(--text); }
.paper-body p { margin:0 0 1.1rem; }
.paper-body a { color:var(--acid);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere; }
.paper-body a:hover { color:#fff; }
.paper-body .btn { color:var(--void);text-decoration:none; }
.paper-body .citations { white-space:nowrap;font-size:.8em; }
.paper-body .paper-back { display:inline-block;font-size:.78rem;color:#a6b8ca;margin-top:.6rem; }
.paper-table { overflow-x:auto;margin:1.3rem 0;border:1px solid var(--line);border-radius:6px; }
.paper-table table { border-collapse:collapse;width:100%;font-size:.84rem;line-height:1.6;min-width:570px;overflow-wrap:normal; }
.paper-table th,.paper-table td { text-align:left;vertical-align:top;padding:.8rem .9rem;border-bottom:1px solid var(--line2); }
.paper-table th { background:var(--raise);color:#fff;font-weight:600; }
.paper-table tr:nth-child(even) { background:rgba(255,255,255,.025); }
.paper-table tr:last-child td { border-bottom:0; }
.reference-number { color:var(--acid);scroll-margin-top:95px; }
.paper-end { padding:1.5rem 0 0; }
.paper-end h2 { margin-bottom:1rem; }
#contents { scroll-margin-top:90px; }
@media(max-width:900px) {
  .paper-layout { grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2rem; }
  .paper-sidebar { position:static;max-height:none;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--panel); }
  .paper-sidebar ol { display:grid;grid-template-columns:1fr 1fr;gap:0 1rem; }
  .paper-edition { display:none; }
  .paper-body { max-width:none; }
}
@media(max-width:520px) {
  .paper-sidebar ol { grid-template-columns:1fr; }
  .paper-body { font-size:.96rem;line-height:1.85; }
  .paper-hero h1 { font-size:2.55rem; }
  .paper-meta { max-width:290px;line-height:1.9; }
  .paper-table::before { content:'Swipe to read the full table →';display:block;padding:.5rem .8rem;font-size:.72rem;color:#a6b8ca; }
}
@media print {
  body { background:#fff!important;color:#111!important; }
  .nav,footer,.paper-sidebar,.paper-skip,.hero-cta,.paper-download-note,.paper-back,.paper-end { display:none!important; }
  .paper-layout { display:block; }
  .paper-hero,.paper-layout { padding:0; }
  .paper-body,.paper-body h2,.paper-body h3,.paper-hero h1,.paper-meta,.lede,.paper-body a { color:#111!important;text-shadow:none!important; }
  .paper-section { break-inside:auto; }
  .paper-body h2,.paper-body h3 { break-after:avoid; }
  .paper-table { overflow:visible; }
  .paper-table table { min-width:0; }
  .paper-table th { color:#111;background:#eee; }
  .paper-table tr { break-inside:avoid; }
}
