/* Review reading: image first, no advertising or wait screens. */
.review-reader{--reader-surface:#101012;background:var(--reader-surface);color:#f5f2ed;font-size:14px}
.review-reader .reader-header{height:58px;padding:0 24px;background:#101012;border-color:#ffffff20;gap:12px}
.review-reader .reader-back,.review-reader .reader-back span{font-size:13px;color:#e7e2d9}
.review-reader .reader-logo{font-size:32px;color:#f2eee7}
.reader-header-actions{display:flex;align-items:center;gap:22px}.review-badge{font-size:11px;color:#c7b8a2;letter-spacing:.1px}.reader-header-actions .reader-menu{min-height:44px}.reader-header-actions .reader-menu span{font-size:13px}
.review-reader .reader-main{max-width:none;padding:0 24px 8px;min-height:0}
.review-reader .reader-issue-info{min-height:34px;margin:0 0 4px;gap:12px;font-size:11px;letter-spacing:1px;color:#c3b8a9}
.review-reader .reader-issue-info h1{font-size:13px;color:#f4eee3}.review-reader .reader-demo-label{font-size:11px;color:#ada59b;padding-left:12px;letter-spacing:0}
.review-reader .reading-desk{gap:24px}.review-reader .book-shell{height:min(calc(100dvh - 178px),1100px);width:auto;max-width:calc(100vw - 172px);aspect-ratio:var(--book-aspect);filter:none}
.review-reader .book-shell:before,.review-reader .book-shell:after{display:none}.review-reader .book-page{background:#101012}.review-reader .layout-source-page{background:#101012}
.image-open-hit{position:absolute;inset:0;width:100%;height:100%;background:transparent;cursor:zoom-in;z-index:2}.image-open-hit span{position:absolute;bottom:12px;right:12px;font-size:12px;padding:10px 13px;background:#101012c9;color:white;border:1px solid #ffffff45;border-radius:2px}
.review-reader .desk-arrow{min-width:46px;height:46px;flex-shrink:0}.review-reader .reader-controls{width:min(1040px,100%);max-width:none;margin:6px auto 0;min-height:44px;font-size:12px;gap:10px;color:#c7bbaa}
.review-reader .reader-controls>span{min-width:100px}.review-reader .reader-counter{font-size:14px;gap:18px}.review-reader .reader-counter button{height:44px;min-width:44px;font-size:21px}
.review-reader .reader-controls .open-viewer-button{min-height:40px;padding:0 15px;background:#eee7dc;color:#151515;font-size:13px;font-weight:600;border-radius:2px}
.review-reader .reader-controls .open-viewer-button:disabled{background:#252527;color:#706c66}
.review-reader .reader-progress{max-width:740px;margin:4px auto 0;gap:6px}.review-reader .reader-progress button{height:4px;max-width:none;background:#ffffff2c}.review-reader .reader-progress button.current{background:#ed3655}.review-reader .reader-progress button:before{inset:-9px 0}
.review-reader .reader-hint{font-size:11px;line-height:1.6;color:#b3aaa0;letter-spacing:0;margin:11px 0 0}.review-reader .reader-bottom{display:none}
.review-reader .contents-panel{position:fixed;left:auto;right:16px;top:68px;bottom:16px;width:340px;z-index:10;background:#202024;padding:23px}.contents-panel nav button{min-height:48px;font-size:13px}.contents-panel nav small{font-size:10px}.contents-panel>p{font-size:12px;line-height:1.8}.contents-panel-heading button{width:44px;height:44px}.contents-panel nav b{color:#f16d7f}
.review-reader .print-contents{background:#f2eee6;color:#191919}.review-reader .print-contents .contents-title{font-size:12cqw;line-height:1.1;letter-spacing:-.4cqw;margin:9% 0 5%}.review-reader .printed-toc button{min-height:42px;color:#1a1a1a}.review-reader .printed-toc button span:last-child{font-size:clamp(10px,2.3cqw,14px);color:#6b333e}.review-reader .body-preparation-note{color:#615a50}.review-reader .print-colophon{background:#f2eee6;color:#161616}.review-reader .colophon-logo{font-family:Georgia,serif;font-weight:700;color:#bb233a}
.viewer-open{overflow:hidden!important}.photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;background:#080809;z-index:1000;color:#fff;overscroll-behavior:contain;font-family:Arial,'Noto Sans KR','Apple SD Gothic Neo',sans-serif;isolation:isolate}
.photo-viewer:fullscreen{width:100vw;height:100dvh}.photo-viewer button{border:1px solid #ffffff35;background:#1e1e22;color:#f6f3ed;min-width:44px;min-height:44px;padding:0 13px;font-size:13px;border-radius:3px}.photo-viewer button:hover:not(:disabled){background:#36363b}.photo-viewer button:disabled{opacity:.3;cursor:default}
.viewer-top{position:absolute;inset:0 0 auto;min-height:66px;display:flex;justify-content:space-between;align-items:center;padding:8px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));gap:16px;background:#111114;z-index:3;border-bottom:1px solid #ffffff18}
.viewer-brand{font-size:9px;letter-spacing:2px;color:#b6aaa0}.viewer-top h2{font-size:13px;line-height:1.45;font-weight:400;margin:5px 0 0}.viewer-top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.photo-viewer .viewer-close{font-size:30px;line-height:1;padding:0;width:44px}
.viewer-stage{position:absolute;inset:68px 0 105px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in}.viewer-stage.is-zoomed{cursor:grab}.viewer-stage.is-dragging.is-zoomed{cursor:grabbing}
#viewerImage{position:absolute;left:50%;top:50%;max-width:none;object-fit:contain;pointer-events:none;will-change:transform;transform-origin:center;user-select:none}
.viewer-loading{position:absolute;inset:0;background:#080809;display:flex;gap:20px;align-items:center;justify-content:center;flex-direction:column;font-size:14px;color:#cfc4b9;z-index:1}
.viewer-bottom{position:absolute;inset:auto 0 0;min-height:105px;padding:8px max(20px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 24px;background:#111114;z-index:3;border-top:1px solid #ffffff18}
.viewer-pagination{display:flex;align-items:center;gap:18px;font-size:13px;font-variant-numeric:tabular-nums}.viewer-zoom-controls{display:flex;align-items:center;gap:9px}.viewer-zoom-controls input{width:145px;accent-color:#ed3655;cursor:pointer}.viewer-zoom-controls output{min-width:43px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.viewer-help{grid-column:1/-1;text-align:center;font-size:11px;color:#a89e94;margin:1px 0 0;line-height:1.6}.viewer-status{grid-column:1/-1;color:#d9c69f;font-size:11px;text-align:center;margin:0}.viewer-status:empty{display:none}
.photo-viewer.chrome-hidden .viewer-top,.photo-viewer.chrome-hidden .viewer-bottom{visibility:hidden;pointer-events:none}.photo-viewer.chrome-hidden .viewer-stage{inset:0}.photo-viewer .show-viewer-controls{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:12px;background:#111114b5;z-index:4;backdrop-filter:blur(10px)}
@media(max-width:760px){.review-reader .reader-header{height:54px;padding:0 12px}.review-reader .reader-logo{font-size:28px}.review-reader .reader-logo span{display:none}.reader-header-actions{gap:8px}.review-badge{display:none}.review-reader .reader-main{padding:0 8px 8px}.review-reader .reader-issue-info{font-size:9px;gap:8px;min-height:38px}.review-reader .reader-issue-info h1{font-size:12px}.review-reader .reader-demo-label{font-size:10px;padding-left:8px}.review-reader .reading-desk{gap:0}.review-reader .book-shell{width:min(100%,calc((100dvh - 192px) * var(--book-ratio)));height:auto;max-width:100%;aspect-ratio:var(--book-aspect)}.review-reader .reader-controls{font-size:10px;gap:3px;margin-top:4px}.review-reader .reader-controls>span{min-width:68px}.review-reader .reader-controls .open-viewer-button{font-size:11px;padding:0 8px;min-height:44px}.review-reader .reader-counter{font-size:12px;gap:1px}.review-reader .reader-counter button{min-width:33px;width:33px}.review-reader .reader-progress{margin-top:5px;gap:4px}.review-reader .reader-progress button{max-width:none}.review-reader .reader-hint{font-size:10px;margin-top:10px}.image-open-hit span{font-size:11px;bottom:8px;right:8px}.review-reader .contents-panel{width:min(340px,calc(100vw - 20px));right:10px;top:64px}.viewer-top{min-height:84px;align-items:flex-start;gap:10px;padding:9px 10px}.viewer-top>div:first-child{min-width:0}.viewer-top h2{font-size:11px;max-width:140px;line-height:1.5}.viewer-brand{font-size:8px;letter-spacing:1px}.viewer-top-actions{gap:4px}.photo-viewer .viewer-top-actions button{font-size:10px;min-width:38px;padding:0 6px}.photo-viewer .viewer-top-actions .viewer-close{font-size:28px;width:38px}.viewer-stage{inset:84px 0 145px}.viewer-bottom{min-height:145px;grid-template-columns:1fr;justify-items:center;gap:5px;padding:6px 8px max(9px,env(safe-area-inset-bottom))}.viewer-pagination{gap:20px;font-size:12px}.viewer-pagination button{min-height:35px}.viewer-zoom-controls{gap:6px}.viewer-zoom-controls input{width:105px}.photo-viewer .viewer-zoom-controls button{font-size:11px;padding:0 9px}.viewer-help{font-size:10px;margin:0}.viewer-status{font-size:10px}.viewer-zoom-controls output{font-size:11px;min-width:38px}}
@media(max-width:360px){.review-reader .reader-demo-label{display:none}.review-reader .reader-controls>span{min-width:55px}.review-reader .reader-controls .open-viewer-button{font-size:10px}.viewer-zoom-controls input{width:80px}.viewer-top h2{max-width:106px}.photo-viewer .viewer-top-actions button{font-size:9px}}
@media(max-height:500px) and (orientation:landscape){.viewer-top{min-height:54px;padding-block:5px}.viewer-stage{inset:54px 0 62px}.viewer-bottom{min-height:62px;grid-template-columns:1fr auto;padding:4px 12px;gap:3px}.viewer-help{display:none}.viewer-top h2{max-width:none;font-size:11px}.viewer-brand{display:none}.viewer-pagination button,.viewer-zoom-controls button{min-height:38px}}
/* Measure the image area from real toolbar rows, including wrapped mobile notices. */
.photo-viewer{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-viewer .viewer-top,.photo-viewer .viewer-bottom{position:relative;inset:auto}
.photo-viewer .viewer-stage{position:relative;inset:auto;min-height:0;width:100%;height:100%}
.photo-viewer.chrome-hidden{grid-template-rows:0 minmax(0,1fr) 0}
.photo-viewer.chrome-hidden .viewer-top,.photo-viewer.chrome-hidden .viewer-bottom{min-height:0;height:0;padding:0;border:0;overflow:hidden}
.photo-viewer.chrome-hidden .viewer-stage{position:absolute;inset:0}

.source-cover-note{font-size:clamp(9px,2.2cqw,13px);line-height:1.7;color:#6d5045;margin:0 0 4cqw;padding-left:3cqw;border-left:2px solid #b52a43}.photo-review{max-width:740px;margin:12px auto 4px;padding:10px 0;border-top:1px solid #ffffff24;color:#c8bcae;font-size:12px;line-height:1.85}.photo-review summary{cursor:pointer;min-height:28px;display:list-item;list-style:disclosure-closed inside}.photo-review[open] summary{list-style-type:disclosure-open}.photo-review p{margin:6px 0 0;color:#d9d0c5}

.review-reader .print-contents .contents-intro{line-height:1.65;margin-bottom:4%}.review-reader .print-contents .body-preparation-note{line-height:1.6;padding-top:3cqw;margin:3cqw 0 0}
