.reader-entry[hidden] { display:none!important; }
.cover-story .reader-entry { display:inline-flex; align-items:center; min-height:46px; padding:12px 0; margin:16px 0 0 24px; border:0; border-bottom:1px solid #ddc18c; background:none; color:#f7e4bc; font:600 .875rem/1.5 var(--sans); cursor:pointer; }
.edition-bar .reader-entry { margin-inline-start:auto; padding:10px 16px; min-height:44px; white-space:nowrap; border:1px solid #947647; background:#111b22; color:#f2ddad; font:500 .875rem/1.4 var(--sans); cursor:pointer; }
.magazine-reader { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#171c20; color:#f8f4ed; }
.magazine-reader::backdrop { background:#11181e; }
.magazine-reader:not([open]) { display:none; }
.magazine-reader[open] { display:flex; flex-direction:column; }
.magazine-reader * { box-sizing:border-box; }
.magazine-reader button,.magazine-reader select { font:500 .875rem/1.4 var(--sans); }
.magazine-reader button { cursor:pointer; }
.magazine-reader button:disabled { opacity:.32; cursor:default; }
.magazine-reader :focus-visible { outline:3px solid #d8b877; outline-offset:4px; }
.reader-toolbar { display:flex; align-items:center; gap:22px; flex-shrink:0; padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left)); border-bottom:1px solid #ffffff20; }
.reader-brand { display:flex; align-items:baseline; gap:14px; margin-inline-end:auto; }
.reader-brand strong { color:#dcc18c; font:400 2rem/1 'Times New Roman',serif; }
.reader-brand span { font:500 .75rem/1.4 var(--sans); text-transform:uppercase; letter-spacing:.17em; }
.reader-close { min-height:44px; padding:9px 14px; border:1px solid #ffffff55; background:transparent; color:#fff; }
.reader-close span { margin-inline-start:14px; font-size:1.25rem; }
.reader-chapters { display:flex; align-items:center; gap:10px; min-width:0; font:500 .875rem/1.4 var(--sans); }
.reader-chapters select { width:230px; max-width:30vw; min-height:44px; padding:8px 28px 8px 10px; color:#f5e6ca; border:1px solid #ffffff40; background:#20272c; border-radius:0; text-overflow:ellipsis; }
.reader-stage { display:flex; align-items:center; justify-content:center; flex:1; min-height:0; padding:24px 52px; overflow:hidden; }
.reader-book { position:relative; width:min(1280px,100%); height:100%; max-height:820px; perspective:2200px; isolation:isolate; background:#eee8dc; box-shadow:0 3px 0 #bfb4a0,0 6px 0 #e0d7c9,0 22px 55px #0007; }
.reader-spread { width:100%; height:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.reader-page { position:relative; min-width:0; min-height:0; height:100%; padding:28px clamp(24px,3.1vw,52px) 24px; display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#a99b81 #eee9df; background:#f7f3eb; color:#18252d; overscroll-behavior:contain; touch-action:pan-y pinch-zoom; }
.reader-page:nth-child(odd) { box-shadow:inset -20px 0 25px -27px #493b2a; }
.reader-page:nth-child(even) { box-shadow:inset 20px 0 25px -27px #493b2a; }
.reader-spread::after { content:''; pointer-events:none; position:absolute; top:0; bottom:0; left:50%; width:1px; background:#9b8b6b55; }
.reader-page-top { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #bba77f; padding-bottom:12px; margin-bottom:21px; color:#776445; font:500 .75rem/1.5 var(--sans); text-transform:uppercase; letter-spacing:.1em; flex-shrink:0; }
.reader-page h2 { font:400 clamp(30px,3vw,47px)/1.08 var(--serif); letter-spacing:-.025em; margin:0 0 18px; }
.reader-page h3 { font:400 1.65rem/1.2 var(--serif); margin:25px 0 14px; }
.reader-page p { font:400 1.0625rem/1.75 var(--sans); margin:0 0 20px; }
.reader-page .reader-dek { color:#655c4d; font-size:1.0625rem; line-height:1.6; }
.reader-image { width:100%; flex:1; min-height:160px; margin:12px 0 22px; background-size:cover; background-position:center; }
.reader-feature .reader-image { flex:none; height:clamp(150px,27vh,285px); order:0; }
.reader-page ul { margin:0 0 22px; padding-inline-start:20px; }
.reader-page li { margin-bottom:12px; font:400 1rem/1.65 var(--sans); }
.reader-page .reader-sources { margin-top:22px; padding-top:16px; border-top:1px solid #bba77f; font:400 .8125rem/1.65 var(--sans); color:#655c4d; }
.reader-page .reader-disclaimer { font:400 .8125rem/1.65 var(--sans); color:#6c6253; }
.reader-page-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:20px; border-top:1px solid #bba77f; color:#79633d; font:500 .75rem/1.5 var(--sans); }
.reader-page-bottom a { color:#66502c; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.reader-cover-page { background:#082437; color:#fff; }
.reader-cover-page .reader-page-top,.reader-cover-page .reader-page-bottom { color:#e3c892; border-color:#d2b27a88; }
.reader-cover-page .reader-dek { color:#e1e5e7; }
.reader-cover-page .reader-page-bottom a { color:#edd5a7; }
.reader-blank { background:#eee8dc; }
.reader-controls { display:flex; justify-content:center; align-items:center; gap:22px; min-height:72px; padding:12px 24px max(14px,env(safe-area-inset-bottom)); flex-shrink:0; }
.reader-controls button { min-height:44px; min-width:48px; padding:9px 17px; border:1px solid #c9af795e; color:#f3ddaf; background:transparent; }
.reader-controls .reader-prev,.reader-controls .reader-next { font-size:1.5rem; }
.reader-position { text-align:center; min-width:155px; }
.reader-position span { display:block; font:500 .875rem/1.5 var(--sans); }
.reader-position small { display:block; font:400 .75rem/1.5 var(--sans); color:#b4b9bc; }
.reader-controls .reader-motion { position:absolute; inset-inline-end:24px; padding-inline:12px; color:#d7d5cf; }
.reader-motion[aria-pressed='false'] { text-decoration:line-through; }
.reader-turn-sheet,.reader-resting-sheet { position:absolute; top:0; width:50%; height:100%; z-index:4; pointer-events:none; }
.reader-turn-sheet { transform-style:preserve-3d; will-change:transform; }
.reader-paper-strip { position:absolute; top:0; height:100%; transform-style:preserve-3d; will-change:transform; }
.reader-paper-face { position:absolute; inset:0; overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; background:#f7f3eb; }
.reader-paper-back { transform:rotateY(180deg); }
.reader-paper-face .reader-page { position:absolute; top:0; max-width:none; height:100%; overflow:hidden; box-shadow:none; }
.reader-paper-light { position:absolute; inset:0; background:linear-gradient(90deg,#504431,#fff8 60%,#504431); pointer-events:none; }
.reader-paper-shadow { position:absolute; top:0; height:100%; z-index:3; pointer-events:none; background:linear-gradient(90deg,#20170b00,#20170b); transform-origin:right center; opacity:0; }
.magazine-reader[dir='rtl'] .reader-paper-shadow { transform-origin:left center; background:linear-gradient(90deg,#20170b,#20170b00); }
.reader-resting-sheet { z-index:2; }
.magazine-reader[dir='rtl'] .reader-spread { direction:rtl; }
.magazine-reader[dir='rtl'] .reader-page h2 { letter-spacing:0; line-height:1.3; }
.magazine-reader[dir='rtl'] .reader-page-top { letter-spacing:0; }
.magazine-reader[dir='rtl'] .reader-prev,.magazine-reader[dir='rtl'] .reader-next { transform:scaleX(-1); }
@media(max-width:900px) {
  .reader-toolbar { padding:10px 16px; gap:12px; flex-wrap:wrap; }
  .reader-brand { gap:10px; }
  .reader-brand span { letter-spacing:.08em; }
  .reader-brand strong { font-size:1.6rem; }
  .reader-chapters { order:3; width:100%; }
  .reader-chapters select { flex:1; width:100%; max-width:none; }
  .reader-close { padding:7px 10px; }
  .reader-stage { padding:12px 18px; }
  .reader-book { max-width:620px; max-height:none; }
  .reader-spread { grid-template-columns:minmax(0,1fr); }
  .reader-spread::after { display:none; }
  .reader-page { padding:22px 28px; box-shadow:none!important; }
  .reader-page h2 { font-size:clamp(30px,6vw,43px); }
  .reader-page p { font-size:1.0625rem; line-height:1.75; }
  .reader-image { min-height:170px; }
  .reader-feature .reader-image { height:190px; }
  .reader-turn-sheet { width:100%; }
  .reader-controls { gap:14px; padding:10px 12px max(12px,env(safe-area-inset-bottom)); flex-wrap:wrap; }
  .reader-controls .reader-motion { position:static; font-size:.8125rem; min-width:0; }
  .reader-position { min-width:125px; }
}
@media(max-width:480px) {
  .cover-story .reader-entry { display:flex; margin:12px 0 0; }
  .reader-stage { padding:0; }
  .reader-book { box-shadow:none; }
  .reader-toolbar { padding-top:max(10px,env(safe-area-inset-top)); }
  .reader-brand span { max-width:120px; }
  .reader-close span { margin-inline-start:6px; }
  .reader-page { padding:22px 23px; }
  .reader-page h2 { font-size:clamp(29px,8.6vw,38px); }
  .reader-page-top { margin-bottom:18px; }
  .reader-controls { gap:9px; }
  .reader-controls button { padding:8px 12px; }
  .reader-position { min-width:116px; }
}
@media(prefers-reduced-motion:reduce) { .magazine-reader * { scroll-behavior:auto!important; } }
@media print { .reader-entry,.magazine-reader { display:none!important; } }

.magazine-editor-portrait,.reader-editor-portrait{display:block;width:160px;max-width:100%;height:auto;object-fit:contain;margin:0 0 24px}.reader-editor-portrait{width:130px}

/* Frame the supplied portrait below the screenshot controls. */
.magazine-portrait-frame{position:relative;width:160px;max-width:100%;aspect-ratio:891/1326;overflow:hidden;margin:0 0 24px}
.reader-portrait-frame{width:130px}
.magazine-portrait-frame>img{display:block;width:102.02%;max-width:none;height:auto;margin:0;transform:translate(-.99%,-7.16%)}
.reader-editor-signature{white-space:pre-line;line-height:1.65}
.editorial-note strong>span{display:block;margin-top:.3em}

.magazine-reader[dir="rtl"] .reader-page{direction:rtl;text-align:right}
.magazine-reader[dir="rtl"] .reader-page h2{letter-spacing:0;line-height:1.3}
.magazine-reader[dir="rtl"] .reader-page-top{letter-spacing:0}
.reader-page p{white-space:pre-line}
