:root{--ink: #4a3728;--ink-soft: #6b5544;--leather: #7a4f2c;--leather-dark: #5e3a1e;--leather-light: #96683f;--paper: #fbf6e9;--paper-line: #e8dfc8;--white: #ffffff;--book-w: min(30rem, 80vw);--book-ratio: 1.42;--corner: 5px;--cam-zoom: clamp(1, calc(100vh / (.66 * var(--book-w) * var(--book-ratio))), 2.2);--flip-ease: cubic-bezier(.6, .05, .35, 1);--flip-time: 1.25s;--cover-flip-time: 2.5s;--pan-time: 1s;--email-canvas-font-scale: 1.65;--font-scale: 1;--debug-slow: 1;--spine-w: 18px;--spine-hole-size: 7px;--spine-hole-gap: 28px;--spine-hole-count: 15;--spine-wire-gap: 3px;--spine-hole-offset: 10px;--cover-overlap: 4px}*{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{font-family:Caveat,Courier New,Courier,monospace;color:var(--ink);background:var(--white);overflow:hidden;-webkit-font-smoothing:antialiased}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sketchy{filter:url(#sq0)}body[data-boil="1"] .sketchy{filter:url(#sq1)}body[data-boil="2"] .sketchy{filter:url(#sq2)}.page-sheet .face,.cover3d .face,.book-base3d .face{filter:url(#sq0)}body[data-boil="1"] .page-sheet .face,body[data-boil="1"] .cover3d .face,body[data-boil="1"] .book-base3d .face{filter:url(#sq1)}body[data-boil="2"] .page-sheet .face,body[data-boil="2"] .cover3d .face,body[data-boil="2"] .book-base3d .face{filter:url(#sq2)}.page-sheet--main:not(.is-turning):not(.is-live):not(.is-flipped):has(~.page-sheet--main:not(.is-flipped):not(.is-turning)) .face,.page-sheet--main.is-flipped:not(.is-turning):not(.is-live):is(.page-sheet--main.is-flipped:not(.is-turning)~.page-sheet--main) .face,.page-sheet--strip:not(.is-turning):not(.is-live):not(.is-flipped):has(~.page-sheet--strip:not(.is-flipped):not(.is-turning)) .face,.page-sheet--strip.is-flipped:not(.is-turning):not(.is-live):is(.page-sheet--strip.is-flipped:not(.is-turning)~.page-sheet--strip) .face{filter:none!important;visibility:hidden}.page-sheet--main:not(.is-turning):not(.is-live):not(.is-flipped):has(~.page-sheet--main:not(.is-flipped):not(.is-turning)):before,.page-sheet--main:not(.is-turning):not(.is-live):not(.is-flipped):has(~.page-sheet--main:not(.is-flipped):not(.is-turning)):after,.page-sheet--main.is-flipped:not(.is-turning):not(.is-live):is(.page-sheet--main.is-flipped:not(.is-turning)~.page-sheet--main):before,.page-sheet--main.is-flipped:not(.is-turning):not(.is-live):is(.page-sheet--main.is-flipped:not(.is-turning)~.page-sheet--main):after{visibility:hidden}@media(prefers-reduced-motion:reduce){.sketchy{filter:url(#sq0)!important}.page-sheet .face,.cover3d .face,.book-base3d .face{filter:url(#sq0)!important}}body[data-debug-pause=true],body[data-debug-pause=true] *{animation-play-state:paused!important;transition:none!important}body[data-debug-pause=true] .sketchy,body[data-debug-pause=true] .page-sheet .face,body[data-debug-pause=true] .cover3d .face,body[data-debug-pause=true] .book-base3d .face{filter:url(#sq0)!important}body[data-debug-linear]{--flip-ease: linear}body[data-debug-linear] .book,body[data-debug-linear] .cover-label,body[data-debug-linear] .toc-item,body[data-debug-linear] .corner-link{transition-timing-function:linear!important}.scene{height:100%;display:grid;align-items:start;justify-items:center;padding-top:4vh;perspective:1900px;overflow:hidden}.float{transform:scale(var(--cam-zoom));transform-origin:50% 0%;transition:transform var(--pan-time) var(--flip-ease)}.scroll{transform:translateY(var(--scroll-y, 0px));will-change:transform;touch-action:none}.book{position:relative;width:var(--book-w);height:calc(var(--book-w) * var(--book-ratio));max-height:86vh;transition:transform var(--pan-time) var(--flip-ease);overflow:visible;transform:translate(0)}body[data-focus=left] .book,body[data-focus=back] .book{transform:translate(calc(var(--book-w) - var(--spine-w)))}.spine-back{position:absolute;left:0;top:0;z-index:1;pointer-events:none}.spine{position:absolute;left:0;top:0;z-index:30;pointer-events:auto}.spine svg{pointer-events:none}.spine-hit{position:absolute;left:-20px;top:0;height:100%;z-index:50;pointer-events:auto;background:transparent}.page-wires{position:absolute;top:0;width:var(--spine-hole-size);height:100%;overflow:visible;pointer-events:none;z-index:10}.face--front .page-wires{left:var(--spine-hole-offset)}.face--back .page-wires{right:var(--spine-hole-offset)}.page-sheet .page-wires{top:-10px}.book-base-holes{position:absolute;left:calc(var(--spine-hole-offset) + var(--cover-overlap));top:0;width:var(--spine-hole-size);height:100%;overflow:visible;pointer-events:none;z-index:10}.book-base-holes--back{left:auto;right:calc(var(--spine-hole-offset) + var(--cover-overlap))}.book-base3d{position:absolute;inset:0 0 0 var(--spine-w);transform-origin:left center;transform-style:preserve-3d;transition:transform var(--cover-flip-time) var(--flip-ease);z-index:1}.book-base3d.is-flipped{transform:rotateY(-180deg) translate(20px)}.book-base-face{position:absolute;inset:0;border-radius:var(--corner);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:none}.leather{background-color:var(--leather);background-image:radial-gradient(ellipse 26% 18% at 22% 30%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 30% 22% at 75% 62%,rgba(0,0,0,.08),transparent 60%),radial-gradient(ellipse 20% 16% at 55% 15%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 24% 20% at 35% 82%,rgba(0,0,0,.07),transparent 60%),repeating-radial-gradient(circle at 30% 40%,transparent 0 5px,rgba(0,0,0,.035) 5px 6px),repeating-radial-gradient(circle at 70% 70%,transparent 0 7px,rgba(255,255,255,.028) 7px 8px),radial-gradient(ellipse 120% 100% at 50% 35%,var(--leather-light),var(--leather) 55%,var(--leather-dark))}.page-sheet{position:absolute;inset:0 0 0 var(--spine-w);transform-origin:left center;transform-style:preserve-3d;transition:transform var(--flip-time) var(--flip-ease)}.page-sheet.is-flipped{transform:rotateY(-180deg) translate(20px)}.face{position:absolute;inset:0;border-radius:var(--corner);backface-visibility:hidden;-webkit-backface-visibility:hidden}.face--back{transform:rotateY(180deg);cursor:pointer}.page-sheet .face--front,.page-sheet .face--back{inset:10px 12px 12px 0;border-radius:2px;box-shadow:2px 2px #4a37281f,4px 4px #4a372814,inset 0 0 40px #4a37280d}.cover3d{position:absolute;inset:0 0 0 var(--spine-w);transform-origin:left center;transform-style:preserve-3d;transition:transform var(--cover-flip-time) var(--flip-ease)}.cover3d.is-flipped{transform:rotateY(-180deg) translate(20px)}.face--front{cursor:pointer;display:grid;justify-items:center;align-content:start}.cover-label{margin-top:17%;background:var(--paper);width:auto;min-width:48%;max-width:85%;padding:1.1rem 2rem 1.3rem;text-align:center;border:2.5px solid var(--ink);border-radius:3px 4px;transform:rotate(-.8deg);transition:transform calc(.35s * var(--debug-slow)) var(--flip-ease)}.face--front:hover .cover-label,.face--front:focus-visible .cover-label{transform:rotate(calc(var(--hover-on) * .2deg)) scale(calc(1 + var(--hover-on) * .015))}.cover-label h1{margin:0;font-size:calc(clamp(1.4rem,4.5vw,2.2rem) * var(--font-scale));font-weight:400;letter-spacing:.03em}.paper{background-color:var(--paper);background-image:radial-gradient(ellipse at 20% 30%,rgba(180,160,130,.25) 0%,transparent 60%),radial-gradient(ellipse at 75% 65%,rgba(180,160,130,.2) 0%,transparent 55%);clip-path:inset(0);padding:2.2rem 2.4rem 2rem 2.8rem;display:flex;flex-direction:column}.page-back{background-color:var(--paper);background-image:radial-gradient(ellipse at 20% 30%,rgba(180,160,130,.25) 0%,transparent 60%),radial-gradient(ellipse at 75% 65%,rgba(180,160,130,.2) 0%,transparent 55%)}.page-back[role=button],.page-sheet .face--front[role=button]{cursor:pointer}.page-head{flex:none}.page-title{margin:0;font-size:calc(clamp(1.7rem,5vw,2.3rem) * var(--font-scale));font-weight:400}.page-subtitle{margin:.6rem 0 0;font-size:calc(clamp(1.2rem,3.6vw,1.6rem) * var(--font-scale));font-weight:400;color:var(--ink-soft);opacity:.7;letter-spacing:.04em}.page-body{margin-top:.6rem;font-size:calc(clamp(.75rem,2vw,.95rem) * var(--font-scale));line-height:1.25;color:var(--ink-soft);max-width:48ch}.page-body:first-of-type{margin-top:2rem}.page-head--center{text-align:center}.page-body--center{margin-left:auto;margin-right:auto;text-align:center}.favorites-cols{margin-top:1.6rem;display:flex;gap:2.5rem;flex:1}.favorites-col{flex:1}.favorites-heading{margin:0 0 .5rem;font-size:calc(clamp(1rem,2.6vw,1.25rem) * var(--font-scale));font-weight:400;color:var(--ink-soft)}.favorites-list{margin:0;padding-left:1.2rem;font-size:calc(clamp(.75rem,2vw,.95rem) * var(--font-scale));line-height:1.5;color:var(--ink-soft)}.zh{font-family:ZCOOL KuaiLe,sans-serif;font-size:.85em}.about-photo{position:absolute;top:1.2rem;right:2rem;width:clamp(60px,16vw,110px);height:auto;object-fit:cover;border-radius:3px;opacity:.9;pointer-events:none}.page-indicator{position:absolute;top:1.2rem;right:2rem;font-size:calc(clamp(.7rem,2vw,.85rem) * var(--font-scale));color:var(--ink-soft);opacity:.6;pointer-events:none}.face--back .page-indicator{right:auto;left:2rem}.photo-gallery{margin-top:1.2rem;display:flex;flex-direction:row;gap:.8rem;flex:1;align-items:flex-start}.photo-gallery--nest{flex:none;width:75%;aspect-ratio:1.4}.photo-gallery--nest .photo-primary{flex:0 0 47%;max-width:none;max-height:none;height:100%;object-fit:contain;object-position:right center}.photo-gallery--nest .photo-stack{flex:1;height:100%;width:auto;min-width:0;margin-right:0}.photo-gallery--nest .photo-stack .photo-secondary{flex:1;min-height:0;width:100%;max-width:none;max-height:none;object-fit:contain;object-position:left center}.photo-gallery--nest .photo-stack .photo-secondary:first-child{flex:.6}.photo-primary{width:50%;max-width:100%;height:auto;object-fit:contain;border-radius:3px;opacity:.92}.photo-primary--small{width:40%}.photo-primary--wide{width:65%}.media-row{display:flex;align-items:center;gap:1rem;margin-top:1rem}.media-row--reverse{flex-direction:row-reverse}.media-row--baseline{align-items:flex-end}.media-row--top{align-items:flex-start}.media-row-img{width:50%;max-width:100%;height:auto;object-fit:contain;border-radius:3px;opacity:.92}.media-row-img--small{width:40%}.media-row-img--quarter{width:25%}.media-row-img--smaller{width:30%}.media-row--triple .media-row-img{width:calc(80% / 3)}.media-row--thirds .media-row-img{width:30%}.media-row--pair .media-row-img{width:50%}.media-row--pair .media-row-img:first-child{width:30%}.media-row-text{flex:1;margin:0;font-size:calc(clamp(.75rem,1.8vw,.9rem) * var(--font-scale));color:var(--ink-soft)}.media-row--tight-text .media-row-text{max-width:42ch}.photo-stack{display:flex;flex-direction:column;gap:.5rem;width:23%;margin-right:5%}.photo-secondary{width:100%;max-width:100%;height:auto;object-fit:cover;border-radius:3px;opacity:.9}.toc{margin-top:2.4rem;display:flex;flex-direction:column;gap:.4rem}.toc-item{appearance:none;background:none;border:none;font:inherit;color:var(--ink);cursor:pointer;display:flex;align-items:baseline;gap:.7rem;font-size:calc(clamp(1.05rem,3vw,1.3rem) * var(--font-scale));padding:.45rem .5rem;border-radius:2px;text-align:left;transition:transform calc(.22s * var(--debug-slow)) var(--flip-ease),background-color calc(.2s * var(--debug-slow)) var(--flip-ease)}.toc-item:hover,.toc-item:focus-visible{background:rgba(122,79,44,calc(var(--hover-on) * .07));transform:translate(calc(var(--hover-on) * 6px)) rotate(calc(var(--hover-on) * -.5deg));outline:none}.toc-item:active{transform:translate(calc(var(--hover-on) * 6px)) scale(calc(1 - var(--hover-on) * .03))}.toc-basic-link{display:inline-block;margin-top:1.6rem;padding:.45rem .5rem;font-size:calc(clamp(.85rem,2.2vw,1rem) * var(--font-scale));color:var(--ink);opacity:.65;text-decoration:underline;text-underline-offset:2px;border-radius:2px}.toc-basic-link:hover,.toc-basic-link:focus-visible{opacity:1;background:rgba(122,79,44,calc(var(--hover-on) * .07));outline:none}.blank-note{margin:auto;color:var(--ink-soft);opacity:.55;font-size:calc(1.2rem * var(--font-scale));transform:rotate(-1deg)}.timeline-divider{margin:30% auto 0;display:flex;align-items:center;gap:1.2rem;width:100%}.timeline-rule{flex:1;height:1px;background:var(--ink-soft);opacity:.35}.corner-link{appearance:none;background:none;border:none;font:inherit;color:var(--ink-soft);cursor:pointer;position:absolute;bottom:.55rem;left:1.6rem;font-size:calc(1.05rem * var(--font-scale));opacity:.75;padding:.2rem .4rem;transition:opacity calc(.2s * var(--debug-slow)) var(--flip-ease),transform calc(.2s * var(--debug-slow)) var(--flip-ease)}.corner-link:hover,.corner-link:focus-visible{opacity:calc(.75 + var(--hover-on) * .25);transform:translate(calc(var(--hover-on) * -3px));outline:none}.corner-link--in-note{position:static;display:inline-block;margin-top:1rem;padding-left:0;transform:none!important}.suede{background-color:#8a5f38;background-image:repeating-radial-gradient(circle at 40% 30%,transparent 0 6px,rgba(0,0,0,.03) 6px 7px),radial-gradient(ellipse 130% 110% at 50% 40%,#96683f,#7d5330 60%,#6b4527);display:grid;place-items:center;padding:2rem}.note{position:absolute;left:50%;top:max(33%,10rem);transform:translate(-50%,-50%) rotate(-1.2deg);background:var(--paper);border:2.5px solid var(--ink);border-radius:3px;padding:1.4rem 2rem 1.6rem;width:min(21rem,90%)}.note h2{margin:0 0 .8rem;font-size:calc(1.9rem * var(--font-scale));font-weight:400}.contact-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:calc(1.15rem * var(--font-scale))}.contact-lines li{display:flex;gap:.8rem;align-items:baseline;border-bottom:2px dotted rgba(74,55,40,.25);padding-bottom:.25rem}.contact-lines .k{color:var(--ink-soft);min-width:5.2rem;font-size:.95em}.contact-lines .v{color:var(--ink);opacity:.65;font-style:italic}.contact-lines .v a{color:inherit;text-decoration:none;border-bottom:1.5px solid rgba(74,55,40,.3);transition:border-color .2s,opacity .2s}.contact-lines .v a:hover,.contact-lines .v a:focus-visible{opacity:1;border-bottom-color:var(--ink)}.email-obfuscator{opacity:1;font-style:italic;line-height:1}.email-reveal{appearance:none;position:relative;display:inline-block;width:min(13rem,48vw);max-width:48vw;height:1.35em;margin:0;padding:0;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;line-height:1;vertical-align:-.26em}.email-canvas{display:block;width:100%;height:100%;font:inherit;opacity:0;transform:translateY(.08em);transition:opacity calc(.18s * var(--debug-slow)) ease}.email-mask{position:absolute;left:0;top:0;bottom:0;max-width:100%;pointer-events:none}@media(max-width:42rem),(orientation:portrait),(max-aspect-ratio:1/1){.email-mask{left:auto;right:0}}.email-scribble{position:absolute;inset:-.15rem -.2rem -.05rem;color:var(--ink-soft);pointer-events:none;overflow:visible}.email-scribble path{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.08;stroke-dashoffset:0;transition:stroke-dashoffset calc(.7s * var(--debug-slow)) var(--flip-ease),opacity calc(.12s * var(--debug-slow)) ease}.email-reveal-label,.email-copied-label{position:absolute;inset:0;display:grid;place-items:center;font:inherit;line-height:inherit;opacity:0;transform:scale(.96);pointer-events:none;transition:opacity calc(.25s * var(--debug-slow)) ease,transform calc(.25s * var(--debug-slow)) ease}.email-reveal-label{color:var(--paper);text-shadow:0 1px 0 rgba(74,55,40,.4)}.email-copied-label{left:var(--copied-left, 0px);right:auto;width:max-content;display:block;color:var(--ink-soft);text-align:center;transform:translateY(.17em) scale(.96);transform-origin:center}.email-reveal:not(.is-revealed):not(.is-concealing):hover .email-reveal-label,.email-reveal:not(.is-revealed):not(.is-concealing):focus-visible .email-reveal-label{opacity:1;transform:rotate(-.7deg) scale(1.03)}.email-reveal:focus-visible{outline:1.5px dotted var(--ink-soft);outline-offset:2px}.email-reveal.is-revealed{cursor:pointer}.email-reveal.is-revealed .email-canvas{opacity:.7;transition-delay:calc(.2s * var(--debug-slow))}.email-reveal.is-concealing .email-canvas{transition-delay:calc(.08s * var(--debug-slow))}.email-reveal.is-copying .email-canvas,.email-reveal.is-copied .email-canvas{opacity:0;transition-delay:0s}.email-reveal.is-copied .email-copied-label{opacity:1;transform:translateY(.17em) rotate(-.7deg) scale(1.03)}.email-reveal.is-conceal-starting .email-scribble path{stroke-dashoffset:1.08;opacity:1;transition:none}.email-reveal.is-revealed .email-scribble path{stroke-dashoffset:-1.08;opacity:0;transition:stroke-dashoffset calc(.7s * var(--debug-slow)) var(--flip-ease),opacity calc(.2s * var(--debug-slow)) ease calc(.55s * var(--debug-slow))}.email-reveal.is-revealed .email-mask{pointer-events:none}.email-reveal.is-revealed .email-reveal-label,.email-reveal.is-concealing .email-reveal-label,.email-reveal.is-copying .email-reveal-label,.email-reveal.is-copied .email-reveal-label{opacity:0;transform:scale(.96)}.contact-icons{margin-top:.2rem}.contact-icon-row{display:flex;gap:1rem;align-items:center;font-style:normal}.contact-icon{opacity:.55;transition:opacity .2s,transform .2s;display:inline-flex}.contact-icon img{width:22px;height:22px;display:block}.contact-icon:hover,.contact-icon:focus-visible{opacity:1;transform:scale(1.15)}@media(max-width:42rem){body[data-view=back-outside] .book{transform:translate(calc(var(--book-w) + var(--spine-w)))}}@media(max-width:42rem),(orientation:portrait),(max-aspect-ratio:1/1){:root{--book-w: min(30rem, 92vw);--book-ratio: 1.6;--email-canvas-font-scale: 1;--font-scale: 1.25}@media(max-width:24rem){:root{--book-ratio: 1.8}}.book{max-height:none}.float{transform:scale(1)}.paper{padding:1.4rem .9rem}.page-face--main.paper{padding-left:.3rem}.page-sheet--main .face--back.paper{padding-left:1.1rem;padding-right:.3rem}.page-title,.page-subtitle{margin-left:0;margin-right:0}.page-subtitle{margin-top:.4rem}.about-photo{right:.9rem}.page-indicator{top:.7rem;right:1.1rem}.face--back .page-indicator{right:auto;left:1.1rem}.media-row--thirds{margin-left:-.3rem;gap:.4rem}.media-row--thirds .media-row-img{width:31%}.media-row:not(:has(.media-row-text)){gap:.5rem}.media-row:not(:has(.media-row-text)) .media-row-img{min-width:0}.media-row--triple .media-row-img{width:calc((100% - 1rem) / 3)}.media-row--pair .media-row-img{width:45%}.media-row--pair .media-row-img:first-child{width:35%}.media-row--baseline .media-row-img{width:60%}.media-row--baseline .media-row-img--small{width:55%}.media-row--baseline .media-row-img--quarter{width:28%}.photo-gallery .photo-primary{width:50%}.photo-gallery .photo-primary--wide{width:65%}.about-photo~.page-head .page-subtitle{padding-right:4.5rem}.cover-label{margin-left:auto;margin-right:auto;max-width:92%}.cover-label h1{white-space:nowrap;font-size:calc(clamp(1.1rem,4.5vw,1.6rem) * var(--font-scale))}.note{left:50%;top:max(34%,7rem);transform:translate(-50%,-50%) rotate(-1.2deg);width:min(17rem,85%);padding:1.2rem}.note h2{margin-bottom:.4rem}.contact-lines li{justify-content:space-between;align-items:flex-start}.contact-lines .k{min-width:0}.contact-lines .v{margin-top:1.5rem;text-align:right}.contact-lines li:has(.email-obfuscator){flex-wrap:wrap}.contact-lines li:has(.email-obfuscator) .v{flex:1 1 100%;margin-top:.4rem}.email-reveal{max-width:100%}.favorites-cols{flex-direction:column;gap:1.2rem}.media-row:has(.media-row-text){flex-direction:column;align-items:stretch}}:root{--bound-strip-clearance: 3px;--seam-hole-clearance: 3px;--bound-strip-w: calc(var(--spine-hole-offset) + var(--spine-hole-size) + var(--bound-strip-clearance) + var(--seam-hole-clearance));--cover-bound-strip-w: calc(var(--cover-overlap) + var(--bound-strip-w));--base-bound-strip-w: var(--cover-bound-strip-w);--seam-cleanup: 4px;--page-face-w: calc(var(--book-w) - var(--spine-w) - 12px);--cover-face-w: calc(var(--book-w) - var(--spine-w) + var(--cover-overlap))}.page-face--strip,.cover-face--strip,.book-base-face--strip{display:block;padding:0;clip-path:none}.page-face--main.paper{padding-left:max(1.2rem,calc(2.8rem - var(--bound-strip-w)))}.page-sheet--strip,.page-sheet--main,.cover3d--strip,.cover3d--main,.book-base3d--strip,.book-base3d--main{transform-style:preserve-3d}.page-sheet--strip{pointer-events:auto}.cover3d--strip,.book-base3d--strip{pointer-events:none}.page-sheet--strip .face,.cover3d--strip .face,.book-base3d--strip .face{pointer-events:auto}.page-sheet--main{pointer-events:none}.page-sheet--main .face--front,.page-sheet--main .face--back{pointer-events:auto}.page-sheet--strip,.cover3d--strip,.book-base3d--strip{z-index:var(--rank);transition:z-index 0s 0s}.page-sheet--strip.is-flipped,.cover3d--strip.is-flipped,.book-base3d--strip.is-flipped{z-index:calc(var(--top-rank) + 1 - var(--rank));transition:z-index 0s 0s}.page-sheet--main,.cover3d--main,.book-base3d--main{z-index:calc(30 + var(--rank));transition:z-index 0s 0s}.page-sheet--main.is-flipped,.cover3d--main.is-flipped,.book-base3d--main.is-flipped{z-index:calc(30 + var(--top-rank) + 1 - var(--rank));transition:z-index 0s 0s}.page-sheet--strip.is-turning,.page-sheet--main.is-turning,.page-sheet--strip.is-flipped.is-turning,.page-sheet--main.is-flipped.is-turning{transition:transform var(--flip-time) var(--flip-ease),z-index 0s var(--flip-half-time)}.page-sheet--strip.is-skip,.page-sheet--main.is-skip,.page-sheet--strip.is-flipped.is-skip,.page-sheet--main.is-flipped.is-skip{transition:transform 0s,z-index 0s var(--flip-half-time)!important}.page-sheet--main.is-skip .face,.page-sheet--main.is-skip:before,.page-sheet--main.is-skip:after,.page-sheet--strip.is-skip .face,.page-sheet--strip.is-skip:before,.page-sheet--strip.is-skip:after{visibility:hidden!important}.cover3d--strip.is-turning,.book-base3d--strip.is-turning,.cover3d--main.is-turning,.book-base3d--main.is-turning,.cover3d--strip.is-flipped.is-turning,.book-base3d--strip.is-flipped.is-turning,.cover3d--main.is-flipped.is-turning,.book-base3d--main.is-flipped.is-turning{transition:transform var(--cover-flip-time) var(--flip-ease),z-index 0s var(--cover-flip-half-time)}.cover3d--main.is-flipped{pointer-events:none}.cover3d--main.is-flipped .face--back,body[data-view=start][data-focus=left] .cover3d--main{pointer-events:auto}body[data-view=back-inside] .book-base3d--main,body[data-view=back-outside] .book-base3d--main{cursor:pointer}body[data-view=cover] .book-base3d--main{cursor:default}.page-sheet--strip .face--front,.page-sheet--strip .face--back{inset:10px auto 12px 0;width:calc(var(--bound-strip-w) + var(--seam-cleanup));box-shadow:2px 2px #4a37281f,4px 4px #4a372814}.page-sheet--main .face--front,.page-sheet--main .face--back{inset:10px 12px 12px calc(var(--bound-strip-w) - var(--seam-cleanup));box-shadow:2px 2px #4a37281f,4px 4px #4a372814}.page-sheet--main .face--front{clip-path:inset(0 0 0 var(--seam-cleanup))}.page-sheet--main .face--back{clip-path:inset(0 var(--seam-cleanup) 0 0)}.page-sheet--strip .face--front{border-radius:2px 0 0 2px}.page-sheet--main .face--front,.page-sheet--strip .face--back{border-radius:0 2px 2px 0}.page-sheet--main .face--back{border-radius:2px 0 0 2px}.page-sheet--strip .page-face,.page-sheet--main .page-face{background-size:var(--page-face-w) 100%}.page-sheet--strip .page-face{background-position:0 0}.page-sheet--main .page-face{background-position:calc(0px - var(--bound-strip-w) + var(--seam-cleanup)) 0}.page-sheet--strip .face--back{background-position:calc(var(--bound-strip-w) - var(--page-face-w) + var(--seam-cleanup)) 0}.page-sheet--main .face--back{background-position:calc(0px - var(--bound-strip-w) + var(--seam-cleanup)) 0}.page-sheet--main:after{content:"";position:absolute;top:10px;bottom:12px;left:calc(var(--bound-strip-w) - var(--seam-cleanup));width:var(--seam-cleanup);pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);z-index:80;background-color:var(--paper);background-image:radial-gradient(ellipse at 20% 30%,rgba(180,160,130,.25) 0%,transparent 60%),radial-gradient(ellipse at 75% 65%,rgba(180,160,130,.2) 0%,transparent 55%);background-size:var(--page-face-w) 100%;background-position:12px 0}.page-sheet--main:before{content:"";position:absolute;top:10px;bottom:12px;left:calc(var(--bound-strip-w) - var(--seam-cleanup) + 1px);width:var(--seam-cleanup);pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:80;background-color:var(--paper);background-image:radial-gradient(ellipse at 20% 30%,rgba(180,160,130,.25) 0%,transparent 60%),radial-gradient(ellipse at 75% 65%,rgba(180,160,130,.2) 0%,transparent 55%);background-size:var(--page-face-w) 100%;background-position:calc(0px - var(--bound-strip-w) + var(--seam-cleanup)) 0}.page-sheet--strip .page-wires{top:-10px}.page-sheet--strip .face--front .page-wires{left:var(--spine-hole-offset)}.page-sheet--strip .face--back .page-wires{right:var(--spine-hole-offset)}.page-sheet--main .page-wires,.cover3d--main .page-wires{display:none}.cover3d--strip .face--front,.cover3d--strip .face--back{inset:0 auto 0 calc(0px - var(--cover-overlap));width:calc(var(--cover-bound-strip-w) + var(--seam-cleanup))}.cover3d--main .face--front,.cover3d--main .face--back{inset:0 0 0 calc(var(--bound-strip-w) - var(--seam-cleanup))}.cover3d--main .face--back{clip-path:inset(0 var(--seam-cleanup) 0 0)}.cover3d--main:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--bound-strip-w) - var(--seam-cleanup) - 1px);width:var(--seam-cleanup);pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:80;background-color:var(--leather);background-image:radial-gradient(ellipse 26% 18% at 22% 30%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 30% 22% at 75% 62%,rgba(0,0,0,.08),transparent 60%),radial-gradient(ellipse 20% 16% at 55% 15%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 24% 20% at 35% 82%,rgba(0,0,0,.07),transparent 60%),repeating-radial-gradient(circle at 30% 40%,transparent 0 5px,rgba(0,0,0,.035) 5px 6px),repeating-radial-gradient(circle at 70% 70%,transparent 0 7px,rgba(255,255,255,.028) 7px 8px),radial-gradient(ellipse 120% 100% at 50% 35%,var(--leather-light),var(--leather) 55%,var(--leather-dark));background-size:var(--cover-face-w) 100%;background-position:calc(0px - var(--cover-bound-strip-w) + var(--seam-cleanup)) 0}.cover3d--strip .face--front .page-wires{left:calc(var(--spine-hole-offset) + var(--cover-overlap))}.cover3d--strip .face--back .page-wires{right:calc(var(--spine-hole-offset) + var(--cover-overlap))}.cover3d--strip .cover-face,.cover3d--main .cover-face{background-size:var(--cover-face-w) 100%}.cover3d--strip .cover-face{background-position:0 0}.cover3d--main .cover-face{background-position:calc(0px - var(--cover-bound-strip-w) + var(--seam-cleanup)) 0}.cover3d--strip .face--back{background-position:calc(var(--cover-bound-strip-w) - var(--cover-face-w) + var(--seam-cleanup)) 0}.cover3d--main .face--back{background-position:0 0}.book-base3d--strip .book-base-face.face--front,.book-base3d--strip .book-base-face.face--back{inset:0 auto 0 calc(0px - var(--cover-overlap));width:calc(var(--base-bound-strip-w) + var(--seam-cleanup))}.book-base3d--main .book-base-face.face--front,.book-base3d--main .book-base-face.face--back{inset:0 0 0 calc(var(--bound-strip-w) - var(--seam-cleanup))}.book-base3d--main .book-base-face.face--front{clip-path:inset(0 0 0 var(--seam-cleanup))}.book-base3d--strip .book-base-face,.book-base3d--main .book-base-face{background-size:var(--cover-face-w) 100%}.book-base3d--strip .book-base-face{background-position:0 0}.book-base3d--main .book-base-face{background-position:calc(0px - var(--cover-bound-strip-w) + var(--seam-cleanup)) 0}.book-base3d--strip .face--back{background-position:calc(var(--base-bound-strip-w) - var(--cover-face-w) + var(--seam-cleanup)) 0}.book-base3d--main .face--back{background-position:0 0}.book-base3d--strip .face--front .book-base-holes{left:calc(var(--spine-hole-offset) + var(--cover-overlap))}.book-base3d--strip .face--back .book-base-holes--back{right:calc(var(--spine-hole-offset) + var(--cover-overlap))}.book-base3d--main:after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--bound-strip-w) - var(--cover-overlap) - 1px);width:var(--cover-overlap);pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);z-index:80;background-color:var(--leather);background-image:radial-gradient(ellipse 26% 18% at 22% 30%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 30% 22% at 75% 62%,rgba(0,0,0,.08),transparent 60%),radial-gradient(ellipse 20% 16% at 55% 15%,rgba(255,255,255,.05),transparent 60%),radial-gradient(ellipse 24% 20% at 35% 82%,rgba(0,0,0,.07),transparent 60%),repeating-radial-gradient(circle at 30% 40%,transparent 0 5px,rgba(0,0,0,.035) 5px 6px),repeating-radial-gradient(circle at 70% 70%,transparent 0 7px,rgba(255,255,255,.028) 7px 8px),radial-gradient(ellipse 120% 100% at 50% 35%,var(--leather-light),var(--leather) 55%,var(--leather-dark));background-size:var(--cover-face-w) 100%;background-position:calc(var(--cover-bound-strip-w) - var(--cover-face-w)) 0}.cover3d--strip .face--front,.book-base3d--strip .book-base-face.face--front{border-radius:var(--corner) 0 0 var(--corner)}.cover3d--main .face--front,.book-base3d--main .book-base-face.face--front,.cover3d--strip .face--back,.book-base3d--strip .book-base-face.face--back{border-radius:0 var(--corner) var(--corner) 0}.cover3d--main .face--back,.book-base3d--main .book-base-face.face--back{border-radius:var(--corner) 0 0 var(--corner)}body[data-debug-seam] .page-sheet--main:before,body[data-debug-seam] .cover3d--main:before{box-shadow:inset 0 0 0 100px #0ff6}body[data-debug-seam] .page-sheet--main:after,body[data-debug-seam] .book-base3d--main:after{box-shadow:inset 0 0 0 100px #f0f6}.face--front,.face--back{--hover-on: 0}body[data-focus=right] .page-sheet--main:not(.is-flipped) .face--front,body[data-focus=left] .page-sheet--main.is-flipped .face--back,body[data-focus=cover] .cover3d--main .face--front,body[data-focus=left] .cover3d--main .face--back,body[data-focus=back] .book-base3d--main .face--front,body[data-focus=back] .book-base3d--main .face--back{--hover-on: 1}body[data-focus=left] .page-sheet--main:not(.is-flipped) .face--front *,body[data-focus=cover] .page-sheet--main:not(.is-flipped) .face--front *,body[data-focus=back] .page-sheet--main:not(.is-flipped) .face--front *,body[data-focus=right] .page-sheet--main.is-flipped .face--back *,body[data-focus=cover] .page-sheet--main.is-flipped .face--back *,body[data-focus=back] .page-sheet--main.is-flipped .face--back *,body[data-focus=right] .cover3d--main .face--front *,body[data-focus=left] .cover3d--main .face--front *,body[data-focus=back] .cover3d--main .face--front *,body[data-focus=right] .cover3d--main .face--back *,body[data-focus=cover] .cover3d--main .face--back *,body[data-focus=back] .cover3d--main .face--back *,body[data-focus=right] .book-base3d--main .face--front *,body[data-focus=left] .book-base3d--main .face--front *,body[data-focus=cover] .book-base3d--main .face--front *,body[data-focus=right] .book-base3d--main .face--back *,body[data-focus=left] .book-base3d--main .face--back *,body[data-focus=cover] .book-base3d--main .face--back *{pointer-events:none}body[data-view=start][data-focus=left] .cover3d--main .face--back .note,body[data-view=start][data-focus=left] .cover3d--main .face--back .note *{pointer-events:auto}.bookmark{position:absolute;inset:0 0 0 var(--spine-w);transform-origin:left center;transform-style:preserve-3d;transition:transform var(--flip-time) var(--flip-ease);padding:0;border:none;background:none;cursor:pointer;appearance:none;pointer-events:none}.bookmark.is-flipped{transform:rotateY(-180deg) translate(20px)}.bookmark--strip{z-index:var(--rank);transition:z-index 0s 0s}.bookmark--strip.is-flipped{z-index:calc(var(--top-rank) + 1 - var(--rank));transition:z-index 0s 0s}.bookmark--main{z-index:calc(30 + var(--rank));transition:z-index 0s 0s}.bookmark--main.is-flipped{z-index:calc(30 + var(--top-rank) + 1 - var(--rank));transition:z-index 0s 0s}.bookmark--strip.is-turning,.bookmark--main.is-turning,.bookmark--strip.is-flipped.is-turning,.bookmark--main.is-flipped.is-turning{transition:transform var(--flip-time) var(--flip-ease),z-index 0s var(--flip-half-time)}.bookmark-ribbon{position:absolute;left:30px;top:-10px;width:50px;height:170px;transform-style:preserve-3d;pointer-events:auto}.bookmark-face{position:absolute;inset:0;background:#2b6cb0;background-image:linear-gradient(90deg,#0000001f,#ffffff2e 45%,#ffffff0d 55%,#0000002e);border-radius:3px;box-shadow:1px 1px #0000002e,inset 0 0 6px #0000002e;backface-visibility:hidden;-webkit-backface-visibility:hidden}.bookmark-face--back{transform:rotateY(180deg)}.bookmark-art{display:block;width:100%;height:100%}.bookmark-art--reversed{transform:scaleX(-1)}.bookmark--main:hover .bookmark-ribbon{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.bookmark{transition:none}}
