.view.member-book-view{padding-top:18px;padding-bottom:32px}
.member-book-layout{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;width:100%;max-width:1360px;margin:0 auto}
.member-book-copy{max-width:600px;padding-right:24px;transform:translateY(-50px);color:#000}
.member-book-copy h1{font-size:clamp(32px,3.1vw,48px);font-weight:800;line-height:1.25;letter-spacing:0;margin:0 0 36px;padding-left:42px}
.member-book-copy p{margin:0;font-size:clamp(16px,1.3vw,20px);line-height:1.35;text-indent:2em}
.member-book-visual{padding-left:30px;position:relative}
.member-book-cover{position:relative;display:block;width:min(100%,clamp(260px,29.5vw,440px));padding:0;border:0;background:transparent;cursor:pointer}
.book-member-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:3px;background:#111c;color:white;font-size:13px;font-weight:700;line-height:1.2}
.book-member-badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.member-book-cover:disabled{cursor:default}
.member-book-cover canvas{display:block;width:100%;height:auto}
.member-book-status{font-size:14px;color:#666;margin:14px 0}
dialog.book-reader{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#333638;color:#fff}
dialog.book-reader[open]{display:flex;flex-direction:column}
.book-reader::backdrop{background:#333638}
.book-reader-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:52px;padding:8px 16px;background:#202325;flex-shrink:0;font-size:14px}
.book-reader-toolbar strong{margin-right:auto;font-size:16px}
.book-reader-toolbar button{padding:6px 10px;border:1px solid #62676a;border-radius:3px;background:#34383b;color:#fff;cursor:pointer;white-space:nowrap}
.book-reader-toolbar button:disabled{opacity:.4;cursor:default}
.book-reader-toolbar button[data-book="close"]{margin-left:auto}
.book-page-label{min-width:76px;text-align:center;font-variant-numeric:tabular-nums}
.book-page-jump{white-space:nowrap}
.book-page-jump input{width:60px;padding:5px;border:1px solid #777;border-radius:3px;background:#fff;color:#111}
.book-reader-stage{flex:1;min-height:0;overflow:hidden;padding:16px;display:flex;cursor:grab;touch-action:none;user-select:none}
.book-reader-stage.is-panning{cursor:grabbing}
.book-reader-spread{display:flex;gap:2px;margin:auto;align-items:flex-start;width:max-content;flex-shrink:0;transform:translate(var(--book-pan-x,0px),var(--book-pan-y,0px))}
.book-reader-spread.is-turning{animation:book-page-turn .18s ease-out}
@keyframes book-page-turn{from{opacity:.6;transform:translate(calc(var(--book-pan-x,0px) + var(--book-turn-offset,18px)),var(--book-pan-y,0px))}to{opacity:1;transform:translate(var(--book-pan-x,0px),var(--book-pan-y,0px))}}
@media(prefers-reduced-motion:reduce){.book-reader-spread.is-turning{animation:none}}
.book-reader-spread canvas{display:block;background:white;flex:none}
.book-reader-status{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);margin:0;padding:6px 12px;background:#202325dd;border-radius:3px;color:#fff;font-size:14px;pointer-events:none}
@media(max-width:850px){.member-book-layout{grid-template-columns:1.2fr 1fr;gap:24px}.member-book-copy{transform:translateY(-24px);padding-right:0}.member-book-copy h1{font-size:30px;margin-bottom:24px;padding-left:30px}.member-book-copy p{font-size:15px}.member-book-visual{padding-left:0}.member-book-cover{width:100%}}
@media(max-width:540px){.member-book-layout{grid-template-columns:1fr;gap:28px}.member-book-copy{transform:none}.member-book-copy h1{font-size:26px;padding-left:26px}.member-book-copy p{font-size:13px}.member-book-cover{width:min(100%,300px);margin:auto}.book-reader-toolbar{gap:5px;padding:6px}.book-reader-toolbar strong{display:none}.book-reader-toolbar button{font-size:12px;padding:5px 7px}}
