:root{
  --paper:#f4f0e7;
  --paper-2:#f8f5ee;
  --ink:#1f211f;
  --soft:#6e6a62;
  --stone:#d8d2c8;
  --stone-2:#e8e1d6;
  --vermilion:#c64a32;
  --relational:#a99b87;
  --dark:#989186;
  --serif:"EB Garamond",Georgia,serif;
  --sans:"Inter",Arial,sans-serif;
  --edge:clamp(20px,4.8vw,76px);
  --header:72px;
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);min-height:100svh}
a{color:inherit}
button{font:inherit}
.skip-link{position:fixed;left:10px;top:10px;z-index:1000;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:9px 13px;font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.1em}
.skip-link:focus{transform:none}
.reader-header{
  position:sticky;top:0;z-index:50;height:var(--header);padding:0 var(--edge);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--stone) 72%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.reader-brand{display:grid;gap:5px;text-decoration:none;line-height:1}
.reader-brand strong{font:600 clamp(15px,1.05vw,19px) var(--serif)}
.reader-brand span{color:var(--vermilion);font:600 7px var(--sans);text-transform:uppercase;letter-spacing:.18em}
.reader-return{color:var(--vermilion);text-decoration:none;text-transform:uppercase;font:600 8px var(--sans);letter-spacing:.13em}
.reader-shell{width:min(calc(100% - (var(--edge)*2)),1540px);margin:auto;padding:34px 0 54px}
.reader-meta{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:22px;align-items:baseline;margin-bottom:24px}
.eyebrow{margin:0;color:var(--vermilion);text-transform:uppercase;font:600 8px/1.4 var(--sans);letter-spacing:.18em}
.reader-meta h1{margin:0;font:500 clamp(30px,2.8vw,45px)/.98 var(--serif);letter-spacing:-.018em}
.reader-source{margin:0;color:#8a847a;text-align:right;text-transform:uppercase;font:500 7px/1.45 var(--sans);letter-spacing:.11em}
.reader-room{border-top:1px solid var(--stone);padding-top:14px}
.reader-toolbar{min-height:42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin-bottom:12px}
.reader-mode,.reader-zoom{display:flex;align-items:center;gap:2px}
.reader-zoom{justify-self:end}
.reader-mode button,.reader-zoom button{
  min-height:30px;border:0;background:transparent;color:#8a847a;padding:0 9px;cursor:pointer;
  text-transform:uppercase;font:600 7px var(--sans);letter-spacing:.11em
}
.reader-mode button[aria-pressed="true"]{color:var(--vermilion)}
.reader-mode button:focus-visible,.reader-zoom button:focus-visible,.page-turn:focus-visible{outline:1px solid var(--vermilion);outline-offset:2px}
.reader-page-status{color:#777269;text-align:center;font:500 7px var(--sans);letter-spacing:.12em;text-transform:uppercase}
#zoom-status{min-width:42px;text-align:center;color:#8a847a;font:500 7px var(--sans);letter-spacing:.08em}
.reader-stage{
  position:relative;min-height:clamp(560px,72vh,900px);padding:22px clamp(42px,5vw,82px);
  display:grid;place-items:center;overflow:auto;outline:none;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.045),transparent 34%),
    var(--dark);
  border:1px solid rgba(31,33,31,.12)
}
.page-spread{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;justify-items:center;gap:0}
.page-spread[data-mode="single"]{grid-template-columns:minmax(0,1fr)}
.page-spread[data-mode="single"] #page-right,.page-spread[data-mode="single"] .spread-gutter{display:none}
.pdf-page{margin:0;display:grid;place-items:center;min-width:0;min-height:0;opacity:1;transition:opacity .18s ease}
.pdf-page.is-empty{opacity:0;pointer-events:none}
.pdf-page canvas{
  display:block;max-width:100%;height:auto;background:#fff;
  box-shadow:0 22px 55px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.08)
}
.spread-gutter{align-self:stretch;width:1px;background:linear-gradient(to bottom,transparent,rgba(169,155,135,.28) 14%,rgba(169,155,135,.28) 86%,transparent)}
.native-pdf-page{
  display:none;width:min(100%,640px);height:min(72vh,860px);border:0;background:#fff;
  box-shadow:0 22px 55px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.08)
}
body[data-pdf-renderer="native"] .pdf-page canvas{display:none}
body[data-pdf-renderer="native"] .native-pdf-page{display:block}
body[data-pdf-renderer="native"] .reader-zoom button:disabled{opacity:.22;cursor:default}
@media(max-width:900px){.native-pdf-page{width:100%;height:64svh}}

.page-turn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:68px;border:0;
  display:grid;place-items:center;background:transparent;color:rgba(244,240,231,.72);cursor:pointer;
  font:400 34px/1 var(--serif);transition:color .2s ease,transform .2s ease
}
.page-turn:hover{color:var(--paper);transform:translateY(-50%) scale(1.05)}
.page-turn:disabled{opacity:.18;cursor:default;transform:translateY(-50%)}
.page-turn-prev{left:8px}.page-turn-next{right:8px}
.reader-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:var(--dark);color:rgba(244,240,231,.66);z-index:10;transition:opacity .35s ease,visibility .35s ease}
.reader-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.reader-loading p{margin:0;text-transform:uppercase;font:500 7px var(--sans);letter-spacing:.14em}
.loading-mark{width:20px;height:20px;border:1px dotted var(--vermilion);border-radius:50%;animation:readerTurn 2.4s linear infinite}
@keyframes readerTurn{to{transform:rotate(360deg)}}
.reader-footnote{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin:13px 0 0;color:#918b81;text-transform:uppercase;font:500 6.5px var(--sans);letter-spacing:.1em}
.reader-footnote a{color:var(--vermilion);text-decoration:none}
.reader-footer{padding:24px var(--edge) 26px;border-top:1px solid var(--stone);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8a847a;text-transform:uppercase;font:500 6px var(--sans);letter-spacing:.1em}
.reader-footer nav{display:flex;gap:16px}.reader-footer a{text-decoration:none}.reader-footer a:hover{color:var(--vermilion)}
.reader-error{max-width:560px;color:var(--paper);text-align:center;font-size:18px;line-height:1.35}.reader-error strong{display:block;margin-bottom:12px;color:var(--vermilion);font:600 8px var(--sans);text-transform:uppercase;letter-spacing:.14em}
@media(max-width:900px){
  .reader-meta{grid-template-columns:1fr;gap:8px}.reader-source{text-align:left}
  .reader-toolbar{grid-template-columns:1fr auto}.reader-page-status{grid-column:1/-1;grid-row:1;text-align:center}.reader-mode{grid-column:1;grid-row:2}.reader-zoom{grid-column:2;grid-row:2}
  .reader-stage{min-height:68svh;padding:20px 48px}.page-spread{grid-template-columns:minmax(0,1fr)}
  #page-right,.spread-gutter{display:none!important}.reader-mode button[data-mode="spread"]{display:none}
}
@media(max-width:560px){
  :root{--header:64px;--edge:18px}.reader-brand span{display:none}.reader-return{font-size:7px}
  .reader-shell{padding-top:24px}.reader-meta h1{font-size:34px}.reader-stage{min-height:62svh;padding:18px 36px}.reader-toolbar{gap:8px}.reader-zoom{gap:0}
  .reader-footnote span{display:none}.reader-footer{display:grid;gap:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
