.sfb{--sfb-ink:#4b4b4b;--sfb-accent:#526b68;box-sizing:border-box;position:relative;width:100%;max-width:1800px;margin:24px auto;background:#ededed;color:var(--sfb-ink);border:1px solid #ddd;border-radius:4px;overflow:hidden;font:14px/1.5 system-ui,sans-serif;isolation:isolate}
.sfb *{box-sizing:border-box}.sfb [hidden]{display:none!important}
.sfb .sfb-toolbar,.sfb .sfb-controls{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#f7f7f7;flex-wrap:wrap}
.sfb .sfb-toolbar{border-bottom:1px solid #ddd}.sfb .sfb-title{flex:1;min-width:150px;letter-spacing:.02em;font-size:14px;font-weight:500}
.sfb button,.sfb .sfb-toolbar a{border:1px solid #ccc;border-radius:4px;background:transparent;color:var(--sfb-ink);padding:7px 11px;min-height:40px;font:inherit;cursor:pointer;text-decoration:none;box-shadow:none;text-transform:none;letter-spacing:normal}
.sfb button:hover,.sfb .sfb-toolbar a:hover{background:#dedede;color:#252525}.sfb button:disabled{opacity:.25;cursor:default}.sfb :focus-visible{outline:3px solid #526b68;outline-offset:2px}
.sfb .sfb-body{display:flex;position:relative;min-width:0;background:repeating-linear-gradient(135deg,#00000003 0 1px,transparent 1px 4px),#ededed}
.sfb .sfb-reading-area{position:relative;flex:1;min-width:0;overflow:hidden}
.sfb .sfb-stage{width:100%;height:640px;min-width:0;display:flex;align-items:center;justify-content:center;padding:20px 56px 24px;overflow:hidden}
.sfb .sfb-book{height:100%;width:100%;min-width:0!important;max-width:1800px;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;will-change:transform}
.sfb[data-turn="user_fold"] .sfb-book{cursor:grabbing}
.sfb .sfb-paper{background:#fff;color:#777;overflow:hidden}
.sfb .sfb-paper img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;pointer-events:none;-webkit-user-drag:none}
/* Thin paper edges sit behind the live pages. Their bounds follow cover centering. */
.sfb .sfb-book::before{content:"";position:absolute;pointer-events:none;left:var(--sfb-paper-left);top:var(--sfb-paper-top);width:var(--sfb-paper-width);height:var(--sfb-paper-height);background:repeating-linear-gradient(90deg,#aaa 0 1px,#fafafa 1px 3px);transform:translate(9px,3px) skewY(1deg);box-shadow:0 3px 10px #0002}
.sfb .sfb-paper::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0002,transparent 7%,transparent 95%,#0001);box-shadow:inset 0 0 1px #0004}
.sfb .sfb-paper.--left::after{background:linear-gradient(90deg,#0001,transparent 5%,transparent 93%,#0003)}
.sfb .sfb-turn{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:44px;height:72px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;font:28px/1 system-ui,sans-serif;font-weight:200}
.sfb .sfb-turn:hover{background:#ffffff80}.sfb .sfb-turn:disabled{visibility:hidden}.sfb .sfb-turn-previous{left:4px}.sfb .sfb-turn-next{right:4px}
.sfb .sfb-thumbnails{position:relative;flex:0 0 270px;align-self:stretch;min-height:0;max-height:760px;padding:28px 30px;overflow:auto;overscroll-behavior:contain;background:#e8e8e8;border-right:1px solid #d2d2d2;scrollbar-width:thin}
.sfb .sfb-thumbnail-spread{display:flex;justify-content:center;gap:0;margin:0 auto 22px;width:100%;align-items:flex-start}
.sfb .sfb-thumbnail-spread button{display:flex;flex:0 0 50%;flex-direction:column;align-items:center;justify-content:flex-start;width:50%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:12px;gap:4px}
.sfb .sfb-thumbnail-image{display:block;width:100%;aspect-ratio:var(--sfb-page-ratio,.72);background:#f4f4f4;box-shadow:0 1px 5px #0003}
.sfb .sfb-thumbnails canvas{display:block;width:100%;height:100%;object-fit:contain}
.sfb .sfb-thumbnails [aria-current] .sfb-thumbnail-image{outline:2px solid var(--sfb-accent);outline-offset:-2px}
.sfb .sfb-thumbnails button:hover .sfb-thumbnail-image{filter:brightness(.95)}
.sfb .sfb-status{font-size:12px;text-align:center;margin:0;padding:3px 12px;min-height:24px;color:#666}
.sfb .sfb-error-fallback{margin:0;text-align:center;padding:10px}
.sfb-reader-document{margin:0!important;padding:0!important;height:100%;overflow:hidden}
.sfb-reader{margin:0!important;padding:0!important;background:#ededed;overflow:hidden;font-family:system-ui,sans-serif}
.sfb-reader .sfb{margin:0;border:0;border-radius:0;max-width:none;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column}
.sfb-reader .sfb-body{flex:1;min-height:0;overflow:hidden}
.sfb-reader .sfb-stage{max-height:100%}
.sfb-reader .sfb-thumbnails,.sfb:fullscreen .sfb-thumbnails{max-height:none}
.sfb-reader .sfb-toolbar,.sfb-reader .sfb-controls{flex-shrink:0}
.sfb-reader-message{max-width:640px;margin:12vh auto;padding:24px}
.sfb .sfb-controls{border-top:1px solid #ddd;flex-wrap:nowrap;justify-content:center}.sfb .sfb-controls label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.sfb input.sfb-page-number{font:inherit;color:var(--sfb-ink);width:65px;padding:6px;background:white;border:1px solid #ccc;border-radius:4px;height:36px;margin:0}.sfb input.sfb-range{flex:1;min-width:40px;max-width:650px;accent-color:#777;padding:0;margin:0}.sfb .sfb-count{white-space:nowrap}
.sfb:fullscreen{max-width:none;width:100%;height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.sfb:fullscreen .sfb-body{flex:1;min-height:0;overflow:hidden}.sfb:fullscreen .sfb-stage{max-height:100%}
@media(max-width:700px){.sfb .sfb-toolbar{gap:6px;padding:8px}.sfb .sfb-title{flex-basis:100%}.sfb .sfb-controls{gap:6px;padding:8px}.sfb .sfb-controls label{gap:4px}.sfb .sfb-stage{padding:12px 36px 16px}.sfb .sfb-turn{width:32px;font-size:23px}.sfb .sfb-turn-previous{left:0}.sfb .sfb-turn-next{right:0}.sfb button{padding:6px 9px}.sfb .sfb-thumbnails{position:absolute;inset:0 auto 0 0;width:min(270px,75%);z-index:12;max-height:none;box-shadow:4px 0 12px #0002}}
@media(prefers-reduced-motion:reduce){.sfb .sfb-book{will-change:auto}}

.sfb .sfb-thumbnail-current .sfb-thumbnail-image{box-shadow:0 0 0 2px #666,0 2px 7px #0003}

.sfb .sfb-visually-hidden{position:absolute!important;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Immersive magazine chrome: artwork owns the viewport; tools float in the rails. */
.sfb{border:0;border-radius:0;background:#eee}
.sfb .sfb-body{background:repeating-linear-gradient(132deg,#00000004 0 1px,#ffffff16 1px 3px),#eee}
.sfb .sfb-stage{padding:12px 72px 18px}
.sfb .sfb-toolbar{position:absolute;inset:8px 5px auto auto;z-index:15;display:flex;flex-direction:column;gap:3px;padding:0;border:0;background:transparent}
.sfb .sfb-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sfb .sfb-toolbar button,.sfb .sfb-toolbar a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:38px;padding:5px;border:0;border-radius:0;color:#888;background:transparent;font-size:24px}
.sfb .sfb-toolbar a{font-size:10px;text-align:center}
.sfb .sfb-toolbar button:hover,.sfb .sfb-toolbar a:hover{background:#fff9;color:#444}
.sfb .sfb-toolbar [data-action="zoom"]{order:-1}
.sfb .sfb-controls{position:absolute;z-index:15;bottom:4px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 110px));padding:4px 10px;gap:7px;border:0;border-radius:3px;background:#eeeeeee8;opacity:0;transition:opacity .18s;font-size:12px}
.sfb.sfb-tools-visible .sfb-controls,.sfb .sfb-controls:focus-within,.sfb .sfb-controls:hover{opacity:1}
.sfb input.sfb-page-number{height:27px;width:52px;border-radius:0;padding:2px 4px;font-size:12px}
.sfb .sfb-status:not(.sfb-visually-hidden),.sfb .sfb-error-fallback{position:absolute;z-index:16;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffffff2;padding:12px 18px;border-radius:3px;box-shadow:0 2px 15px #0002}
.sfb .sfb-error-fallback{top:calc(50% + 64px)}
.sfb .sfb-turn{width:44px;height:72px;display:flex;align-items:center;justify-content:center;color:#555}
.sfb .sfb-turn-previous{left:0}.sfb .sfb-turn-next{right:0}
/* Separate trapezoidal page blocks taper towards the outermost leaf. */
.sfb .sfb-book::before,.sfb .sfb-book::after{content:"";position:absolute;pointer-events:none;top:var(--sfb-paper-top);height:var(--sfb-paper-height);background:repeating-linear-gradient(90deg,#999 0 .5px,#fafafa .5px 1.6px);box-shadow:none;transform:none}
.sfb .sfb-book::before{left:calc(var(--sfb-paper-left) - var(--sfb-edge-left));width:var(--sfb-edge-left);clip-path:polygon(0 2%,100% 0,100% 100%,0 98%)}
.sfb .sfb-book::after{left:calc(var(--sfb-paper-left) + var(--sfb-paper-width));width:var(--sfb-edge-right);clip-path:polygon(0 0,100% 2%,100% 98%,0 100%)}
.sfb .sfb-paper{box-shadow:0 0 2px #0002}
.sfb .sfb-paper::after{background:linear-gradient(90deg,#00000029,transparent 10%,transparent 98%,#00000008);box-shadow:inset 0 0 1px #0003}
.sfb .sfb-paper.--left::after{background:linear-gradient(90deg,#00000008,transparent 2%,transparent 87%,#0000002b)}
.sfb[data-spread="single"] .sfb-paper::after{background:linear-gradient(90deg,#0000000b,transparent 3%,transparent 97%,#0000000d)}
.sfb .sfb-thumbnails{flex-basis:283px;padding:20px 26px;background:#e8e8e8}
.sfb .sfb-thumbnail-spread{margin-bottom:26px}
.sfb .sfb-thumbnail-current .sfb-thumbnail-image{box-shadow:0 0 0 3px #666}
.sfb.sfb-zoomed .sfb-reading-area{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}
.sfb.sfb-zoomed .sfb-book{touch-action:pan-x pan-y;cursor:default}
.sfb.sfb-zoomed .sfb-turn{display:none}
@media(hover:none){.sfb .sfb-controls{opacity:1}}
@media(max-width:700px){.sfb .sfb-stage{padding:10px 43px 16px}.sfb .sfb-toolbar{right:0;top:3px}.sfb .sfb-toolbar button,.sfb .sfb-toolbar a{width:34px;height:34px;min-height:34px}.sfb .sfb-turn{width:32px}.sfb .sfb-turn svg{width:19px}.sfb .sfb-controls{width:calc(100% - 80px)}.sfb .sfb-thumbnails{width:min(283px,75%)}}
@media(prefers-reduced-motion:reduce){.sfb .sfb-controls{transition:none}}

/* PDF.js transparent text overlay is enabled in zoom mode for selection/copy. */
.sfb .sfb-text-layer{position:absolute;inset:0;overflow:clip;line-height:1;text-align:initial;letter-spacing:normal;word-spacing:normal;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size))}
.sfb .sfb-text-layer :is(span,br){position:absolute;white-space:pre;color:transparent;cursor:text;transform-origin:0 0;user-select:text;-webkit-user-select:text}
.sfb .sfb-text-layer > :not(.markedContent),.sfb .sfb-text-layer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}
.sfb .sfb-text-layer .markedContent{display:contents}.sfb .sfb-text-layer ::selection{background:#3794ff55}

.sfb.sfb-zoomed .sfb-stage{max-height:none}.sfb.sfb-zoomed .sfb-book{max-width:none}
.sfb .sfb-link-layer{position:absolute;inset:0;pointer-events:none;z-index:3}
.sfb .sfb-pdf-link{position:absolute;display:block;pointer-events:auto;cursor:pointer;background:transparent}
.sfb .sfb-pdf-link:hover,.sfb .sfb-pdf-link:focus-visible{background:#3794ff22;outline:2px solid #526b68;outline-offset:0}
.sfb[data-turn]:not([data-turn="read"]) .sfb-link-layer{visibility:hidden}
.sfb .sfb-share-dialog{width:min(440px,calc(100% - 32px));max-width:none;border:0;padding:24px;background:#f7f7f7;color:#444;box-shadow:0 8px 40px #0004}
.sfb .sfb-share-dialog::backdrop{background:#0006}
.sfb .sfb-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.sfb .sfb-share-options a{display:block;padding:10px;border:1px solid #ccc;border-radius:4px;text-align:center;text-decoration:none;color:inherit;background:#fff}
.sfb .sfb-share-options a:hover,.sfb .sfb-share-options a:focus-visible{background:#e9eeed;outline:2px solid #526b68;outline-offset:1px}
.sfb .sfb-share-options a[href^="https://www.facebook.com/"]{background:#0866ff;border-color:#0866ff;color:#fff}
.sfb .sfb-share-options a[href^="https://twitter.com/"]{background:#000;border-color:#000;color:#fff}
.sfb .sfb-share-options a[href^="https://wa.me/"]{background:#25d366;border-color:#25d366;color:#102d1c}
.sfb .sfb-share-options a:hover{filter:brightness(.92)}
.sfb .sfb-share-dialog label{display:block;margin-top:16px}
.sfb .sfb-share-url{display:block;width:100%;font:inherit;padding:10px;margin-top:6px;border:1px solid #aaa;background:#fff;color:#333}
.sfb .sfb-share-dialog>div{display:flex;gap:8px;justify-content:flex-end}
.sfb .sfb-share-message{min-height:21px;margin:8px 0}
.sfb button.sfb-thumbnail-spread{padding:0;border:0;border-radius:0;min-height:0;background:transparent;font-size:12px}
.sfb .sfb-thumbnail-page{display:flex;flex:0 0 50%;flex-direction:column;align-items:center;width:50%;gap:4px}
.sfb .sfb-thumbnail-header,.sfb .sfb-thumbnail-backdrop{display:none}

/* Phones and tablets: a compact row immediately above the largest fitted book. */
@media(max-width:1180px),(hover:none) and (pointer:coarse){
    .sfb{margin:0 auto;max-width:none}
    .sfb .sfb-stage{padding:calc(48px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(44px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px))}
    .sfb .sfb-toolbar{inset:var(--sfb-tools-top,4px) 0 auto;flex-direction:row;justify-content:center;gap:4px;flex-wrap:nowrap}
    .sfb .sfb-toolbar button,.sfb .sfb-toolbar a{width:40px;height:40px;min-height:40px}
    .sfb .sfb-turn{width:24px}
    .sfb .sfb-turn svg{width:18px}
    .sfb .sfb-controls{bottom:var(--sfb-controls-bottom,4px);width:calc(100% - 48px);max-width:620px;opacity:1}
    .sfb .sfb-thumbnails{position:absolute;inset:0 auto 0 0;width:min(283px,75%);z-index:12;max-height:none;box-shadow:4px 0 12px #0002}
    .sfb.sfb-zoomed .sfb-toolbar{top:env(safe-area-inset-top,0px);background:#eeeeeee8}
    .sfb.sfb-zoomed .sfb-controls{bottom:env(safe-area-inset-bottom,0px)}
    .sfb .sfb-thumbnails{z-index:20;width:min(320px,calc(100% - 56px));padding:0 24px 20px}
    .sfb .sfb-thumbnail-header{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;margin:0 -24px 16px;padding:4px 12px 4px 24px;background:#e8e8e8}
    .sfb .sfb-thumbnail-header button{border:0;font-size:26px;min-width:40px;min-height:40px;padding:0}
    .sfb .sfb-thumbnail-backdrop{display:block;position:absolute;inset:0;z-index:18;width:100%;height:100%;border:0;border-radius:0;padding:0;background:#0003;cursor:pointer}
    .sfb .sfb-thumbnail-backdrop:hover{background:#0003}
    .sfb.sfb-thumbnails-open .sfb-toolbar,.sfb.sfb-thumbnails-open .sfb-controls{visibility:hidden;pointer-events:none}
}
