.comfort-reader{--cr-paper:var(--fang-canvas,#F4F4F2);--cr-ink:var(--fang-ink,#18181B);--cr-muted:var(--fang-muted,#76777A);--cr-line:var(--fang-rule,#D4D4D0);--cr-green:var(--fang-accent,#3F5B51);--cr-turn-duration:550ms;--cr-turn-ease:cubic-bezier(.16,1,.3,1);width:100%;background:var(--cr-paper);color:var(--cr-ink);padding:clamp(24px,4vw,64px);font-family:inherit;}
.comfort-reader,.comfort-reader *{box-sizing:border-box;border-radius:0;}
.comfort-reader.hidden,.comfort-reader [hidden]{display:none!important;}
.comfort-reader ::selection{background:var(--cr-green);color:var(--cr-paper);}
.comfort-reader button{appearance:none;font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;}
.comfort-reader button:disabled{opacity:.2;cursor:default;}
.comfort-reader button:focus-visible,.comfort-reader .cr-reader:focus-visible{outline:1px solid var(--cr-green);outline-offset:5px;}
.cr-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--cr-line);}
.cr-heading-group{display:flex;flex-direction:column;gap:7px;min-width:0;}
.cr-heading-group .cr-kicker{color:var(--cr-green);text-transform:uppercase;}
.cr-header-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;flex-wrap:wrap;min-width:0;}
.cr-book-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.fang-book-tabs{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;}
.fang-book-tab{appearance:none;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--cr-muted,rgba(42,46,53,.62));padding:4px 0;cursor:pointer;transition:color 180ms ease,border-color 180ms ease,opacity 180ms ease;}
.fang-book-tab:hover,.fang-book-tab:focus-visible{color:var(--cr-green);outline:0;}
.fang-book-tab.is-active{color:var(--cr-ink,var(--fang-ink,#18181B));border-bottom-color:var(--cr-green,var(--fang-accent,#3F5B51));}
#books .fang-book-tab{color:rgba(255,255,255,.7);}
#books .fang-book-tab:hover,#books .fang-book-tab:focus-visible{color:var(--swatch-white);}
#books .fang-book-tab.is-active{color:var(--swatch-white);border-bottom-color:var(--fang-badge,#C29B38);}
.cr-header h1,.cr-header h2{font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:0;}
.cr-publication-label{margin:0;color:var(--cr-muted);font-size:10px;letter-spacing:.08em;line-height:1.5;}
.cr-reader{max-width:1600px;margin-inline:auto;}
.cr-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px;height:min(72vh,920px);padding:36px 64px;touch-action:pan-y pinch-zoom;overflow:hidden;}
.cr-book{position:relative;display:block;width:100%;height:100%;opacity:1;isolation:isolate;contain:layout paint;overflow:hidden;transform-origin:50% 50%;}
.shadow-crease{position:absolute;z-index:6;top:36px;bottom:36px;left:50%;width:1px;background:var(--cr-line);box-shadow:0 0 8px rgba(26,26,26,.12);transform:translate3d(-.5px,0,0);pointer-events:none;}
.cr-spread{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;opacity:1;pointer-events:none;transform-origin:50% 50%;}
.cr-spread.cr-spread-current{z-index:1;}
.cr-spread > .cr-page{position:relative;display:flex;flex:0 1 auto;align-items:center;justify-content:center;width:50%;height:100%;margin:0;min-width:0;background:var(--cr-paper);opacity:1;}
.cr-spread > .cr-page:first-child:not(:last-child){border-right:0;}
.cr-page img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;}
.cr-page.cr-blank{opacity:0;}
.cr-arrow{position:absolute;z-index:8;top:50%;transform:translate3d(0,-50%,0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:68px;padding:8px!important;opacity:1;transition:opacity 180ms ease;}
.comfort-reader .cr-arrow:active{transform:translate3d(0,-50%,0);}
.cr-arrow svg{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;}
.cr-arrow span,.cr-toolbar,.cr-strip-item,.cr-message button{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9px;letter-spacing:.12em;font-variant-numeric:tabular-nums;}
.cr-prev{left:0;}
.cr-next{right:0;}
.cr-idle .cr-arrow:not(:disabled){opacity:.2;}
.cr-idle .cr-arrow:focus,.cr-idle .cr-arrow:hover{opacity:1;}
.cr-reader-is-busy .cr-arrow,.cr-reader-is-busy .cr-strip-toggle{pointer-events:none;}
.cr-reader-is-busy .cr-stage{cursor:progress;}
.cr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;border-top:1px solid var(--cr-line);line-height:1.8;}
.cr-progress{color:var(--cr-muted);transition:opacity 150ms cubic-bezier(.16,1,.3,1);}
.cr-progress.cr-progress-fade{opacity:0;}
.cr-strip-toggle{min-height:44px;padding:8px 0!important;text-align:right;white-space:nowrap;}
.cr-strip-toggle:hover{color:var(--cr-green);}
.cr-strip{display:flex;align-items:stretch;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;padding:20px 2px 24px;border-top:1px solid var(--cr-line);scrollbar-width:thin;scrollbar-color:var(--cr-line) var(--cr-paper);}
.cr-strip::-webkit-scrollbar{height:4px;}
.cr-strip::-webkit-scrollbar-thumb{background:var(--cr-line);}
.cr-strip-item{flex:0 0 58px;display:flex;flex-direction:column;gap:8px;align-items:center;min-height:110px;padding:4px!important;border:1px solid transparent!important;color:var(--cr-muted)!important;}
.cr-strip-item[aria-current="page"]{border-color:var(--cr-green)!important;color:var(--cr-ink)!important;}
.cr-strip-item:hover{border-color:var(--cr-line)!important;}
.cr-strip-thumb{display:flex;justify-content:center;align-items:center;width:48px;height:72px;background:var(--cr-paper);color:var(--cr-muted);font-size:8px;overflow:hidden;}
@supports (background:color-mix(in srgb,black,white)){.cr-strip-thumb{background:color-mix(in srgb,var(--cr-line) 16%,var(--cr-paper));}
}
.cr-strip-thumb img{display:block;width:100%;height:100%;object-fit:contain;transform:translateZ(0);}
.cr-message{text-align:center;padding:24px 0;color:var(--cr-muted);font-size:12px;line-height:1.7;}
.cr-message p{margin:0;}
.cr-message button{min-height:44px;padding:12px 16px!important;margin-top:12px;border:1px solid var(--cr-line)!important;}
.cr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:767px){.comfort-reader{padding:88px 16px 24px;}
.cr-header{align-items:flex-start;flex-direction:column;gap:14px;padding-bottom:20px;}
.cr-header-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:8px;width:100%;}
.cr-book-tabs{gap:8px;}
.cr-stage{height:min(70svh,820px);min-height:280px;padding:24px 30px;}
.shadow-crease{display:none;}
.cr-spread > .cr-page{width:100%;}
.cr-arrow{min-width:28px;padding:2px!important;}
.cr-arrow span{font-size:8px;letter-spacing:.04em;}
.cr-arrow svg{width:20px;height:20px;}
.cr-toolbar{align-items:flex-start;gap:8px;padding-block:12px;flex-wrap:wrap;}
.cr-progress{padding-block:12px;}
.cr-strip-toggle{margin-left:auto;font-size:8px;}
.cr-strip-item{flex-basis:52px;}
}
@media (prefers-reduced-motion:reduce){.comfort-reader *, .comfort-reader *::before,.comfort-reader *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important;}
.cr-book,.cr-spread,.cr-spread > .cr-page{transform:none!important;}
}
