@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap');

*{box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --paper:#F2EEE4;
  --paper-soft:#EAE3D5;
  --paper-light:#F7F3EA;
  --ink:#25221E;
  --muted:#777067;
  --line:#D2C8B8;
  --line-dark:#B5A894;
  --wood:#29231E;
  --wood-mid:#3A3028;
  --wood-light:#644F3E;
  --burgundy:#6F3937;
  --ochre:#A18453;
  --display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:Inter,Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color-scheme:light;
}
html,body{min-height:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.7;overflow-x:hidden}
body:before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E")}
::selection{background:#d6c1ad;color:#211c18}
*{scrollbar-width:thin;scrollbar-color:var(--line-dark) transparent}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-dark);border:3px solid transparent;background-clip:padding-box;border-radius:10px}
a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.skip-link{position:absolute;left:14px;top:-80px;z-index:200;background:var(--ink);color:var(--paper);padding:9px 13px;font:12px var(--sans)}.skip-link:focus{top:14px}
:focus-visible{outline:2px solid var(--burgundy);outline-offset:4px}
.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}

.site-header{position:fixed;inset:0 0 auto;z-index:80;border-bottom:1px solid transparent;transition:background .28s ease,border-color .28s ease,opacity .4s ease;opacity:1}
.site-header.is-scrolled{background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-color:color-mix(in srgb,var(--line) 70%,transparent)}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-family:var(--display);font-weight:500;font-size:23px;letter-spacing:.12em}
.main-nav{display:flex;align-items:center;gap:28px;font:11px var(--sans);text-transform:uppercase;letter-spacing:.11em}
.main-nav a{position:relative;color:var(--muted)}.main-nav a:hover,.main-nav a.nav-active{color:var(--ink)}
.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}.main-nav a:hover:after,.main-nav a.nav-active:after{right:0}
.home-page .site-header{opacity:0;pointer-events:none}.intro-seen .home-page .site-header,.home-page.intro-complete .site-header{opacity:1;pointer-events:auto}

/* Opening book */
.book-intro{position:fixed;inset:0;z-index:70;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(222,202,174,.17),transparent 32%),linear-gradient(145deg,#241e19,#342a22 52%,#1e1915);color:#efe7da;transition:background .65s cubic-bezier(.22,.8,.3,1),opacity .45s ease}
.intro-seen .book-intro{display:none}
.book-intro:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),radial-gradient(ellipse at center,transparent 32%,rgba(0,0,0,.46) 100%);background-size:40px 40px,40px 40px,auto}
.intro-skip{position:absolute;right:clamp(24px,4vw,60px);top:clamp(24px,4vw,52px);z-index:10;font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#c8baa8;padding-bottom:4px;border-bottom:1px solid rgba(200,186,168,.5)}
.intro-stage{position:relative;width:min(1080px,90vw);height:min(660px,72vh);min-height:500px;z-index:2;perspective:2200px}
.intro-desk{position:absolute;left:8%;right:8%;bottom:4%;height:17%;background:rgba(0,0,0,.32);filter:blur(42px);border-radius:50%;transform:scaleY(.42);pointer-events:none}
.intro-closed{position:absolute;left:50%;top:50%;width:min(430px,40vw);aspect-ratio:2/3;transform:translate(-50%,-50%) rotate(-1.5deg);transform-style:preserve-3d;transition:opacity .55s ease,transform .7s cubic-bezier(.22,.8,.3,1);filter:drop-shadow(0 35px 36px rgba(0,0,0,.46));z-index:5}
.intro-cover-face{position:absolute;inset:0;border-radius:3px 8px 8px 3px;background:linear-gradient(90deg,rgba(35,12,12,.28),transparent 11%,rgba(255,255,255,.035) 45%,rgba(0,0,0,.12)),#743a37;color:#e7cf9e;box-shadow:inset 1px 0 rgba(255,255,255,.12),inset -1px 0 rgba(0,0,0,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 44px}
.intro-cover-face:before{content:'';position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.13) 2px 3px);mix-blend-mode:overlay}
.intro-cover-face strong{font-family:var(--display);font-size:clamp(42px,4vw,62px);letter-spacing:.13em;font-weight:500}.intro-cover-face small{font:8px var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-top:15px}.cover-mark{font:12px var(--display);letter-spacing:.22em;margin-top:58px}.cover-rule{position:absolute;left:12%;right:12%;top:10%;height:1px;background:#c8a66d}.cover-rule.bottom{top:auto;bottom:10%}
.intro-cover-spine{position:absolute;left:-14px;top:12px;bottom:12px;width:22px;background:linear-gradient(90deg,#391b1a,#5b2d2b 50%,#2d1615);border-radius:3px 0 0 3px}.intro-cover-pages{position:absolute;right:-8px;top:13px;bottom:13px;width:10px;background:repeating-linear-gradient(90deg,#e7d9bd 0 1px,#f4ead8 1px 2px);border-radius:0 3px 3px 0}
.book-intro.is-open .intro-closed{opacity:0;transform:translate(-50%,-50%) rotate(-7deg) scale(.94);pointer-events:none}

.intro-spread{position:absolute;inset:50% auto auto 50%;width:min(1000px,88vw);height:min(620px,68vh);min-height:460px;transform:translate(-50%,-50%) scale(.88);opacity:0;display:flex;filter:drop-shadow(0 35px 38px rgba(0,0,0,.45));transition:opacity .55s ease .18s,transform .72s cubic-bezier(.22,.8,.3,1) .12s;transform-style:preserve-3d}
.book-intro.is-open .intro-spread{opacity:1;transform:translate(-50%,-50%) scale(1)}
.intro-left-paper,.intro-right-paper{position:relative;width:50%;height:100%;background:#F2EEE4;color:var(--ink);border:1px solid rgba(86,67,48,.24)}
.intro-left-paper{border-radius:7px 1px 1px 7px;box-shadow:inset -36px 0 54px rgba(63,43,28,.11),inset 0 0 80px rgba(114,82,52,.025)}
.intro-right-paper{border-radius:1px 7px 7px 1px;box-shadow:inset 36px 0 54px rgba(63,43,28,.11),inset 0 0 80px rgba(114,82,52,.025);perspective:1800px;overflow:visible}
.intro-spread:after{content:'';position:absolute;left:50%;top:1%;bottom:1%;width:20px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(40,27,18,.16),rgba(255,255,255,.64) 46%,rgba(40,27,18,.13));z-index:15;pointer-events:none}
.intro-left-paper:before,.intro-right-paper:before,.intro-page:before,.page-face:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.38;background:radial-gradient(circle at 22% 18%,rgba(96,70,42,.045) 0 1px,transparent 1.4px),repeating-linear-gradient(0deg,transparent 0 5px,rgba(96,70,42,.017) 5px 6px);background-size:15px 15px,auto}
.page-running{position:absolute;top:30px;left:44px;right:44px;padding-bottom:9px;border-bottom:1px solid rgba(72,56,40,.2);font:7px var(--sans);letter-spacing:.22em;color:#88796a}
.page-number{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:8px var(--sans);color:#8d7d6d}.page-back-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--display);font-size:30px;letter-spacing:.2em;color:#a59684}.intro-page,.intro-flip-page{position:absolute;inset:0;background:#F2EEE4}.intro-flip-page{transform-origin:left center;transform-style:preserve-3d;will-change:transform;transition:transform .92s cubic-bezier(.55,.05,.25,1),box-shadow .92s ease;z-index:3}.intro-flip-page.turned{transform:rotateY(-180deg);box-shadow:none}.page-three{z-index:3}.page-two{z-index:4}.page-one{z-index:5}.page-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#F2EEE4;color:var(--ink)}.page-face.back{transform:rotateY(180deg);background:#EBE3D5;box-shadow:inset -22px 0 35px rgba(63,43,28,.08)}.back-imprint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--display);font-size:25px;letter-spacing:.18em;color:#9b8c7b}
.page-content{position:absolute;inset:76px 60px 54px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.page-content p{margin:0;font-family:var(--display);font-size:clamp(31px,3.15vw,47px);line-height:1.08;letter-spacing:-.018em}.page-label{font:8px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#837568;margin-bottom:26px}
.title-page h1{font-family:var(--display);font-size:clamp(62px,6vw,92px);font-weight:500;line-height:.85;letter-spacing:-.04em;margin:0 0 16px}.title-page p{font-family:var(--display);font-style:italic;font-size:22px;color:#6f665c}.title-imprint{position:absolute;bottom:0;left:0;font:12px var(--display);letter-spacing:.2em;color:#8c7d6c}
.quote-page p{max-width:92%}.themes-page p{font-size:clamp(27px,2.8vw,40px);line-height:1.17}.themes-page strong{font-weight:600}.themes-page em{font-weight:400}
.final-content p{font-size:clamp(36px,4vw,58px);max-width:92%;margin-bottom:38px}.open-shelf-action{border:0;background:transparent;color:var(--ink);padding:0 0 5px;border-bottom:1px solid var(--ink);font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.book-intro.is-entering-site{background:var(--paper)}.book-intro.is-entering-site .intro-skip,.book-intro.is-entering-site .intro-desk,.book-intro.is-entering-site .intro-left-paper,.book-intro.is-entering-site .intro-spread:after{opacity:0;transition:opacity .45s ease}.book-intro.is-entering-site .intro-spread{transform:translate(-50%,-50%) scale(1.48);filter:none;transition:transform .68s cubic-bezier(.22,.8,.3,1),filter .5s ease}.book-intro.is-entering-site .intro-right-paper{box-shadow:none;border-color:transparent}.book-intro.is-entering-site .intro-right-paper>*{opacity:0;transition:opacity .38s ease}.book-intro.is-entering-site{opacity:0;transition:background .5s ease,opacity .24s ease .52s}

/* Bookshelf */
.bookshelf-home{padding:128px 0 118px;background:var(--paper);scroll-margin-top:72px}.standalone-shelf .bookshelf-home{padding-top:130px}
.bookshelf-heading{margin-bottom:46px}.editorial-label{font:9px var(--sans);letter-spacing:.23em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.bookshelf-heading h1{font-family:var(--display);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:.95;letter-spacing:-.035em;margin:0}
.bookshelf{position:relative;background:linear-gradient(180deg,var(--wood-mid),#201b17);padding:48px 34px 0;box-shadow:inset 0 18px 50px rgba(255,255,255,.025),inset 0 -28px 50px rgba(0,0,0,.18)}
.shelf-row{position:relative;min-height:336px;display:flex;align-items:flex-end;gap:10px;padding:0 20px 26px}.shelf-row:after{content:'';position:absolute;left:-34px;right:-34px;bottom:0;height:25px;background:linear-gradient(180deg,#7a614c,#5c4939 50%,#433429);box-shadow:0 15px 24px rgba(0,0,0,.35)}.shelf-row:before{content:'';position:absolute;left:0;right:0;bottom:25px;height:92px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.15));pointer-events:none}.shelf-gap{width:36px;flex:0 0 auto}
.book-spine{position:relative;z-index:2;flex:0 0 auto;height:var(--book-height);width:var(--book-width);color:var(--book-ink);background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.04) 18%,rgba(255,255,255,.018) 68%,rgba(0,0,0,.22)),var(--book-color);border-radius:2px 3px 2px 2px;box-shadow:3px 3px 7px rgba(0,0,0,.38),inset 1px 0 rgba(255,255,255,.12),inset -1px 0 rgba(0,0,0,.23);transform:rotate(var(--lean));transform-origin:bottom center;transition:transform .3s ease,box-shadow .3s ease,filter .3s ease;display:flex;align-items:center;justify-content:center;cursor:pointer;isolation:isolate}.book-spine:before{content:'';position:absolute;left:7px;right:7px;top:10px;height:1px;background:currentColor;opacity:.36;box-shadow:0 calc(var(--book-height) - 24px) 0 currentColor}.book-spine:after{content:'';position:absolute;inset:0;opacity:.11;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.13) 2px 3px);mix-blend-mode:overlay;pointer-events:none}.book-spine:hover,.book-spine:focus-visible{transform:rotate(0deg) translateY(-8px);box-shadow:7px 10px 18px rgba(0,0,0,.46),inset 1px 0 rgba(255,255,255,.12),inset -1px 0 rgba(0,0,0,.2)}.book-spine.unavailable{cursor:default;filter:saturate(.83);opacity:.83}.book-spine.unavailable:hover{transform:rotate(var(--lean))}
.spine-title{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:clamp(15px,1.25vw,20px);line-height:1;letter-spacing:.02em;text-align:center;max-height:78%;overflow:hidden}.spine-author{position:absolute;bottom:14px;left:0;right:0;text-align:center;font:7px var(--sans);letter-spacing:.14em;text-transform:uppercase}.book-open-label{position:absolute;top:-29px;left:50%;transform:translateX(-50%);font:8px var(--sans);text-transform:uppercase;letter-spacing:.16em;color:#ddcfbe;opacity:0;transition:opacity .25s}.book-spine:hover .book-open-label,.book-spine:focus-visible .book-open-label{opacity:1}.mobile-book-cover,.mobile-book-caption{display:none}.empty-shelf-note{margin:38px 0 0;font-family:var(--display);font-style:italic;font-size:18px;color:var(--muted)}

/* Book click transition */
.book-open-overlay{position:fixed;inset:0;z-index:300;background:rgba(31,26,22,0);pointer-events:none;transition:background .35s ease}.book-open-overlay.is-pulled{background:rgba(31,26,22,.38)}.transition-book{position:absolute;left:var(--book-start-left);top:var(--book-start-top);width:var(--book-start-width);height:var(--book-start-height);transform-origin:center;transition:left .38s cubic-bezier(.22,.8,.3,1),top .38s cubic-bezier(.22,.8,.3,1),width .38s cubic-bezier(.22,.8,.3,1),height .38s cubic-bezier(.22,.8,.3,1),transform .38s cubic-bezier(.22,.8,.3,1),opacity .22s ease;perspective:1200px}.is-pulled .transition-book{left:calc(50% - 125px);top:calc(50% - 185px);width:250px;height:370px;transform:rotate(-1deg)}.transition-book-cover,.transition-book-back,.transition-book-pages{position:absolute;inset:0;border-radius:3px}.transition-book-back{background:var(--transition-book-color);transform:translate(8px,8px)}.transition-book-pages{background:#e9dfcb;transform:translate(5px,4px)}.transition-book-cover{transform-origin:left center;transition:transform .34s cubic-bezier(.22,.8,.3,1);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.28)}.transition-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-open-overlay.is-open .transition-book-cover{transform:rotateY(-46deg)}.book-open-overlay.is-leaving .transition-book{opacity:0;transform:scale(1.05)}.book-open-overlay.is-leaving{background:var(--paper)}.is-book-opening .book-spine:not(.is-opening){filter:brightness(.7);transition:filter .3s}

/* Quote and content sections */
.quote-section{min-height:76vh;display:grid;place-items:center;padding:100px 0;background:var(--paper-soft)}.quote-inner{max-width:950px;text-align:center}.quote-inner blockquote{margin:0;font-family:var(--display);font-size:clamp(43px,6vw,78px);line-height:1.02;letter-spacing:-.03em;font-weight:400}
.themes-section{padding:135px 0 150px}.themes-inner{max-width:900px}.themes-inner p{font-family:var(--display);font-size:clamp(44px,5.5vw,72px);line-height:1.03;letter-spacing:-.028em;margin:0}.themes-inner strong{font-weight:600}
.behind-section{padding:125px 0 145px;background:var(--paper-light)}.behind-inner{max-width:790px}.behind-inner h2{font-family:var(--display);font-size:clamp(48px,6vw,76px);font-weight:400;line-height:.98;letter-spacing:-.03em;margin:0 0 28px}.behind-inner p{font-size:clamp(18px,1.5vw,21px);max-width:700px;color:var(--muted);margin:0 0 28px}.text-link{display:inline-block;font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid currentColor}
.reveal{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}

/* About */
.about-page{padding:150px 0 140px}.about-page>h1{font-family:var(--display);font-size:clamp(62px,8vw,112px);font-weight:400;line-height:.84;letter-spacing:-.045em;margin:0 0 80px}.about-layout{display:grid;grid-template-columns:180px minmax(0,760px);gap:70px;border-top:1px solid var(--line);padding-top:54px}.about-layout aside{font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.about-copy{max-width:760px}.about-copy p{font-size:18px;color:var(--muted)}.about-copy .lead{font-family:var(--display);font-size:31px;line-height:1.35;color:var(--ink);margin-top:0}.about-copy h2{font-family:var(--display);font-size:43px;font-weight:400;line-height:1;margin:64px 0 20px}.thanks-section{margin-top:100px;padding-top:72px;border-top:1px solid var(--line);text-align:center}.thanks-ornament{font-family:var(--display);font-size:26px;color:var(--ochre);margin-bottom:20px}.thanks-section h2{margin:0 0 30px}.thanks-section p{max-width:680px;margin:0 auto 22px}.thanks-names{font-family:var(--display);font-size:34px!important;line-height:1.25;color:var(--ink)!important;margin:38px auto!important}

.about-manuscript-gallery{position:relative;margin:60px 0 22px;padding:20px 0 4px;overflow:visible}
.manuscript-wash{position:absolute;left:2%;right:2%;top:6%;height:86%;background:radial-gradient(circle at 20% 22%,rgba(177,151,123,.16),transparent 26%),radial-gradient(circle at 80% 25%,rgba(206,190,167,.16),transparent 28%),radial-gradient(circle at 48% 58%,rgba(153,129,103,.09),transparent 35%),radial-gradient(circle at 56% 88%,rgba(139,117,94,.08),transparent 21%);pointer-events:none;filter:blur(24px);opacity:.95}
.about-manuscript-collage{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.72fr) minmax(180px,.72fr);grid-template-rows:auto auto auto;gap:18px 22px;align-items:start}
.about-manuscript-piece{display:block;width:100%;height:auto;box-shadow:none;mix-blend-mode:multiply;filter:saturate(.96) contrast(1.01) drop-shadow(0 16px 22px rgba(54,38,24,.1))}
.piece-hero{grid-column:1 / span 2;grid-row:1 / span 2;max-width:96%;justify-self:start;transform:translateX(-3%) rotate(-2deg)}
.piece-note-a{grid-column:3;grid-row:1;max-width:92%;justify-self:end;transform:translateY(20px) rotate(1.6deg)}
.piece-note-b{grid-column:2;grid-row:3;max-width:94%;justify-self:center;transform:translateY(-70px) rotate(-1.8deg)}
.piece-tail{grid-column:1 / span 2;grid-row:3;max-width:82%;justify-self:end;transform:translateX(4%) translateY(-32px) rotate(2.4deg)}
.piece-note-c{grid-column:3;grid-row:2 / span 2;max-width:90%;justify-self:center;transform:translateY(34px) rotate(-1deg)}
.about-manuscript-gallery figcaption{position:relative;margin-top:10px;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.45;color:#746858;text-align:center}

/* Reader */
.reader-page{background:var(--paper)}.story-title-page{min-height:88svh;padding:130px 0 80px;display:flex;flex-direction:column}.back-link{align-self:flex-start;font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:3px;border-bottom:1px solid var(--line-dark)}.story-title-inner{flex:1;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:850px;margin:auto}.story-title-inner>span{font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.story-title-inner h1{font-family:var(--display);font-size:clamp(62px,8vw,110px);font-weight:400;line-height:.86;letter-spacing:-.045em;margin:0 0 22px}.story-title-inner p{font-family:var(--display);font-style:italic;font-size:24px;color:var(--muted);margin:0}.story-title-inner small{font:8px var(--sans);letter-spacing:.2em;color:var(--muted);margin-top:auto;padding-top:80px}
.reader-section{padding:50px 0 110px;background:#25211d;color:#e8dfd1}.reader-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:18px}.reader-return,.reader-title{font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#bfb2a1}.reader{width:min(1180px,calc(100% - 44px));margin:auto}.reader-shell{background:#1e1b18;box-shadow:0 24px 65px rgba(0,0,0,.34)}.reader-progress{height:2px;background:#38322c}.reader-progress span{display:block;height:100%;width:0;background:#aa8e65;transition:width .25s}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 14px;border-bottom:1px solid #3a342e}.reader-group{display:flex;align-items:center;gap:7px}.reader-toolbar button,.reader-toolbar a{border:1px solid #4a433b;background:transparent;color:#d7ccbd;padding:7px 9px;font:10px var(--sans);cursor:pointer}.reader-toolbar button:disabled{opacity:.38;cursor:default}.page-indicator{display:flex;align-items:center;gap:6px;font:10px var(--sans);color:#b9ad9e}.page-indicator input{width:46px;background:#171512;border:1px solid #4a433b;color:#e8dfd1;padding:6px;text-align:center}.reader-status{font:9px var(--sans);color:#9f9385;margin-right:4px}.reader-stage{height:min(82vh,920px);min-height:620px;overflow:auto;display:grid;place-items:center;position:relative;background:#302b26;padding:18px}.reader-canvas-wrap{display:grid;place-items:center;min-width:100%;min-height:100%}.reader-canvas{display:block;box-shadow:0 16px 34px rgba(0,0,0,.32);background:#fff}.reader-loading,.reader-error{position:absolute;inset:0;display:grid;place-items:center;background:#302b26;color:#c7bbac;font-family:var(--display);font-style:italic;font-size:21px}.reader-loading.is-hidden{display:none}.reader-error a{text-decoration:underline}.reader-help{margin:12px 2px 0;color:#8f8478;font:9px var(--sans);letter-spacing:.04em}.reader:fullscreen{background:#1d1a17;padding:12px}.reader:fullscreen .reader-stage{height:calc(100vh - 86px)}

/* Footer */
.site-footer{padding:64px 0;border-top:1px solid var(--line);background:var(--paper)}.footer-inner{display:flex;justify-content:space-between;gap:50px}.footer-ornament{display:block;font-family:var(--display);font-size:22px;color:var(--ochre);margin-bottom:8px}.footer-brand{font-family:var(--display);font-size:28px;letter-spacing:.08em}.footer-inner p{margin:3px 0;color:var(--muted);font-size:12px}.footer-links{display:flex;justify-content:flex-end;gap:22px;font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.footer-quote{max-width:360px;text-align:right;font-family:var(--display)!important;font-size:17px!important;font-style:italic}.footer-copy{text-align:right}.footer-replay{border:0;background:transparent;padding:0;margin-top:18px;font:9px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:1px solid var(--line-dark)}

/* 404 */
.not-found{min-height:100svh;display:grid;place-items:center;padding:50px;background:var(--paper)}.not-found-inner{text-align:center;max-width:760px}.not-found .code{font-family:var(--display);font-size:clamp(90px,15vw,180px);line-height:.7;color:var(--line-dark)}.not-found h1{font-family:var(--display);font-size:clamp(42px,6vw,72px);font-weight:400;line-height:1;margin:50px 0 30px}

@media(max-width:980px){
  .intro-stage{width:94vw}.intro-spread{width:92vw}.page-content{inset:72px 46px 50px}.page-content p{font-size:clamp(30px,4.2vw,43px)}
  .about-layout{grid-template-columns:1fr;gap:28px}.about-layout aside{margin-bottom:8px}.about-manuscript-gallery{margin-top:42px}.about-manuscript-collage{grid-template-columns:1fr;gap:14px}.piece-hero,.piece-tail,.piece-note-a,.piece-note-b,.piece-note-c{grid-column:auto;grid-row:auto;max-width:100%;justify-self:center;transform:none}.about-manuscript-gallery figcaption{font-size:16px}
  .footer-inner{gap:30px}
}

@media(max-width:700px){
  .shell{width:min(100% - 28px,1180px)}.header-inner{height:64px}.brand{font-size:20px}.main-nav{gap:18px;font-size:10px}
  .book-intro{padding:80px 12px 26px;display:block}.intro-skip{top:24px;right:20px}.intro-stage{width:min(92vw,430px);height:min(72svh,560px);min-height:430px;margin:8vh auto 0}.intro-closed{width:min(68vw,300px)}
  .intro-spread{width:min(88vw,410px);height:min(70svh,540px);min-height:420px;display:block}.intro-left-paper{display:none}.intro-right-paper{width:100%;border-radius:6px;box-shadow:inset 22px 0 36px rgba(63,43,28,.08),inset 0 0 60px rgba(114,82,52,.025)}.intro-spread:after{display:none}.page-content{inset:68px 34px 48px}.page-content p{font-size:clamp(32px,9vw,44px);line-height:1.09}.themes-page p{font-size:clamp(26px,7.7vw,36px);line-height:1.17}.title-page h1{font-size:clamp(58px,17vw,78px)}.page-running{left:30px;right:30px;top:25px}
  .book-intro.is-entering-site .intro-spread{transform:translate(-50%,-50%) scale(1.75)}
  .bookshelf-home{padding:100px 0 90px}.bookshelf-heading h1{font-size:50px}.bookshelf{width:100vw;margin-left:calc((100vw - 100%)/-2);padding:38px 0 0;overflow-x:auto;scroll-snap-type:x proximity}.shelf-row{min-width:690px;min-height:315px;padding:0 28px 26px;gap:12px}.shelf-row:after{left:0;right:0}.shelf-gap{width:20px}.book-spine{scroll-snap-align:center}.book-spine:hover{transform:rotate(var(--lean))}.mobile-book-cover,.mobile-book-caption{display:none}
  .quote-section{min-height:66vh;padding:80px 0}.quote-inner blockquote{font-size:47px}
  .themes-section{padding:95px 0 110px}.themes-inner p{font-size:47px}
  .behind-section{padding:90px 0 110px}.behind-inner h2{font-size:52px}
  .about-page{padding:115px 0 100px}.about-page>h1{font-size:64px;line-height:.88;margin-bottom:54px}.about-copy .lead{font-size:27px}.about-copy h2{font-size:38px;margin-top:50px}.thanks-section{margin-top:74px;padding-top:55px}.thanks-names{font-size:29px!important}
  .story-title-page{padding:105px 0 55px;min-height:82svh}.story-title-inner{min-height:470px}.story-title-inner h1{font-size:64px}.reader-section{padding:34px 0 70px}.reader{width:100%}.reader-top{width:calc(100% - 28px)}.reader-toolbar{align-items:flex-start;flex-wrap:wrap}.reader-group{flex-wrap:wrap}.reader-stage{height:72vh;min-height:470px;padding:10px}.reader-help{padding:0 14px 12px}
  .footer-inner{flex-direction:column}.footer-links{justify-content:flex-start}.footer-quote,.footer-copy{text-align:left}
}

@media(max-width:430px){
  .intro-stage{margin-top:11vh}.page-content{inset:62px 27px 44px}.page-content p{font-size:34px}.themes-page p{font-size:29px}.title-page h1{font-size:59px}.page-label{font-size:7px;margin-bottom:20px}
  .bookshelf-heading h1{font-size:45px}.quote-inner blockquote{font-size:41px}.themes-inner p{font-size:41px}.behind-inner h2{font-size:47px}.story-title-inner h1{font-size:56px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.book-intro{display:none!important}.home-page .site-header{opacity:1;pointer-events:auto}.book-spine,.transition-book,.transition-book-cover{transition:none!important}
}

/* Quiet thematic words */
.bookshelf-home{position:relative;overflow:hidden}.ambient-word{position:absolute;z-index:0;font-family:var(--display);font-style:italic;color:var(--ink);opacity:.075;pointer-events:none;white-space:nowrap}.bookshelf-home>.shell{position:relative;z-index:1}.aw1{left:2vw;top:80px;font-size:34px}.aw2{right:4vw;top:108px;font-size:24px}.aw3{right:-8px;top:250px;font-size:30px}.aw4{left:27vw;top:215px;font-size:20px}.aw5{left:-10px;top:330px;font-size:26px}.aw6{right:23vw;top:360px;font-size:19px}
@media(max-width:700px){.ambient-word{opacity:.055}.aw1{left:-12px;top:70px;font-size:26px}.aw2{right:8px;top:110px;font-size:20px}.aw3,.aw4,.aw5,.aw6{display:none}}

/* V10 official DipStory logo and bookshelf interaction refinements */
.brand-logo{display:flex;align-items:center;letter-spacing:0;line-height:1}
.brand-logo picture{display:flex;align-items:center}
.brand-logo img{display:block;height:46px;width:auto;max-width:210px;object-fit:contain}
.footer-brand{letter-spacing:0}
.footer-brand img{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}
.intro-cover-face{background:#F2EEE4;padding:22px;overflow:hidden;color:var(--ink)}
.intro-cover-face:before{opacity:.05;mix-blend-mode:multiply}
.intro-official-logo{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain}

.book-preview{position:absolute;left:50%;bottom:calc(100% + 14px);z-index:8;width:250px;display:flex;flex-direction:column;gap:4px;color:#efe5d6;opacity:0;pointer-events:none;transform:translate(-50%,7px);transition:opacity .24s ease,transform .24s ease;text-align:left;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.book-preview strong{font-family:var(--display);font-size:22px;font-weight:500;line-height:1.02;letter-spacing:-.015em}
.book-preview-meta{font:8px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#cbbca8}
.book-preview-caption{font-family:var(--serif);font-size:12px;line-height:1.45;color:#d8ccbc;max-width:240px}
.book-spine:hover .book-preview,.book-spine:focus-visible .book-preview,.book-spine.is-previewing .book-preview{opacity:1;transform:translate(-50%,0)}
.book-spine:first-child .book-preview{left:0;transform:translateY(7px)}
.book-spine:first-child:hover .book-preview,.book-spine:first-child:focus-visible .book-preview,.book-spine:first-child.is-previewing .book-preview{transform:translateY(0)}
.book-spine:last-child .book-preview{left:auto;right:0;transform:translateY(7px)}
.book-spine:last-child:hover .book-preview,.book-spine:last-child:focus-visible .book-preview,.book-spine:last-child.is-previewing .book-preview{transform:translateY(0)}
.spine-status-mark{position:absolute;top:18px;left:50%;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;transform:translateX(-50%);opacity:.45}
.book-spine.unavailable{opacity:.72;filter:saturate(.72)}
.book-spine.unavailable:hover,.book-spine.unavailable:focus-visible{opacity:.82;filter:saturate(.82);box-shadow:4px 6px 10px rgba(0,0,0,.38),inset 1px 0 rgba(255,255,255,.1),inset -1px 0 rgba(0,0,0,.22)}
.shelf-touch-preview{display:none}

.reader-return-veil{position:fixed;inset:0;z-index:500;background:var(--paper);opacity:0;pointer-events:none;transition:opacity .18s ease}
.reader-return-veil.is-visible{opacity:1}

@media(max-width:700px){
  .brand-logo img{height:42px;max-width:58px}
  .footer-brand img{width:180px}
  .book-preview{display:none}
  .book-spine.is-previewing{transform:rotate(0deg) translateY(-7px);box-shadow:6px 9px 16px rgba(0,0,0,.44),inset 1px 0 rgba(255,255,255,.12),inset -1px 0 rgba(0,0,0,.2)}
  .book-spine.unavailable.is-previewing{opacity:.86;filter:saturate(.82)}
  .shelf-touch-preview:not([hidden]){display:flex;flex-direction:column;gap:5px;padding:18px 28px 24px;border-top:1px solid rgba(235,224,208,.15);color:#efe5d6}
  .shelf-touch-preview .touch-preview-meta{font:8px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#cbbca8}
  .shelf-touch-preview strong{font-family:var(--display);font-size:25px;font-weight:500;line-height:1.05}
  .shelf-touch-preview>span:not(.touch-preview-meta){font-family:var(--serif);font-size:13px;line-height:1.45;color:#d6cab9;max-width:520px}
  .shelf-touch-preview small{font:8px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#bcae9a;margin-top:3px}
}

@media(max-width:520px){
  .intro-cover-face{padding:14px}
}
.not-found-logo{display:block;width:92px;height:auto;margin:0 auto 34px;object-fit:contain}

/* V11 closing cover, official header logo, and bookshelf callout */
.brand-logo{display:flex;align-items:center;gap:10px;letter-spacing:0;line-height:1}
.header-logo-mark{display:block;height:44px;width:auto;max-width:52px;object-fit:contain;mix-blend-mode:multiply}
.header-logo-type{display:block;height:34px;width:auto;max-width:190px;object-fit:contain;mix-blend-mode:multiply}
.footer-logo-lockup{display:flex;align-items:center;gap:12px}
.footer-logo-mark{display:block;height:58px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.footer-logo-type{display:block;height:38px;width:auto;max-width:210px;object-fit:contain;mix-blend-mode:multiply}

.intro-cover-face{
  background:linear-gradient(90deg,rgba(30,10,10,.28),transparent 10%,rgba(255,255,255,.04) 48%,rgba(0,0,0,.14)),#6f3937;
  color:#ead3a1;
  padding:58px 48px;
  overflow:hidden;
  justify-content:center;
}
.intro-cover-face:before{opacity:.13;mix-blend-mode:overlay}
.cover-kicker{position:relative;z-index:2;font:9px var(--sans);letter-spacing:.28em;text-transform:uppercase;margin-bottom:12px}
.cover-byline{position:relative;z-index:2;font-family:var(--display);font-size:18px;font-style:italic;color:#d8bc8d;margin-bottom:54px}
.cover-quote{position:relative;z-index:2;max-width:320px;font-family:var(--display);font-size:clamp(31px,3vw,44px);font-weight:400;line-height:1.08;letter-spacing:-.018em;text-align:center;color:#efd8a8}
.cover-mark{position:relative;z-index:2;font:13px var(--display);letter-spacing:.25em;margin-top:56px;color:#d4b77e}
.cover-rule{z-index:2;background:#b9915f}

/* The final page is text only. The book closes after it has had time to be read. */
.final-content p{margin-bottom:0}
.book-intro.is-closing .intro-left-paper{transform-origin:right center;transform:rotateY(76deg);opacity:.12;transition:transform .72s cubic-bezier(.22,.8,.3,1),opacity .52s ease .16s}
.book-intro.is-closing .intro-right-paper{transform-origin:left center;transform:rotateY(-76deg);opacity:.12;transition:transform .72s cubic-bezier(.22,.8,.3,1),opacity .52s ease .16s}
.book-intro.is-closing .intro-spread{opacity:0;transform:translate(-50%,-50%) scale(.79);filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));transition:opacity .6s ease .18s,transform .78s cubic-bezier(.22,.8,.3,1),filter .5s ease}
.book-intro.is-open.is-closing .intro-closed{opacity:1;transform:translate(-50%,-50%) rotate(-1.5deg) scale(1);pointer-events:none;transition:opacity .48s ease .28s,transform .78s cubic-bezier(.22,.8,.3,1) .18s}
.book-intro.is-closed-finished .intro-closed{opacity:1;transform:translate(-50%,-50%) rotate(-1.5deg) scale(1)}
.book-intro.is-closed-finished .intro-spread{opacity:0;pointer-events:none}
.book-intro.is-closed-finished .intro-skip{color:#ead3a1;border-bottom-color:#c7a66e;text-shadow:0 0 10px rgba(230,198,139,.12);animation:bookshelfCallout 2.8s ease-in-out infinite}
.book-intro.is-closed-finished .intro-skip:before{content:'✦';display:inline-block;margin-right:8px;font-size:7px;vertical-align:1px;opacity:.65;animation:bookshelfSpark 2.8s ease-in-out infinite}
@keyframes bookshelfCallout{0%,100%{transform:scale(1);text-shadow:0 0 8px rgba(230,198,139,.08)}50%{transform:scale(1.022);text-shadow:0 0 14px rgba(230,198,139,.24)}}
@keyframes bookshelfSpark{0%,100%{opacity:.25;transform:scale(.8) rotate(0deg)}50%{opacity:.85;transform:scale(1.08) rotate(18deg)}}
.book-intro.is-closed-finished.is-entering-site .intro-closed{opacity:0;transform:translate(-50%,-50%) rotate(-1deg) scale(1.045);transition:opacity .42s ease,transform .62s cubic-bezier(.22,.8,.3,1)}
.book-intro.is-closed-finished.is-entering-site .intro-skip{animation:none;opacity:0;transition:opacity .2s ease}

@media(max-width:700px){
  .header-logo-type{display:none}.header-logo-mark{height:43px;max-width:50px}
  .footer-logo-mark{height:50px}.footer-logo-type{height:31px;max-width:170px}
  .intro-cover-face{padding:42px 34px}.cover-byline{margin-bottom:36px}.cover-quote{font-size:clamp(28px,8vw,37px);max-width:250px}.cover-mark{margin-top:40px}
}
@media(max-width:430px){
  .footer-logo-lockup{gap:8px}.footer-logo-mark{height:44px}.footer-logo-type{height:27px;max-width:145px}
}
@media(prefers-reduced-motion:reduce){
  .book-intro.is-closed-finished .intro-skip,.book-intro.is-closed-finished .intro-skip:before{animation:none}
}

/* V12 official artwork integration and quieter shelf previews */
.brand-artwork{display:flex;align-items:center;min-width:0}
.header-brand-image{
  display:block;
  width:clamp(185px,16vw,245px);
  height:auto;
  max-height:84px;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:.96;
  filter:saturate(.92) contrast(1.02);
}
.site-header.is-scrolled .header-brand-image{opacity:.93}
.footer-logo-lockup{display:block}
.footer-brand-image{
  display:block;
  width:clamp(260px,30vw,390px);
  max-width:100%;
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:.93;
  filter:saturate(.9) contrast(1.02);
}
.not-found-logo{width:min(390px,72vw);mix-blend-mode:multiply;opacity:.92}

/* One clean preview area inside the shelf. It never overlaps the page heading. */
.shelf-hover-preview{
  position:absolute;
  top:17px;
  left:34px;
  z-index:12;
  max-width:min(480px,58%);
  color:#efe6d8;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
  text-align:left;
}
.shelf-hover-preview.is-visible{opacity:1;transform:translateY(0)}
.shelf-hover-preview strong{
  display:block;
  font-family:var(--display);
  font-size:clamp(19px,1.7vw,25px);
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.01em;
  color:#f3eadc;
  margin-bottom:3px;
}
.shelf-hover-preview span{
  display:block;
  max-width:430px;
  font-family:var(--serif);
  font-size:12px;
  line-height:1.4;
  color:#cfc2b1;
}
.shelf-touch-preview:not([hidden]){
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:18px 28px 24px;
  border-top:1px solid rgba(235,224,208,.13);
  color:#efe5d6;
}
.shelf-touch-preview strong{font-family:var(--display);font-size:24px;font-weight:500;line-height:1.05}
.shelf-touch-preview span{font-family:var(--serif);font-size:13px;line-height:1.45;color:#d6cab9;max-width:540px}

/* Retire the old per-book floating preview styling. */
.book-preview{display:none!important}

@media(max-width:700px){
  .header-inner{height:68px}
  .header-brand-image{width:145px;max-height:64px}
  .footer-brand-image{width:min(330px,88vw)}
  .shelf-hover-preview{display:none!important}
}
@media(max-width:430px){
  .header-brand-image{width:128px}
  .footer-brand-image{width:min(300px,90vw)}
}

/* V13 text-first DipStory identity */
.brand{display:flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}
.brand-mark{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;padding-right:11px;border-right:1px solid currentColor;opacity:.9}
.brand-text{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.brand-byline{font-family:var(--sans);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-left:3px}
.footer-brand-lockup{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.footer-mark{font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-right:10px;border-right:1px solid var(--line-dark)}
.footer-name{font-family:var(--display);font-size:27px;letter-spacing:.02em}
.footer-byline{font:8px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.story-title-page{padding-top:118px}
.story-title-inner h1{max-width:760px}
@media(max-width:720px){
  .brand{gap:7px}.brand-text{font-size:20px}.brand-byline{display:none}.brand-mark{font-size:9px;padding-right:8px}
  .footer-brand-lockup{align-items:center}.footer-name{font-size:24px}.footer-byline{width:100%;margin-left:0}
}
.brand-artwork,.brand-logo{letter-spacing:normal}.header-brand-image,.footer-brand-image{display:none!important}


/* V14 elegant text lockup and continuous scrolling reader */
.site-header .brand{gap:12px;align-items:baseline}
.site-header .brand-mark{font:9px var(--sans);letter-spacing:.32em;color:#786956;padding-right:12px;border-right:1px solid rgba(49,41,33,.22)}
.site-header .brand-text{font-family:var(--display);font-size:28px;font-weight:500;letter-spacing:-.01em;color:#211a15}
.site-header .brand-byline{font-family:var(--display);font-style:italic;font-size:14px;letter-spacing:.01em;text-transform:none;color:#8c7b67;margin-left:4px}
.site-footer .footer-brand-lockup{align-items:baseline;gap:12px}
.site-footer .footer-mark{font:9px var(--sans);letter-spacing:.22em;color:#8a7a66;padding-right:11px;border-right:1px solid rgba(49,41,33,.18)}
.site-footer .footer-name{font-family:var(--display);font-size:29px;letter-spacing:0;color:#211a15}
.site-footer .footer-byline{font-family:var(--display);font-style:italic;font-size:14px;letter-spacing:.01em;text-transform:none;color:#8c7b67}

.story-title-page{display:none!important}
.reader-section{padding:22px 0 110px;background:#24201c;color:#e8dfd1}
.reader-top{padding-bottom:14px}
.reader-title{font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#b9ab98}
.reader{width:min(1220px,calc(100% - 44px));margin:auto}
.reader-shell{background:#1b1815;border:1px solid #342e29;box-shadow:0 28px 70px rgba(0,0,0,.36)}
.reader-toolbar{min-height:56px;padding:10px 14px;border-bottom:1px solid #3a342e}
.reader-toolbar button,.reader-toolbar a{border:1px solid #4a433b;background:#201c19;color:#ddd2c3;padding:7px 10px;font:10px var(--sans);text-decoration:none;transition:background .22s ease,border-color .22s ease,color .22s ease}
.reader-toolbar button:hover,.reader-toolbar a:hover{background:#2a2521;border-color:#655949;color:#f0e6d7}
.page-indicator input{background:#161310}
.reader-status{font:9px var(--sans);color:#a99b8c}
.reader-stage{height:min(82vh,940px);min-height:640px;overflow:auto;display:block;position:relative;background:#2d2823;padding:24px 18px}
.reader-pages{width:min(100%,940px);margin:0 auto;display:flex;flex-direction:column;gap:20px}
.reader-page-sheet{width:100%;display:flex;justify-content:center}
.reader-canvas{display:block;max-width:100%;box-shadow:0 18px 36px rgba(0,0,0,.28);background:#fff}
.reader-loading,.reader-error{position:absolute;inset:0;display:grid;place-items:center;background:#2d2823;color:#c7bbac;font-family:var(--display);font-style:italic;font-size:21px;padding:30px;text-align:center}
.reader-loading.is-hidden{display:none}.reader-error a{text-decoration:underline;color:#f0e6d7}
.reader-help{margin:12px 2px 0;color:#9b8f82;font:9px var(--sans);letter-spacing:.04em}
.reader:fullscreen{background:#1d1a17;padding:12px}.reader:fullscreen .reader-stage{height:calc(100vh - 84px)}

@media(max-width:860px){
  .site-header .brand{gap:8px}.site-header .brand-text{font-size:24px}.site-header .brand-byline{font-size:12px}
}
@media(max-width:700px){
  .site-header .brand{align-items:center}.site-header .brand-mark{font-size:8px;padding-right:8px}.site-header .brand-text{font-size:20px}.site-header .brand-byline{display:none}
  .site-footer .footer-name{font-size:24px}.site-footer .footer-byline{font-size:12px;width:100%}
  .reader{width:100%}.reader-top{width:calc(100% - 28px)}.reader-toolbar{align-items:flex-start;flex-wrap:wrap;gap:10px}.reader-group{flex-wrap:wrap}.reader-stage{height:76vh;min-height:500px;padding:12px}.reader-pages{gap:14px}.reader-help{padding:0 14px 12px}
}


/* V15: stronger DipStory imprint and reliable continuous reader */
.site-header .brand{display:flex;align-items:center;gap:13px;min-width:0}
.site-header .brand-mark{font-family:var(--display);font-size:18px;font-weight:600;line-height:1;letter-spacing:.16em;color:#684536;white-space:nowrap;padding:5px 15px 5px 0;border-right:1px solid rgba(104,69,54,.38);opacity:1}
.site-header .brand-text{font-family:var(--display);font-size:30px;font-weight:500;line-height:1;letter-spacing:-.015em;color:#211a15}
.site-header .brand-byline{font-family:var(--display);font-style:italic;font-size:14px;line-height:1;letter-spacing:.015em;text-transform:none;color:#8b7965;margin-left:2px}
.site-footer .footer-brand-lockup{align-items:center;gap:12px}
.site-footer .footer-mark{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.15em;text-transform:none;color:#684536;padding:4px 13px 4px 0;border-right:1px solid rgba(104,69,54,.3)}
.site-footer .footer-name{font-family:var(--display);font-size:29px;font-weight:500;letter-spacing:-.01em;color:#211a15}
.site-footer .footer-byline{font-family:var(--display);font-style:italic;font-size:14px;letter-spacing:.015em;text-transform:none;color:#8b7965}
.cover-mark{font-size:17px!important;letter-spacing:.22em!important}
.scroll-reader-section{padding-top:20px}
.scroll-reader .reader-shell{background:#1d1916}
.scroll-reader-toolbar{position:sticky;top:76px;z-index:8;background:rgba(29,25,22,.96);backdrop-filter:blur(8px)}
.reader-reading-info{display:flex;align-items:baseline;gap:12px;color:#d7ccbd}
.reader-reading-info strong{font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.reader-reading-info span{font-family:var(--display);font-size:15px;font-style:italic;color:#a99b8c}
.scroll-reader-stage{height:auto;min-height:0;overflow:visible;display:block;background:#2d2823;padding:28px 18px 46px}
.static-reader-pages{width:min(100%,920px);margin:0 auto;display:flex;flex-direction:column;gap:26px}
.static-reader-pages .reader-page-sheet{margin:0;display:flex;flex-direction:column;align-items:center;scroll-margin-top:150px}
.static-reader-pages .reader-page-sheet img{display:block;width:min(100%,760px);height:auto;box-shadow:0 18px 38px rgba(0,0,0,.31);background:#f4eee3}
.static-reader-pages .reader-page-sheet figcaption{margin-top:8px;font:8px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7f7469}
.scroll-reader .reader-help{max-width:920px;margin:14px auto 0}
@media(max-width:820px){.site-header .brand-mark{font-size:16px;padding-right:11px}.site-header .brand-text{font-size:25px}.site-header .brand-byline{font-size:12px}.scroll-reader-toolbar{top:68px}}
@media(max-width:700px){.site-header .brand{gap:8px}.site-header .brand-mark{font-size:14px;letter-spacing:.12em;padding-right:9px}.site-header .brand-text{font-size:21px}.site-header .brand-byline{display:none}.site-footer .footer-mark{font-size:14px}.site-footer .footer-name{font-size:24px}.site-footer .footer-byline{font-size:12px;width:100%}.scroll-reader-toolbar{top:64px;padding:10px 12px}.reader-reading-info{gap:7px}.reader-reading-info span{font-size:13px}.scroll-reader-stage{padding:14px 8px 30px}.static-reader-pages{gap:14px}.static-reader-pages .reader-page-sheet img{width:100%}.static-reader-pages .reader-page-sheet figcaption{font-size:7px}}

/* V16 premium circular cover lens preview */
.shelf-hover-preview,.shelf-touch-preview{display:none!important}
.book-cover-lens{
  position:fixed;
  z-index:220;
  pointer-events:none;
  opacity:0;
  transform:scale(.92) translateY(3px);
  transition:opacity .22s ease,transform .24s cubic-bezier(.22,.8,.3,1);
  filter:drop-shadow(0 14px 22px rgba(27,21,17,.28));
}
.book-cover-lens.is-visible{opacity:1;transform:scale(1) translateY(0)}
.book-cover-lens-frame{
  position:absolute;
  inset:0;
  border-radius:50%;
  overflow:hidden;
  background:#e9dfcf;
  border:2px solid rgba(239,229,214,.9);
  box-shadow:
    0 0 0 1px rgba(67,51,39,.62),
    0 0 0 5px rgba(214,192,160,.16),
    inset 0 0 0 1px rgba(255,255,255,.28),
    inset 0 0 24px rgba(39,28,20,.12);
}
.book-cover-lens-frame:after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 30%,transparent 72%,rgba(39,27,19,.12));
  pointer-events:none;
}
.book-cover-lens img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.03);
}
.book-cover-lens-handle{
  position:absolute;
  width:38px;
  height:9px;
  right:-27px;
  bottom:7px;
  border-radius:999px;
  background:linear-gradient(180deg,#8a7158,#4c3b2d);
  transform:rotate(43deg);
  transform-origin:left center;
  box-shadow:0 4px 7px rgba(25,18,13,.25),inset 0 1px rgba(255,255,255,.18);
}
.book-cover-lens-handle:after{
  content:'';
  position:absolute;
  inset:2px 6px;
  border-radius:999px;
  border-top:1px solid rgba(238,218,188,.22);
}
.book-cover-lens.is-coming-soon .book-cover-lens-frame{filter:saturate(.78) brightness(.92)}
.book-cover-lens.is-coming-soon .book-cover-lens-frame:before{
  content:'COMING SOON';
  position:absolute;
  z-index:2;
  left:50%;
  bottom:9px;
  transform:translateX(-50%);
  padding:4px 7px 3px;
  white-space:nowrap;
  background:rgba(35,27,22,.72);
  color:#eadfce;
  font:7px var(--sans);
  letter-spacing:.14em;
  border-radius:999px;
}
.book-spine:hover,.book-spine:focus-visible{z-index:4}
@media(max-width:700px){
  .book-cover-lens{z-index:260}
  .book-cover-lens-handle{width:32px;height:8px;right:-23px;bottom:6px}
}
@media(prefers-reduced-motion:reduce){
  .book-cover-lens{transition:none}
}


/* V20 reader list and feedback */
.story-updates{padding:78px 0 92px;background:var(--paper);border-top:1px solid color-mix(in srgb,var(--line-dark) 32%,transparent)}
.updates-inner{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:clamp(48px,8vw,120px);align-items:end}
.updates-copy h2,.feedback-copy h2{font-family:var(--display);font-weight:400;font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.035em;margin:0 0 14px;color:var(--ink)}
.updates-copy p,.feedback-copy p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--muted);max-width:560px;margin:0}
.updates-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 16px}
.updates-form input[type="email"]{width:100%;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);padding:12px 2px 11px;font-family:var(--serif);font-size:19px;outline:none;border-radius:0}
.updates-form input[type="email"]::placeholder{color:color-mix(in srgb,var(--muted) 74%,transparent)}
.updates-form input[type="email"]:focus{border-bottom-color:var(--accent)}
.updates-form button,.feedback-form button{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 0 7px;font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .22s ease,border-color .22s ease,opacity .22s ease}
.updates-form button:hover,.feedback-form button:hover{color:var(--accent);border-color:var(--accent)}
.updates-form button:disabled,.feedback-form button:disabled{opacity:.45;cursor:wait}
.form-note{grid-column:1/2;margin:0;font:9px var(--sans);letter-spacing:.03em;color:var(--muted)}
.form-status{grid-column:1/-1;min-height:18px;margin:2px 0 0;font:10px var(--sans);letter-spacing:.02em;color:var(--muted)}
.form-status.is-success{color:#52624e}.form-status.is-error{color:#8b4338}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.feedback-section{padding:110px 0 120px;background:var(--paper)}
.feedback-inner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:clamp(56px,9vw,140px);align-items:start}
.feedback-copy{position:sticky;top:116px}
.feedback-form{display:grid;gap:34px}
.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.feedback-form label{display:grid;gap:9px;font:9px var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.feedback-form label span em{font-style:normal;letter-spacing:.03em;text-transform:none;opacity:.7;margin-left:4px}
.feedback-form input,.feedback-form textarea{width:100%;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--ink);padding:8px 1px 11px;border-radius:0;outline:none;font-family:var(--serif);font-size:18px;line-height:1.55;resize:vertical}
.feedback-form textarea{min-height:132px}
.feedback-form input:focus,.feedback-form textarea:focus{border-bottom-color:var(--accent)}
.feedback-form button{justify-self:start;min-width:110px}

/* V20 continuous bookshelf-door entry */
.is-shelf-transitioning{overflow:hidden}
.bookshelf-entry{position:fixed;inset:0;z-index:1000;overflow:hidden;perspective:1700px;background:#1d1712;opacity:1;transition:opacity .28s ease}
.bookshelf-entry.is-fading{opacity:0;pointer-events:none}
.entry-room{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(116,78,45,.26),transparent 44%),linear-gradient(180deg,#211912,#17110d)}
.entry-shelf-shadow{position:absolute;inset:11% 8%;background:repeating-linear-gradient(180deg,transparent 0 24%,rgba(0,0,0,.32) 24.4% 25.3%,transparent 25.7% 49%);opacity:.4;filter:blur(1px)}
.entry-door{position:absolute;top:-2%;bottom:-2%;width:51.5%;background:linear-gradient(90deg,rgba(17,9,4,.3),transparent 13%,rgba(255,226,186,.025) 48%,rgba(0,0,0,.24)),repeating-linear-gradient(87deg,rgba(255,255,255,.014) 0 2px,rgba(0,0,0,.012) 2px 6px),#56391f;box-shadow:0 0 42px rgba(0,0,0,.48);transform-style:preserve-3d;transition:transform .92s cubic-bezier(.22,.8,.3,1),filter .92s ease}
.entry-door-left{left:-1%;transform-origin:left center;border-right:1px solid rgba(20,10,4,.75)}
.entry-door-right{right:-1%;transform-origin:right center;border-left:1px solid rgba(20,10,4,.75)}
.bookshelf-entry.is-opening .entry-door-left{transform:rotateY(84deg) translateX(-7%);filter:brightness(.72)}
.bookshelf-entry.is-opening .entry-door-right{transform:rotateY(-84deg) translateX(7%);filter:brightness(.72)}
.entry-panel{position:absolute;left:12%;right:12%;border:1px solid rgba(33,17,7,.64);box-shadow:inset 0 0 0 7px rgba(101,67,37,.26),inset 0 9px 18px rgba(255,220,169,.025),inset 0 -11px 20px rgba(0,0,0,.17)}
.entry-panel.top{top:11%;height:32%}.entry-panel.bottom{bottom:11%;height:39%}
.entry-handle{position:absolute;top:49%;width:8px;height:44px;border-radius:8px;background:linear-gradient(90deg,#7a5a2f,#c19a5b 48%,#6d4c25);box-shadow:0 2px 8px rgba(0,0,0,.45)}
.entry-door-left .entry-handle{right:28px}.entry-door-right .entry-handle{left:28px}
.entry-seam{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(0,0,0,.55);box-shadow:0 0 12px rgba(0,0,0,.65);transition:opacity .35s ease .1s}
.bookshelf-entry.is-opening .entry-seam{opacity:0}
.book-intro.is-closed-finished .intro-skip{font-size:11px;letter-spacing:.14em}

@media(max-width:760px){
  .updates-inner,.feedback-inner{grid-template-columns:1fr;gap:34px}.updates-form{grid-template-columns:1fr auto}.feedback-copy{position:static}.feedback-fields{grid-template-columns:1fr}.story-updates{padding:62px 0 72px}.feedback-section{padding:78px 0 90px}
  .entry-door{width:52%}.entry-handle{height:36px}.entry-door-left .entry-handle{right:18px}.entry-door-right .entry-handle{left:18px}
}
@media(max-width:520px){
  .updates-form{grid-template-columns:1fr}.updates-form button{justify-self:start}.form-note{grid-column:1/-1}.updates-copy h2,.feedback-copy h2{font-size:40px}
}
@media(prefers-reduced-motion:reduce){
  .entry-door{transition:none}.bookshelf-entry{transition:none}
}


/* V21 layout and transition refinements */
body.home-page:not(.intro-complete){overflow:hidden;height:100svh;overscroll-behavior:none}

.story-updates .updates-inner{
  grid-template-columns:minmax(180px,.55fr) minmax(440px,1.45fr);
  align-items:start;
  row-gap:28px;
}
.story-updates .updates-inner>.editorial-label{grid-column:1;grid-row:1 / span 2;padding-top:9px}
.story-updates .updates-copy{grid-column:2;grid-row:1}
.story-updates .updates-form{grid-column:2;grid-row:2;max-width:720px;width:100%}

.bookshelf-entry{background:var(--paper)}
.entry-room{position:absolute;inset:0;background:var(--paper);overflow:hidden}
.entry-room:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(117,88,59,.08),transparent 46%);pointer-events:none}
.entry-preview-bookshelf{
  position:absolute!important;
  z-index:2;
  margin:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  box-shadow:0 26px 54px rgba(35,24,16,.18),inset 0 18px 50px rgba(255,255,255,.025),inset 0 -28px 50px rgba(0,0,0,.18)!important;
  transform:scale(.985);
  opacity:.92;
  transition:transform .8s cubic-bezier(.22,.8,.3,1),opacity .55s ease;
}
.entry-preview-bookshelf *{pointer-events:none!important}
.bookshelf-entry.is-opening .entry-preview-bookshelf{transform:scale(1);opacity:1}
.bookshelf-entry.is-revealed .entry-preview-bookshelf{filter:none}

.entry-door{
  background:
    linear-gradient(90deg,rgba(17,9,4,.34),transparent 12%,rgba(255,226,186,.028) 47%,rgba(0,0,0,.26)),
    repeating-linear-gradient(91deg,rgba(255,255,255,.012) 0 1px,rgba(0,0,0,.018) 2px 7px),
    linear-gradient(180deg,#674527,#4b301c 55%,#3b2617);
  transition:transform 1.02s cubic-bezier(.22,.78,.28,1),filter 1.02s ease,box-shadow 1.02s ease;
}
.bookshelf-entry.is-opening .entry-door-left{transform:perspective(1500px) rotateY(88deg) translateX(-9%);filter:brightness(.64);box-shadow:16px 0 38px rgba(0,0,0,.34)}
.bookshelf-entry.is-opening .entry-door-right{transform:perspective(1500px) rotateY(-88deg) translateX(9%);filter:brightness(.64);box-shadow:-16px 0 38px rgba(0,0,0,.34)}
.entry-panel{border-color:rgba(32,16,7,.72);box-shadow:inset 0 0 0 8px rgba(113,76,43,.24),inset 0 10px 18px rgba(255,224,174,.028),inset 0 -12px 21px rgba(0,0,0,.2)}
.entry-handle{width:9px;height:48px;background:linear-gradient(90deg,#71502c,#c6a263 47%,#684720);box-shadow:0 2px 10px rgba(0,0,0,.48),inset 1px 0 rgba(255,255,255,.18)}

@media(max-width:760px){
  .story-updates .updates-inner{grid-template-columns:1fr;row-gap:22px}
  .story-updates .updates-inner>.editorial-label,.story-updates .updates-copy,.story-updates .updates-form{grid-column:1;grid-row:auto}
  .story-updates .updates-inner>.editorial-label{padding-top:0}
  .entry-preview-bookshelf{left:0!important;width:100vw!important;max-width:none!important}
}

/* V27 shelf partition and Book View */
.shelf-partition{position:relative;z-index:3;flex:0 0 22px;height:292px;margin:0 10px 0 18px;align-self:flex-end}
.shelf-partition:before{content:'';position:absolute;left:50%;top:10px;bottom:8px;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,#d0ad58,#8f702f 55%,#5f4821);box-shadow:0 0 0 1px rgba(38,27,17,.28),0 4px 12px rgba(0,0,0,.32)}
.shelf-partition:after{content:'';position:absolute;left:50%;top:8px;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:#c69e47;box-shadow:0 0 0 1px rgba(50,37,20,.4)}
.coming-soon-bundle{position:relative;display:flex;align-items:flex-end;gap:10px;padding:0 18px 0 14px;min-height:300px;isolation:isolate}
.coming-soon-bundle:before{content:'';position:absolute;left:2px;right:2px;bottom:68px;height:22px;z-index:5;background:linear-gradient(180deg,#ddb84f,#c5952c 54%,#a67619);box-shadow:0 4px 7px rgba(35,23,10,.28),inset 0 1px rgba(255,255,255,.35);opacity:.93;pointer-events:none}
.coming-soon-bundle:after{content:'';position:absolute;left:10px;bottom:62px;width:18px;height:34px;z-index:6;background:linear-gradient(135deg,#d5ac41 0 48%,transparent 49%),linear-gradient(45deg,#b98421 0 48%,transparent 49%);filter:drop-shadow(0 3px 2px rgba(0,0,0,.22));pointer-events:none}
.coming-soon-ribbon{position:absolute;z-index:7;left:50%;bottom:65px;transform:translateX(-50%);min-width:116px;padding:5px 14px 4px;text-align:center;background:#d1a437;color:#4b3515;font:8px var(--sans);font-weight:700;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 4px 9px rgba(38,24,10,.28),inset 0 1px rgba(255,255,255,.32);pointer-events:none;white-space:nowrap}
.coming-soon-ribbon:before,.coming-soon-ribbon:after{content:'';position:absolute;top:0;width:16px;height:100%;background:#b98522;z-index:-1}
.coming-soon-ribbon:before{left:-12px;transform:skewY(-24deg)}
.coming-soon-ribbon:after{right:-12px;transform:skewY(24deg)}
.coming-soon-bundle .book-spine{z-index:3}
.coming-soon-bundle .book-spine:hover,.coming-soon-bundle .book-spine:focus-visible{z-index:9}

.reader-mode-switch{display:inline-flex;align-items:center;padding:3px;background:#171411;border:1px solid #4a4238;box-shadow:inset 0 1px rgba(255,255,255,.03)}
.reader-toolbar .reader-mode-option{border:0;background:transparent;color:#948779;padding:7px 11px;font:9px var(--sans);letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.reader-toolbar .reader-mode-option:hover{background:#24201c;color:#e4dacb}
.reader-toolbar .reader-mode-option.is-active{background:#d8c8ae;color:#2a211a;box-shadow:0 2px 8px rgba(0,0,0,.18)}

.book-view-stage{position:relative;background:radial-gradient(circle at 50% 24%,#3b342d,#221e1a 62%,#171411);padding:24px 18px 36px;min-height:min(82vh,930px);overflow:hidden}
.book-view-shell{width:min(1220px,100%);margin:0 auto}
.book-view-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 auto 14px;width:min(1120px,100%);color:#ad9f8e;font:9px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.book-view-meta span:first-child{color:#e0d3c2}
.book-spread{position:relative;width:min(1120px,calc(100vw - 90px));height:min(74vh,820px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;perspective:2200px;filter:drop-shadow(0 24px 38px rgba(0,0,0,.42))}
.book-spread:before{content:'';position:absolute;inset:-12px -10px -16px;z-index:-2;border-radius:7px;background:#4c3c30;box-shadow:0 13px 28px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.04)}
.book-spread:after{content:'';position:absolute;left:50%;top:1.2%;bottom:1.2%;width:34px;transform:translateX(-50%);z-index:12;pointer-events:none;background:linear-gradient(90deg,rgba(48,34,23,.16),rgba(255,255,255,.16) 43%,rgba(62,43,27,.18) 54%,rgba(0,0,0,.16));filter:blur(4px);opacity:.78}
.book-page{position:relative;min-width:0;height:100%;padding:0;border:0;background:#efe5d3;overflow:hidden;cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 0 28px rgba(92,68,43,.08)}
.book-page-left{border-radius:5px 0 0 5px;box-shadow:inset -18px 0 28px rgba(80,58,37,.08),inset 0 0 28px rgba(92,68,43,.06)}
.book-page-right{border-radius:0 5px 5px 0;box-shadow:inset 18px 0 28px rgba(80,58,37,.08),inset 0 0 28px rgba(92,68,43,.06)}
.book-page:disabled{cursor:default}
.book-page img,.leaf-face img{display:block;width:100%;height:100%;object-fit:contain;background:#f0e6d4;user-select:none;-webkit-user-drag:none}
.blank-book-page{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(90deg,#e9decb,#f5ecdc 85%);color:#9c8872;font-family:var(--display);font-size:19px;letter-spacing:.24em}
.book-page-number{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);padding:2px 5px;background:rgba(34,27,22,.66);color:#e9dfd0;font:7px var(--sans);letter-spacing:.08em;border-radius:2px;opacity:.72}
.book-page-cue{position:absolute;top:50%;transform:translateY(-50%);z-index:5;padding:6px 8px;background:rgba(34,27,22,.68);color:#eaddcd;font:7px var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .2s ease}
.book-page-left .book-page-cue{left:10px}.book-page-right .book-page-cue{right:10px}
.book-page:not(:disabled):hover .book-page-cue{opacity:.88}
.book-gutter{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(70,48,30,.24);z-index:13;pointer-events:none}
.book-view-mobile-hint{display:none;text-align:center;color:#9d9082;font:9px var(--sans);letter-spacing:.04em;margin-top:12px}

.book-turn-leaf{position:absolute;top:0;width:50%;height:100%;z-index:20;transform-style:preserve-3d;pointer-events:none;transition:transform .62s cubic-bezier(.2,.72,.22,1);will-change:transform}
.book-turn-leaf.turn-forward{left:50%;transform-origin:left center;transform:rotateY(0deg)}
.book-turn-leaf.turn-forward.is-turning{transform:rotateY(-180deg)}
.book-turn-leaf.turn-backward{left:0;transform-origin:right center;transform:rotateY(0deg)}
.book-turn-leaf.turn-backward.is-turning{transform:rotateY(180deg)}
.leaf-face{position:absolute;inset:0;display:grid;place-items:center;background:#efe5d3;backface-visibility:hidden;overflow:hidden;box-shadow:inset 0 0 26px rgba(74,52,32,.08)}
.leaf-back{transform:rotateY(180deg)}
.turn-forward .leaf-front{box-shadow:inset 18px 0 28px rgba(80,58,37,.08),-8px 3px 18px rgba(0,0,0,.14)}
.turn-forward .leaf-back{box-shadow:inset -18px 0 28px rgba(80,58,37,.08),8px 3px 18px rgba(0,0,0,.14)}
.turn-backward .leaf-front{box-shadow:inset -18px 0 28px rgba(80,58,37,.08),8px 3px 18px rgba(0,0,0,.14)}
.turn-backward .leaf-back{box-shadow:inset 18px 0 28px rgba(80,58,37,.08),-8px 3px 18px rgba(0,0,0,.14)}

@media(max-width:820px){
  .shelf-partition{height:272px;flex-basis:16px;margin:0 6px 0 10px}
  .coming-soon-bundle{gap:12px;padding-right:26px}
  .reader-mode-switch{order:3}
  .book-view-stage{padding:18px 8px 28px;min-height:72vh}
  .book-view-meta{width:min(620px,94%);font-size:8px}.book-view-meta span:last-child{display:none}
  .book-spread{width:min(620px,92vw);height:min(72vh,820px);display:block}
  .book-page-left,.book-gutter{display:none}
  .book-page-right{width:100%;height:100%;border-radius:5px}
  .book-spread:after{display:none}
  .book-turn-leaf{left:0!important;width:100%}
  .book-view-mobile-hint{display:block}
  .book-page-cue{display:none}
}
@media(max-width:520px){
  .coming-soon-ribbon{font-size:7px;min-width:104px;padding-inline:10px}
  .book-view-stage{padding-inline:4px}.book-spread{width:94vw}
}
@media(prefers-reduced-motion:reduce){
  .book-turn-leaf{transition:none}.reader-toolbar .reader-mode-option{transition:none}
}

/* V28 Book View reliability */
.book-view-stage[style*="display: block"]{display:block!important}
.scroll-reader-stage[style*="display: none"]{display:none!important}
.book-view-stage .book-page{touch-action:manipulation}
.book-view-stage .book-page img{pointer-events:none}
.book-view-stage .leaf-face{pointer-events:none}
.book-view-stage .book-spread{user-select:none;-webkit-user-select:none}
.book-view-stage .book-page:focus-visible{outline:2px solid #d4b77e;outline-offset:3px}
@media(max-width:820px){
  .book-view-stage .book-page-right{display:grid!important}
  .book-view-stage .book-page-left{display:none!important}
}


/* V29 Book View fit and meta visibility fix */
.book-view-stage{
  overflow:visible;
  padding:32px 24px 42px;
  min-height:0;
}
.book-view-shell{
  width:min(1220px,100%);
  margin:0 auto;
  overflow:visible;
}
.book-view-meta{
  position:relative;
  z-index:30;
  width:min(1120px,100%);
  min-height:26px;
  margin:4px auto 18px;
  padding:0 8px;
  align-items:flex-start;
  line-height:1.45;
  overflow:visible;
}
.book-view-meta span:first-child{
  flex:0 1 auto;
  white-space:normal;
}
.book-view-instruction{
  flex:0 1 48%;
  max-width:48%;
  white-space:normal;
  text-align:right;
  line-height:1.45;
}
.book-spread{
  /* Tears pages are 1400 x 2234. Two pages side by side are ~1.2534:1. */
  width:min(1120px,calc(100vw - 110px),calc((100dvh - 230px) * 1.25336));
  height:auto;
  aspect-ratio:2800 / 2234;
  max-height:none;
}
.book-page,
.leaf-face{
  min-height:0;
  overflow:hidden;
}
.book-page img,
.leaf-face img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

@media(max-width:820px){
  .book-view-stage{padding:26px 10px 34px}
  .book-view-meta{
    width:min(620px,94%);
    margin-top:2px;
    margin-bottom:14px;
    padding-inline:4px;
  }
  .book-view-meta span:last-child{display:none}
  .book-spread{
    width:min(620px,92vw,calc((100dvh - 205px) * .62668));
    height:auto;
    aspect-ratio:1400 / 2234;
    max-height:none;
  }
}
@media(max-width:520px){
  .book-view-stage{padding:22px 4px 30px}
  .book-spread{
    width:min(94vw,calc((100dvh - 190px) * .62668));
  }
}


/* V30 Book View: measured fit, no page cropping */
.book-view-stage{
  overflow:visible;
  min-height:0;
  padding:24px 22px 32px;
}
.book-view-shell{overflow:visible}
.book-view-meta{
  position:relative;
  z-index:40;
  margin:0 auto 12px;
  min-height:28px;
  padding:2px 10px 0;
  overflow:visible;
}
.book-spread{
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
  overflow:visible;
}
.book-page,.leaf-face{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.book-page img,.leaf-face img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:820px){
  .book-view-stage{padding:18px 8px 28px}
  .book-spread{width:auto;height:auto;aspect-ratio:auto}
}

/* V31 mobile cover lens can open a published book */
@media(max-width:700px), (hover:none) and (pointer:coarse){
  .book-cover-lens.is-touch.is-actionable{pointer-events:auto;cursor:pointer;touch-action:manipulation}
  .book-cover-lens.is-touch.is-actionable:active{transform:scale(.97) translateY(1px)}
}
