/* Pause Screen preservation article styles */
@media(max-width:760px),(pointer:coarse){html.ps-mobile-hscroll-prepaint body{visibility:hidden}}
body.ps-live-hscroll-in{will-change:filter}@media(max-width:760px),(pointer:coarse){body.ps-mobile-hscroll-pending>*:not(#ps-mobile-source-cover):not(#ps-mobile-hscroll-overlay):not(#ps-hscroll-incoming-defs):not(script):not(style),body.ps-mobile-hscroll-active>*:not(#ps-mobile-source-cover):not(#ps-mobile-hscroll-overlay):not(#ps-hscroll-incoming-defs):not(script):not(style){visibility:hidden}#ps-mobile-hscroll-overlay{position:fixed;inset:0;z-index:2147483646;pointer-events:none;overflow:hidden}#ps-mobile-hscroll-overlay .ps-raster-strip{position:absolute;left:0;width:100%;overflow:hidden;will-change:transform}#ps-mobile-hscroll-overlay .ps-raster-strip>div{position:absolute;left:0;width:100vw}}

.preservation-article{grid-column:1 / -1;width:100%;max-width:900px;margin:0 auto;padding:14px 0 64px;font-size:17px;line-height:1.7}
.preservation-article>h1{font-family:"Fraunces",serif;font-size:clamp(34px,5vw,64px);line-height:1.02;letter-spacing:-.04em;margin:5px auto 10px;font-weight:600;text-align:center;max-width:820px}
.article-source{margin:0 auto 18px;text-align:center;font:500 12px/1.45 "DM Sans",sans-serif;color:var(--muted);letter-spacing:.02em}
.preservation-copy{max-width:780px;margin:0 auto}
.preservation-copy p{margin:0 0 1.25em;text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal}
.article-inline-image{max-width:780px;margin:34px auto 0;text-align:center}
.article-inline-image img{display:block;max-width:100%;width:auto;height:auto;margin:0 auto}
.article-inline-image figcaption{font:400 14px/1.5 "DM Sans",sans-serif;color:var(--muted);margin:.8rem auto 0;max-width:760px;text-align:center}
.preservation-article .article-actions{max-width:780px;margin:0 auto 26px;display:flex;justify-content:center;align-items:center;gap:28px;text-align:center;flex-wrap:nowrap}
.preservation-article .article-actions button{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--ink);padding:2px 0;font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.preservation-article .article-actions button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

.gallery-modal{display:none;position:fixed;inset:0;background:var(--paper);color:var(--ink);z-index:1000;overflow:auto;padding:2rem}
.gallery-modal.open{display:block}
.gallery-panel{max-width:1100px;margin:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 30px var(--shadow);padding:3.25rem 1.5rem 1.5rem;position:relative}
.gallery-close{position:absolute;right:1rem;top:.6rem;border:0;background:transparent;color:var(--ink);font-size:2.2rem;cursor:pointer}
.gallery-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem}
.gallery-item{display:none;margin:0;text-align:center}
.gallery-item.active{display:block}
.gallery-item img{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;margin:0 auto}
.gallery-item figcaption{font:400 14px/1.5 "DM Sans",sans-serif;color:var(--muted);margin:.8rem auto 0;max-width:760px;text-align:center}
.gallery-nav{border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:3rem;line-height:1;padding:.3rem .7rem;cursor:pointer;touch-action:manipulation}
.gallery-counter{text-align:center;font:700 9px "Space Mono",monospace;color:var(--muted);margin-top:1rem}
.source-modal{display:none;position:fixed;inset:0;background:#101010;color:#f5f2eb;z-index:1100;overflow:auto;font-family:Arial,Helvetica,sans-serif}
.source-modal.open{display:block}
.source-browser{min-height:100vh}
.source-topbar{height:52px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 20px;background:rgba(16,16,16,.92);backdrop-filter:blur(14px);border-bottom:1px solid #302f2c}
.source-topbar strong{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-right:auto}
.source-topbar span{font-size:11px;color:#aaa59c;letter-spacing:.08em}
.source-topbar button{border:1px solid #5b5954;background:#111;color:#fff;border-radius:999px;width:38px;height:38px;font-size:24px;cursor:pointer}
.source-reader{padding:clamp(24px,4vw,56px) clamp(16px,4vw,64px) 10vh}
.source-hero,.source-spread{max-width:1500px;margin:0 auto clamp(58px,8vw,120px)}
.source-hero{display:flex;justify-content:center}
.source-page{position:relative;margin:0;cursor:zoom-in}
.source-page img{display:block;width:100%;height:auto;background:#e9e6df;box-shadow:0 28px 75px #0009,0 2px 8px #0008;transition:transform .28s ease,box-shadow .28s ease}
.source-page:hover img{transform:translateY(-3px);box-shadow:0 34px 90px #000b,0 2px 8px #0008}
.source-hero .source-page{width:min(76vw,760px)}
.source-spread{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.5vw,24px);align-items:start}
.source-page figcaption{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#aaa59c;padding-top:13px}
.source-spread .source-page:last-child figcaption{text-align:right}
.source-progress{position:fixed;z-index:1120;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px}
.source-progress button{width:7px;height:7px;padding:0;border:1px solid #aaa;border-radius:50%;background:transparent;display:block;cursor:pointer}
.source-progress button.active{background:#fff;border-color:#fff}
.source-hint{text-align:center;color:#aaa59c;font-size:12px;padding:0 20px 36px}
.source-lightbox{position:fixed;inset:0;z-index:1150;background:rgba(9,9,9,.98);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:26px 76px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.source-lightbox.open{opacity:1;visibility:visible}
.source-stage{width:100%;min-height:100%;display:flex;align-items:flex-start;justify-content:center;position:relative}
.source-zoom-wrap{width:min(1300px,92vw);margin:auto;opacity:0;transform:translateX(0) scale(.985);transition:opacity .26s ease,transform .34s cubic-bezier(.2,.8,.2,1)}
.source-lightbox.open .source-zoom-wrap{opacity:1;transform:translateX(0) scale(1)}
.source-zoom-wrap.exit-left{opacity:0;transform:translateX(-70px) scale(.985)}
.source-zoom-wrap.exit-right{opacity:0;transform:translateX(70px) scale(.985)}
.source-zoom-wrap.enter-left{animation:sourceEnterLeft .34s cubic-bezier(.2,.8,.2,1)}
.source-zoom-wrap.enter-right{animation:sourceEnterRight .34s cubic-bezier(.2,.8,.2,1)}
@keyframes sourceEnterLeft{from{opacity:0;transform:translateX(-70px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sourceEnterRight{from{opacity:0;transform:translateX(70px) scale(.985)}to{opacity:1;transform:none}}
#sourceZoomImage{display:block;width:100%;height:auto;box-shadow:0 0 80px #000}
.source-viewer-count{position:fixed;left:18px;top:18px;z-index:1160;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#c7c2b9}
.source-viewer-btn{position:fixed;z-index:1160;border:1px solid #777;background:rgba(17,17,17,.87);color:#fff;border-radius:999px;width:48px;height:48px;display:grid;place-items:center;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s ease,transform .2s ease,opacity .2s ease}
.source-viewer-btn:hover{background:rgba(42,42,42,.91);transform:scale(1.06)}
.source-viewer-btn:disabled{opacity:.18;cursor:default;transform:none}
.source-close{right:18px;top:16px;font-size:25px}
.source-lb-prev,.source-lb-next{top:50%;transform:translateY(-50%);font-size:35px}
.source-lb-prev:hover,.source-lb-next:hover{transform:translateY(-50%) scale(1.06)}
.source-lb-prev{left:18px}.source-lb-next{right:18px}
@media(max-width:650px){
  .preservation-article{padding:10px 0 48px;font-size:16px;line-height:1.65}
  .preservation-article>h1{font-size:2.15rem;overflow-wrap:anywhere}
  .article-source{font-size:11px;margin-bottom:16px}
  .preservation-article .article-actions{gap:24px;flex-wrap:nowrap}
  .preservation-article .article-actions button{width:auto;flex:0 0 auto}
  .gallery-modal{padding:.5rem}
  .gallery-panel{padding:2.8rem .65rem 1rem}
  .gallery-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:.25rem}
  .gallery-nav{font-size:2.2rem;padding:.25rem}
  .gallery-item img{max-height:68vh}
  .gallery-item figcaption{font-size:15px;padding:0 .5rem}
  .source-topbar{height:44px;padding:0 10px}
  .source-topbar strong{font-size:10px}.source-topbar span{display:none}
  .source-topbar button{width:34px;height:34px}
  .source-reader{padding:18px 10px 64px;scroll-snap-type:y proximity}
  .source-hero,.source-spread{display:block;margin:0}
  .source-hero .source-page,.source-spread .source-page{width:100%;margin:0 0 48px;scroll-snap-align:start}
  .source-spread .source-page:last-child figcaption{text-align:left}
  .source-page img{box-shadow:0 16px 38px #000a}
  .source-progress{right:6px}
  .source-lightbox{padding:56px 7px 70px;display:block}
  .source-stage{min-height:auto}
  .source-zoom-wrap{width:145vw;max-width:none;margin:0}
  .source-viewer-btn{width:42px;height:42px}
  .source-lb-prev,.source-lb-next{top:auto;bottom:14px;transform:none}
  .source-lb-prev:hover,.source-lb-next:hover{transform:scale(1.06)}
  .source-lb-prev{left:14px}.source-lb-next{right:14px}
  .source-close{right:12px;top:8px}
  .source-viewer-count{left:12px;top:18px}
}
@media(min-width:651px) and (max-width:1000px){
  .gallery-modal{padding:1rem}
}
