:root{--paper:#f7f6f2;--ink:#171917;--muted:#646660;--line:#d1d2ca;--serif:'Instrument Serif',Georgia,serif;--body:Arial,Helvetica,sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:6px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid #77663e;outline-offset:5px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--line)}.wordmark{text-transform:uppercase;font:600 25px/1.2 var(--body);letter-spacing:-.05em;text-decoration:none}.wordmark span{display:block;font:9px/1.5 var(--mono);letter-spacing:.16em;margin-top:8px}nav{display:flex;gap:32px;font-size:12px}nav a{text-decoration:none;padding:8px 0}nav a:hover,.text-link:hover{text-decoration:underline}.eyebrow{font:10px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.13em;margin:0 0 26px}h1,h2,blockquote{font-family:var(--body);font-weight:400;line-height:1.06;margin:0;letter-spacing:-.055em}h1{font-size:clamp(49px,5.6vw,80px)}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}h2{font-size:clamp(38px,4.5vw,61px)}.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;min-height:650px;padding-top:28px}.hero-copy{padding:45px 0}.deck{font-size:19px;line-height:1.6;max-width:355px;margin:28px 0}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:var(--paper);padding:15px 23px;font:12px/1.5 var(--body);text-decoration:none;border:1px solid var(--ink);min-height:48px;transition:background .2s}.button:hover{background:#3f423c}.availability-note{font:10px/1.6 var(--mono);color:var(--muted);margin:17px 0}.cover{margin:0 -40px 0 -35px;position:relative;perspective:1400px}.cover-open{display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);transform:rotateY(var(--cover-ry,0deg)) rotateX(var(--cover-rx,0deg))}.cover img{width:100%;filter:drop-shadow(12px 21px 13px #24201626)}.cover figcaption{text-align:center;font:9px/1.7 var(--mono);color:var(--muted);margin-top:-30px}.hero-foot{grid-column:1/-1;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:30px 0 22px;font:9px/1.8 var(--mono);text-transform:uppercase;letter-spacing:.08em}.intro{padding:110px 0;display:grid;grid-template-columns:1fr 2.7fr;gap:45px}.intro>div{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.intro h2{font-size:45px}.intro-body p{margin:0 0 22px}.inside{background:#e9e9e3;padding:84px 0 70px;overflow:hidden}.section-top{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-top p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:5px}.section-top .eyebrow{margin-bottom:14px}.book-stage{padding:55px 20px 30px;perspective:1800px}.book{position:relative;width:100%;aspect-ratio:1.5;transform:rotateX(7deg);transform-style:preserve-3d;isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 25px 18px #24261d1c)}.book-leaves{position:absolute;inset:0;background:#c0beb3;border-radius:2px 5px 7px 2px;transform:translateY(9px);box-shadow:0 1px 0 #a6a399,0 2px 0 #eeeade,0 3px 0 #aaa79a,0 4px 0 #e7e4d9,0 5px 0 #a8a79b,0 6px 0 #dddacf,0 11px 16px #25251b24}.book-surface{position:absolute;inset:0;transform-style:preserve-3d}.page{position:absolute;top:0;width:50%;height:100%;background-image:url('assets/spread-04-05.jpg');background-size:200% 100%;background-repeat:no-repeat;backface-visibility:hidden}.page-left{left:0;background-position:left center;border-radius:3px 0 0 3px}.page-right{left:50%;background-position:right center;border-radius:0 4px 4px 0}.page-left:after,.page-right:after{content:'';position:absolute;inset:0;pointer-events:none}.page-left:after{background:linear-gradient(90deg,#0000 80%,#0000000c 95%,#00000029 100%)}.page-right:after{background:linear-gradient(90deg,#00000020,#ffffff08 5%,#0000 20%,#00000004)}.book-spine{position:absolute;left:50%;top:0;height:100%;width:1px;background:#16160f40;box-shadow:0 0 3px #0c0c082b;pointer-events:none}.page-turn{display:none;position:absolute;top:0;height:100%;width:50%;left:50%;transform-origin:left center;transform-style:preserve-3d;z-index:4;will-change:transform}.page-turn.is-turning{display:block}.page-turn.backward{left:0;transform-origin:right center}.page-face{position:absolute;inset:0;background-color:#f4f2eb;background-size:200% 100%;background-repeat:no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-front{background-position:right center}.page-back{background-position:left center;transform:rotateY(180deg)}.backward .page-front{background-position:left center}.backward .page-back{background-position:right center}.page-face:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00000020,#ffffff08 15%,#0000 60%,#0000000c)}.page-hit{position:absolute;top:0;width:24%;height:100%;background:transparent;border:0;z-index:6}.page-hit-left{left:0}.page-hit-right{right:0}.page-hit:not(:disabled):hover{background:linear-gradient(90deg,#ffffff03,#ffffff0c)}.book-caption{display:flex;justify-content:space-between;gap:20px;font:11px/1.7 var(--mono);padding:18px 20px 24px}.book-caption span:first-child{max-width:70%}.book-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #bfc1b6;padding-top:13px;gap:24px}.turn-buttons{display:flex;align-items:center;gap:25px}.text-control{font:12px/1.5 var(--body);background:none;border:0;border-bottom:1px solid transparent;padding:13px 0;min-height:44px}.text-control:hover:not(:disabled){border-bottom-color:var(--ink)}.text-control:disabled{opacity:.35}.book-count{font:9px var(--mono);color:var(--muted);white-space:nowrap}.enlarge{border-bottom:1px solid var(--ink);padding-bottom:8px}.book-help{font:10px/1.7 var(--mono);color:var(--muted);margin:14px 0 27px}.spread-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-bottom:1px solid #bfc1b6;gap:28px}.spread-index button{display:flex;align-items:center;text-align:left;gap:13px;background:transparent;border:0;border-top:1px solid #bfc1b6;padding:17px 0 20px;font:12px/1.5 var(--body);color:#676960}.spread-index button span{font:10px var(--mono)}.spread-index button[aria-pressed=true]{border-top-color:var(--ink);color:var(--ink);box-shadow:0 -1px 0 var(--ink)}.manifesto{padding:105px 0;display:grid;grid-template-columns:1fr 1fr;gap:110px}.manifesto p:not(.eyebrow){max-width:440px;margin-top:28px}.manifesto ol{list-style:none;counter-reset:chapter;padding:0;margin:0}.manifesto li{counter-increment:chapter;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;display:flex;gap:20px}.manifesto li:before{content:'0'counter(chapter);font:10px/2.7 var(--mono);color:var(--muted)}.quote{background:#171917;color:var(--paper);padding:90px 0}.quote blockquote{font-family:var(--serif);max-width:970px;font-size:clamp(39px,5vw,68px);letter-spacing:-.02em;line-height:1.12}.quote .eyebrow{margin:30px 0 0;color:#c8cbc1}.details{padding:105px 0;display:grid;grid-template-columns:1fr 1fr;gap:110px}.details p:not(.eyebrow){max-width:480px}.text-link{font-size:12px}.specs dl{margin:0}.specs dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:17px 0}.specs dt{font:10px/2 var(--mono);color:var(--muted);text-transform:uppercase}.specs dd{margin:0;font-size:15px}.small{font:10px/1.8 var(--mono);color:var(--muted)}.availability{text-align:center;background:#e9e9e3;padding:80px 0 85px}.availability p:not(.eyebrow):not(.small){max-width:450px;margin:25px auto}.availability .small{margin-top:19px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;font:9px/1.8 var(--mono)}.skip{position:absolute;top:-70px;left:20px;background:var(--ink);color:white;padding:10px;z-index:20}.skip:focus{top:10px}dialog{width:min(1280px,96vw);max-height:95dvh;padding:22px;border:1px solid #aaa99e;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#121510c9;backdrop-filter:blur(5px)}.dialog-top,.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top p{font:11px/1.7 var(--mono);margin:0}.dialog-top button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px 17px;font-size:12px;white-space:nowrap}.detail-mode{display:flex;gap:22px;margin:20px 0 16px}.detail-mode button,.dialog-bottom button{background:none;border:0;padding:12px 0;font-size:12px}.detail-mode button[aria-pressed=true]{box-shadow:0 1px var(--ink)}.detail-image{width:100%;overflow:hidden;margin:auto;max-width:1100px}.detail-image img{width:100%;max-width:none}.detail-image[data-mode=left],.detail-image[data-mode=right]{width:min(100%,560px)}.detail-image[data-mode=left] img,.detail-image[data-mode=right] img{width:200%}.detail-image[data-mode=right] img{transform:translateX(-50%)}.dialog-bottom{border-top:1px solid var(--line);margin-top:20px;font:10px var(--mono)}.dialog-bottom button:disabled{opacity:.35}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{min-height:550px}.intro{grid-template-columns:1fr;gap:20px}.intro>div{gap:45px}.manifesto,.details{gap:55px}.cover{margin:0 -25px}.cover figcaption{font-size:8px}.hero-foot{font-size:8px}.book-stage{padding-top:40px}.spread-index{gap:20px}.spread-index button{font-size:11px}}
@media(max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 40px)}header{padding:21px 0}.wordmark{font-size:21px}.wordmark span{font-size:7px;margin-top:5px}nav{gap:18px;font-size:11px}nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr;padding-top:38px}.hero-copy{padding:0}.eyebrow{font-size:9px;margin-bottom:24px}h1{font-size:clamp(40px,11.8vw,64px);line-height:1.04}.deck{font-size:17px;max-width:360px;margin:25px 0}.cover{margin:4px auto 0;width:100%;max-width:500px}.cover figcaption{margin-top:-22px;font-size:8px}.hero-foot{margin-top:26px;gap:18px;font-size:8px;line-height:1.8;padding:20px 0}.hero-foot span:first-child{max-width:160px}.intro,.manifesto,.details{padding:64px 0;grid-template-columns:1fr;gap:28px}.intro>div{grid-template-columns:1fr;gap:28px}.intro h2,h2{font-size:44px}.inside{padding:55px 0 45px}.section-top{display:block}.section-top p:last-child{margin-top:19px;font-size:13px}.book-stage{padding:28px 0 18px;perspective:1000px}.book{transform:rotateX(6deg)}.book-caption{padding:15px 0 20px;font-size:9px;gap:12px}.book-caption span:first-child{max-width:65%}.book-caption span:last-child{white-space:nowrap}.book-controls{display:block;padding-top:8px}.turn-buttons{justify-content:space-between;gap:12px}.text-control{font-size:12px}.enlarge{display:block;margin:6px auto 0;padding:11px 0 8px}.book-help{text-align:center;font-size:9px;max-width:290px;margin:16px auto 25px}.spread-index{grid-template-columns:1fr;gap:0;border-bottom:0}.spread-index button{padding:13px 0;font-size:12px;min-height:48px}.spread-index button[aria-pressed=true]{box-shadow:none;border-top-width:2px;padding-top:12px}.manifesto p:not(.eyebrow){margin-bottom:0}.manifesto li{font-size:15px}.quote{padding:60px 0}.quote blockquote{font-size:43px}.availability{padding:60px 0}.specs dl div{grid-template-columns:90px 1fr}footer{flex-wrap:wrap;font-size:8px}footer span:nth-child(2){display:none}dialog{padding:16px;width:96vw;max-height:96dvh}.dialog-top{align-items:flex-start;gap:14px}.dialog-top p{font-size:9px;max-width:200px}.dialog-top button{font-size:11px;padding:11px}.detail-mode{margin:16px 0;justify-content:center}.detail-mode button{font-size:11px}.dialog-bottom button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cover-open{transform:none}}
.interest-form{max-width:600px;margin:30px auto 0;text-align:left}.interest-form>label{display:block;font-size:12px;margin-bottom:8px}.email-row{display:flex;gap:10px}.email-row input{flex:1;min-width:0;background:#f7f6f2;border:1px solid #989b91;border-radius:0;padding:14px 16px;font:16px/1.4 var(--body);color:var(--ink)}input:focus-visible{outline:2px solid #77663e;outline-offset:3px}.email-row .button{white-space:nowrap;cursor:pointer}.email-row .button:disabled{opacity:.55;cursor:wait}.consent-label{display:flex;align-items:flex-start;gap:10px;margin-top:17px;font-size:12px;line-height:1.6}.consent-label input{appearance:auto;flex:0 0 17px;width:17px;height:17px;accent-color:var(--ink);margin:2px 0 0}.consent-label span{flex:1}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.availability .interest-note{max-width:540px;margin:25px auto 0}.availability .privacy-note{max-width:540px!important;font:10px/1.9 var(--mono);color:var(--muted);margin:16px auto 0!important}.availability .form-status{max-width:none!important;margin:12px 0 0!important;font-size:13px;min-height:0}.form-status:empty{display:none}.form-status[data-state=error]{color:#8c342a}.form-status[data-state=success]{color:#285334}@media(max-width:700px){nav a:last-child{max-width:90px;line-height:1.3;text-align:right}.email-row{flex-direction:column;gap:10px}.email-row .button{width:100%}.availability .privacy-note{font-size:9px}}
.interest-form>.consent-label{display:flex;align-items:flex-start;gap:10px;margin-top:17px;line-height:1.6}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.hero-actions .text-link{padding:12px 0}.closing-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.closing-cta h2{font-size:40px}.closing-cta .eyebrow{margin-bottom:16px}.closing-cta p:last-child{font-size:14px;color:var(--muted);margin-bottom:0}.closing-cta .button{flex-shrink:0}@media(max-width:700px){.hero-actions{gap:20px}.closing-cta{align-items:flex-start;flex-direction:column;padding:48px 0}.closing-cta h2{font-size:36px}}

/* Portrait CSS 3D mockup: the supplied flat fingerprint cover is displayed
   intact, with a coordinated typographic spine and back cover. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cover-model,.cover-interaction{display:none}
.cover:not(.is-interactive) .cover-open{width:76%;max-width:400px;margin:40px auto 60px}
.cover:not(.is-interactive) .cover-open img{box-shadow:1px 1px 0 #d1d2ca}
.cover.is-interactive{margin:0 0 0 12px;perspective:none}
.is-interactive .cover-open{display:none}
.is-interactive .cover-rotator{position:relative;width:100%;aspect-ratio:1.06;perspective:1350px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;isolation:isolate;outline-offset:-6px;border-radius:4px}
.cover-rotator.is-dragging{cursor:grabbing}
/* Pointer interaction has no frame; keyboard focus keeps the shared visible outline. */
.cover-rotator.is-pointer-focused:focus{outline:none}
.cover-rotator::after{content:'';position:absolute;pointer-events:none;bottom:10%;left:20%;width:60%;height:7%;border-radius:50%;background:#27271a20;filter:blur(13px);z-index:-1}
.is-interactive .cover-model{display:block;position:absolute;top:49%;left:50%;width:375px;height:500px;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(var(--cover-scale,.7)) rotateX(var(--cover-x,6deg)) rotateY(var(--cover-y,-24deg));transition:transform .4s cubic-bezier(.2,.65,.3,1);will-change:transform;pointer-events:none}
.is-dragging .cover-model,.reduced-motion .cover-model{transition:none}
.cover-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f2f1ec}
.cover-front{inset:0;transform:translateZ(11px);overflow:hidden;border-radius:1px 2px 2px 1px;background:#f8f8f8;box-shadow:0 0 0 1px #bcbdb64d}
.cover-front img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;object-fit:contain;filter:none;transform:none}
.cover-front::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0000000c,transparent 3%,transparent 96%,#ffffff04);box-shadow:inset 0 0 0 1px #8f91871a;pointer-events:none}
.cover-back{inset:0;transform:rotateY(180deg) translateZ(11px);background:#f8f8f8;border-radius:2px 1px 1px 2px;box-shadow:inset -3px 0 5px #00000012,0 0 0 1px #bcbdb64d}
.cover-spine{left:-11px;top:0;width:22px;height:500px;transform:rotateY(-90deg);background:linear-gradient(90deg,#d6d5cf,#f6f5ef 45%,#e5e4dd)}
.cover-pages{left:365px;top:3px;width:20px;height:494px;transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#d5d2c7 0px,#e7e4da .8px,#faf8f0 1.7px,#c6c4ba 2px);box-shadow:inset 0 5px 5px #0002,inset 0 -5px 5px #0002}
.cover-top,.cover-bottom{left:0;width:375px;height:22px;background:repeating-linear-gradient(0deg,#aaa99f 0,#e7e4da 1px,#f3f0e7 1.8px,#c1bfb4 2px);border:2px solid #e6e5de}
.cover-top{top:-11px;transform:rotateX(90deg)}.cover-bottom{top:489px;transform:rotateX(-90deg)}
.is-interactive .cover-interaction{display:block;text-align:center}
.cover-hint{margin:3px 0 0;font:9px/1.8 var(--mono);letter-spacing:.05em;color:var(--muted)}
.cover-controls{display:flex;align-items:center;justify-content:center;gap:8px}
.cover-controls button{font:10px/1.5 var(--body);border:0;background:none;padding:10px 4px;min-height:44px;color:var(--muted)}
.cover-controls button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.is-interactive figcaption{margin:0 0 10px;font-size:8px}.cover.reduced-motion .cover-model{will-change:auto}
@media(max-width:1050px){.cover.is-interactive{margin-left:0}}
@media(max-width:700px){.cover.is-interactive{max-width:440px;margin:12px auto 0}.is-interactive .cover-rotator{aspect-ratio:1.12}.cover-controls{gap:5px}.cover-hint{font-size:8px}.is-interactive figcaption{font-size:7px;margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.cover-model{transition:none!important}}

/* Typography follows the front cover; these are website mockup surfaces. */
.cover-back img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;object-fit:contain;filter:none;transform:none}
.cover-spine-content{position:absolute;left:50%;top:50%;width:500px;height:22px;transform:translate(-50%,-50%) rotate(90deg);display:flex;align-items:center;justify-content:space-between;padding:0 35px;color:#171917;white-space:nowrap}
.spine-title{font:13px/1 var(--serif);letter-spacing:.025em}
.spine-author{font:8px/1 var(--body);letter-spacing:.1em;text-transform:uppercase}
.cover-reading{max-width:400px;margin:0 auto 12px;font:11px/1.5 var(--body);text-align:center}
.cover-reading summary{display:inline-block;cursor:pointer;padding:8px 12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;list-style:none}
.cover-reading summary::-webkit-details-marker{display:none}
.cover-reading summary:focus-visible{outline:2px solid #77663e;outline-offset:2px}
.cover-reading-copy{text-align:left;border-top:1px solid var(--line);margin-top:8px;padding:22px 0 6px;font:15px/1.6 var(--body)}
.cover-reading-copy h3{font:27px/1.15 var(--serif);margin:0 0 20px}
.cover-reading-copy p{margin:0 0 18px}
.cover-reading-copy .reading-imprint{font:11px/1.7 var(--body);letter-spacing:.04em;margin-bottom:8px}

/* A separate close-up preserves drag-to-turn and the authentic cover image. */
.cover-closeup{margin:0;text-align:center;font:11px/1.5 var(--body)}
.cover-closeup a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;text-underline-offset:4px}
#cover-zoom-dialog{width:min(1000px,96vw);padding:20px;overflow:auto}
.cover-zoom-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:14px 0}
.cover-zoom-tools button{border:0;background:transparent;font:12px/1.5 var(--body);min-height:44px;padding:8px 4px}
.cover-zoom-tools button:hover:not(:disabled){text-decoration:underline;text-underline-offset:5px}
.cover-zoom-tools button:disabled{opacity:.35}
.cover-zoom-steps{display:flex;align-items:center;gap:6px;margin-left:auto}
.cover-zoom-steps button{width:44px;font-size:22px;border:1px solid var(--line)}
#cover-zoom-status{min-width:44px;text-align:center;font:10px var(--mono)}
#cover-zoom-viewport{width:100%;height:min(66dvh,720px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;background:#e9e9e3;scrollbar-gutter:stable;scroll-behavior:auto}
#cover-zoom-viewport:focus-visible{outline-offset:3px}
#cover-zoom-canvas{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
#cover-zoom-image{max-width:none;height:auto;flex:none;box-shadow:0 3px 12px #17191716;user-select:none;-webkit-user-select:none}
#cover-zoom-help{margin:12px 0 0;font:10px/1.7 var(--body);color:var(--muted)}
@media(max-width:700px){#cover-zoom-dialog{padding:14px}.cover-zoom-tools{gap:8px;margin:8px 0}.cover-zoom-tools button{font-size:11px}.cover-zoom-steps{gap:2px}.cover-zoom-steps button{width:44px;font-size:20px}#cover-zoom-status{min-width:35px;font-size:9px}#cover-zoom-viewport{height:60dvh}.cover-zoom-steps{margin-left:0}#cover-zoom-help{font-size:10px}}

.cover-reading-copy h4{font:12px/1.5 var(--body);text-transform:uppercase;letter-spacing:.1em;margin:28px 0 12px}
.cover-zoom-sides{display:flex;gap:22px;margin:12px 0 0;border-bottom:1px solid var(--line)}
.cover-zoom-sides button{background:none;border:0;padding:10px 0;min-height:44px;font:12px/1.5 var(--body);color:var(--muted)}
.cover-zoom-sides button[aria-pressed=true]{color:var(--ink);box-shadow:0 1px var(--ink)}
#cover-zoom-viewport{height:min(59dvh,670px)}
@media(max-width:700px){#cover-zoom-viewport{height:52dvh}.cover-zoom-sides{margin-top:8px}.cover-zoom-sides button{font-size:11px}}

.artist-identity{display:flex;align-items:center;gap:28px;margin:0 0 24px}
.artist-identity img{width:96px;height:auto;flex:none}
.artist-identity h2{font-size:clamp(34px,4vw,52px)}
@media(max-width:700px){.artist-identity{gap:20px}.artist-identity img{width:72px}.artist-identity h2{font-size:34px}}

/* Focused proof reader: the page alone scrolls; navigation stays within reach. */
#spread-dialog{width:min(1320px,96vw);height:94dvh;max-height:94dvh;padding:0;overflow:hidden;border:1px solid var(--line)}
#spread-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto}
#spread-dialog .dialog-top{padding:12px 20px;border-bottom:1px solid var(--line);gap:14px;align-items:center}
#spread-dialog .dialog-top p{max-width:none;font:11px/1.5 var(--mono)}
#spread-dialog .dialog-top button{min-height:44px;padding:10px 18px}
.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 20px;border-bottom:1px solid var(--line)}
#spread-dialog .detail-mode{gap:20px;margin:0}
#spread-dialog .detail-mode button{min-height:44px;padding:9px 0;font-size:12px}
.reader-zoom{display:flex;align-items:center;gap:8px}
.reader-zoom button{min-width:44px;min-height:44px;border:0;background:transparent;font-size:15px}
.reader-zoom button:first-child{font-size:12px}
.reader-zoom button:disabled{opacity:.3}
.reader-zoom output{font:10px var(--mono);min-width:40px;text-align:center}
#reader-viewport{min-height:0;overflow:auto;background:#e6e6df;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;outline-offset:-4px}
#reader-viewport[data-zoomed=true]{cursor:grab}
#reader-viewport[data-panning=true]{cursor:grabbing}
#reader-canvas{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
#spread-dialog .detail-image{flex:none;max-width:none;margin:0;box-shadow:0 4px 16px #15170f16;user-select:none;-webkit-user-select:none}
#spread-dialog .detail-image img{pointer-events:none}
.reader-thumbnails{display:flex;justify-content:center;gap:22px;padding:8px 14px 3px;border-top:1px solid var(--line)}
.reader-thumbnails button{border:0;background:none;padding:3px;min-width:44px;display:flex;align-items:center;gap:7px;font:9px var(--mono);opacity:.55}
.reader-thumbnails button[aria-pressed=true]{opacity:1;box-shadow:0 1px var(--ink)}
.reader-thumb{display:block;overflow:hidden;width:30px;aspect-ratio:.75}
.reader-thumb img{width:200%;max-width:none;height:100%;object-fit:fill}
.reader-thumb[data-side=right] img{transform:translateX(-50%)}
#spread-dialog .dialog-bottom{padding:0 20px;margin:0;border:0;gap:12px}
#spread-dialog .dialog-bottom button{min-height:44px;padding:8px 0}
#reader-help{margin:0;padding:0 20px 10px;text-align:center;font:9px/1.5 var(--mono);color:var(--muted)}
@media(max-width:700px){
 .book{aspect-ratio:.75;max-width:400px;margin:auto;transform:none}
 .book .page-left,.book .book-spine,.book .page-turn{display:none}
 .book .page-right{left:0;width:100%;background-position:var(--artwork-position,right center);border-radius:2px}
 .book .page-right:after{background:none}
 #spread-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;margin:0}
 #spread-dialog .dialog-top{padding:6px 12px}
 #spread-dialog .dialog-top p{font-size:10px}
 #spread-dialog .dialog-top button{padding:8px 12px;font-size:11px}
 .reader-toolbar{flex-wrap:wrap;gap:0;justify-content:center;padding:0 12px 4px}
 #spread-dialog .detail-mode{justify-content:center;gap:24px;width:100%}
 .reader-zoom{justify-content:center;gap:8px}
 .reader-thumbnails{gap:12px;padding:6px 8px 1px}
 .reader-thumbnails button{justify-content:center}
 .reader-thumbnails button>span:last-child{display:none}
 #spread-dialog .dialog-bottom{padding:0 16px}
 #reader-help{font-size:8px;padding:0 12px max(7px,env(safe-area-inset-bottom))}
}
@media(max-height:520px){.reader-thumbnails{display:none}#reader-help{display:none}}
@media(max-height:520px) and (min-width:500px){.reader-toolbar{flex-wrap:nowrap}#spread-dialog .detail-mode{width:auto;gap:14px}.reader-zoom{gap:0}}
