/* Reading controls follow the newspaper's existing paper, ink, and red palette. */
.puzzle-type{margin:.55rem 0;color:var(--accent,#7c3028);font:600 .8rem/1.4 Arial,sans-serif;letter-spacing:.035em;}
.section-bar-scroll{position:relative;}
.section-scroll{position:absolute;z-index:2;top:0;bottom:0;width:2.5rem;border:0;color:var(--accent,#7c3028);font:2rem/1 Georgia,serif;cursor:pointer;}
.section-scroll[hidden]{display:none;}
.section-scroll-previous{left:0;background:linear-gradient(90deg,var(--paper,#f5ead5) 65%,transparent);padding-right:.7rem;}
.section-scroll-next{right:0;background:linear-gradient(270deg,var(--paper,#f5ead5) 65%,transparent);padding-left:.7rem;}
.section-scroll:focus-visible,.puzzle-image-dialog button:focus-visible,.puzzle-image-trigger:focus-visible{outline:2px solid var(--accent,#7c3028);outline-offset:-3px;}
.related-reading{max-width:60rem;margin:3.5rem auto 0;padding-top:1.5rem;border-top:1px solid var(--editorial-rule,#c7b297);color:var(--paper-ink,#39271d);}
.related-reading>h2{margin:0 0 1.5rem;font:600 clamp(1.65rem,3vw,2.25rem)/1.15 Georgia,serif;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.6rem;list-style:none;padding:0;margin:0;}
.related-grid li{min-width:0;}
.related-image{display:block;aspect-ratio:3/2;overflow:hidden;background:rgba(93,61,35,.05);margin-bottom:.85rem;}
.related-image img{width:100%;height:100%;object-fit:cover;display:block;}
.related-grid h3{font:600 clamp(1.1rem,2vw,1.4rem)/1.25 Georgia,serif;margin:.35rem 0;overflow-wrap:anywhere;}
.related-grid h3 a{color:inherit;text-decoration:none;}
.related-grid h3 a:hover,.related-grid h3 a:focus-visible{color:var(--accent,#7c3028);text-decoration:underline;text-underline-offset:.18em;}
.related-issue,.related-author{font:.84rem/1.5 Arial,sans-serif;margin:.25rem 0;color:var(--paper-muted,#755e50);}
.puzzle-image-trigger{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:inherit;color:inherit;}
.puzzle-image-dialog{width:min(72rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);height:min(54rem,calc(100dvh - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--editorial-rule,#c7b297);border-radius:.4rem;background:var(--paper,#f5ead5);color:var(--paper-ink,#39271d);overflow:hidden;box-shadow:0 1rem 4rem #0005;}
.puzzle-image-dialog[open]{display:flex;flex-direction:column;}
.puzzle-image-dialog::backdrop{background:rgba(24,16,11,.65);}
.puzzle-image-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--editorial-rule,#c7b297);flex:none;}
.puzzle-image-header h2{font:600 1.4rem/1.2 Georgia,serif;margin:0;}
.puzzle-image-dialog button{cursor:pointer;color:inherit;min-width:2.75rem;min-height:2.75rem;}
.puzzle-image-close{font:1.75rem/1 Arial,sans-serif;background:transparent;border:0;}
.puzzle-image-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem;padding:.6rem;border-bottom:1px solid var(--editorial-rule,#c7b297);flex:none;font:.9rem/1.4 Arial,sans-serif;}
.puzzle-image-toolbar button,.puzzle-image-toolbar a{border:1px solid var(--editorial-rule,#c7b297);padding:.5rem .7rem;background:transparent;border-radius:.2rem;text-underline-offset:.2em;}
.puzzle-image-toolbar a{color:var(--accent,#7c3028);min-height:2.75rem;box-sizing:border-box;display:inline-flex;align-items:center;}
.puzzle-image-toolbar output{min-width:3rem;text-align:center;}
.puzzle-image-toolbar button:disabled{opacity:.35;cursor:default;}
.puzzle-image-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:rgba(65,43,29,.08);padding:1rem;box-sizing:border-box;}
.puzzle-image-viewport img{display:block;max-width:none;height:auto;margin:auto;background:#fff;}
.puzzle-image-error{padding:1rem;max-width:32rem;margin:0 auto;}
@media(max-width:600px){.related-grid{grid-template-columns:1fr;gap:1.25rem;}.related-grid li{display:grid;grid-template-columns:6rem minmax(0,1fr);column-gap:1rem;align-content:start;}.related-image{grid-row:1/4;aspect-ratio:1;margin:0;}.related-grid h3{font-size:1.2rem;}.related-grid li:not(:has(.related-image)){display:block;}.related-reading{margin-top:2.5rem;}.puzzle-image-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem);}.puzzle-image-toolbar{gap:.25rem;padding:.5rem .35rem;font-size:.8rem;}.puzzle-image-toolbar button,.puzzle-image-toolbar a{padding:.4rem .5rem;}.puzzle-image-header{padding:.5rem .75rem;}}
@media print{.section-scroll,.puzzle-image-dialog,.related-reading{display:none!important;}}

/* Keep the comments shortcut distinct from wrapped publication dates. */
.article-heading .discussion-top-link{margin-inline-start:.75rem;}

.related-image.is-portrait img{object-fit:contain;}

.article-page:has(.related-reading){padding-bottom:1.5rem;}
.article-page:has(.related-reading)+.reader-discussion{max-width:60rem;margin-top:2rem;}

/* Keep complete puzzle grids and the original artwork framing in recommendations. */
.related-image.is-puzzle{display:flex;align-items:center;justify-content:center;width:100%;height:260px;aspect-ratio:auto;padding:12px;border:1px solid var(--editorial-rule);background:rgba(93,61,35,.025);}
.related-image.is-puzzle img{object-fit:contain;}
.related-image.artwork-preview{display:flex;align-items:center;justify-content:center;aspect-ratio:auto;height:200px;padding:12px;}
.related-image.artwork-preview .doodle-canvas{position:relative;flex-shrink:0;width:min(100%,calc(176px * var(--preview-ratio)));aspect-ratio:var(--art-ratio);overflow:hidden;}
.related-image.artwork-preview .doodle-canvas img{position:absolute;left:var(--image-left);top:var(--image-top);width:var(--image-width);max-width:none;height:auto;object-fit:initial;}
.article-page>.article-end-nav{max-width:60rem;margin-inline:auto;}
.article-end-nav+.related-reading{margin-top:1.75rem;}
@media(max-width:600px){
 .related-image.is-puzzle{height:96px;aspect-ratio:1;padding:6px;}
 .related-image.artwork-preview{height:96px;padding:6px;}
 .related-image.artwork-preview .doodle-canvas{width:min(100%,calc(84px * var(--preview-ratio)));}
}
