@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

:root{--cream:#fffcf7;--paper:#fff9f4;--blush:#fff1eb;--peach:#f8ddd3;--coral:#ec806d;--rose:#bf5855;--wine:#593039;--ink:#372a2d;--muted:#816d6d;--line:#f1ded7;--shadow:0 18px 42px rgba(131,62,62,.10);font-family:'DM Sans','PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--cream);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}.shell{width:min(1400px,calc(100% - 64px));margin-inline:auto}.page-wash{position:absolute;z-index:-1;left:0;right:0;top:54px;height:1100px;pointer-events:none;background:radial-gradient(ellipse 520px 380px at 98% 4%,#ffe1df 0,transparent 72%),radial-gradient(ellipse 500px 380px at 4% 83%,#ffe2db 0,transparent 72%),linear-gradient(#fffdf8,#fffdf9 70%,#fffaf7)}.site-header{position:relative;z-index:20;border-bottom:1px solid rgba(227,192,182,.5);background:rgba(255,255,253,.9);backdrop-filter:blur(12px)}.header-inner{height:67px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:baseline;gap:6px;color:var(--rose);font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:700;white-space:nowrap}.brand-mark{font-family:Georgia,serif;color:var(--coral);font-size:34px;line-height:0;transform:rotate(-30deg);display:inline-block;vertical-align:middle}.brand small{font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.22em;color:#bd9a91;margin-left:3px}.main-nav,.header-actions{display:flex;align-items:center;gap:30px}.main-nav a{font-size:14px;color:#664c4f;transition:color .2s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--rose)}.header-actions{gap:18px}.icon-button{border:0;background:transparent;padding:6px;display:inline-flex;align-items:center;justify-content:center;color:#925f5e}.icon-button:hover,.icon-button:focus-visible{color:var(--coral)}.library-link{display:flex;align-items:center;gap:5px;border:0;border-bottom:2px solid #e9a095;background:transparent;padding:16px 0 14px;color:var(--wine);font-size:14px;white-space:nowrap}.library-link svg{width:17px;height:17px}.library-link b{display:inline-flex;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:50%;font-size:11px;color:white;background:var(--coral)}.menu-toggle{display:none}.search-panel{padding:18px 0 22px}.search-panel label{display:block;font-size:13px;color:var(--rose);margin-bottom:8px}.search-field{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:14px;padding:6px 13px;max-width:580px}.search-field svg{color:var(--rose);width:19px}.search-field input{border:0;outline:0;flex:1;min-width:0;padding:9px 0;background:transparent;color:var(--ink)}.search-field button{border:0;background:transparent;color:var(--muted);font-size:13px}

.hero{min-height:438px;display:grid;grid-template-columns:49% 51%;align-items:center;position:relative;padding-top:16px}.hero-copy{position:relative;z-index:2;padding:24px 0 20px 44px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:#ca776a;margin-bottom:12px}.eyebrow-line{display:inline-block;width:25px;height:1px;background:#d88978;vertical-align:middle;margin-right:9px}.hero h1{font-family:'Playfair Display',Georgia,serif;color:#b9504d;font-size:clamp(42px,3.8vw,56px);line-height:1.36;letter-spacing:.01em;margin:0 0 13px;font-weight:700}.hero h1 em{font-style:normal;color:#d16a60}.hero-description{font-size:16px;line-height:1.9;color:#69575a;max-width:480px;margin-bottom:29px}.hero-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:100px;border:1px solid transparent;padding:12px 24px;min-height:46px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(100deg,#f48a76,#ec746b);color:white;box-shadow:0 9px 21px rgba(230,111,100,.23)}.button-primary:hover{box-shadow:0 12px 25px rgba(230,111,100,.32)}.button-outline{border-color:#eabbb2;background:white;color:var(--rose)}.text-link{font-size:13px;font-weight:600;color:#9a6968}.text-link span{color:var(--coral);margin-left:4px}.hero-note{font-size:12px;color:#ad9290;margin-top:28px;letter-spacing:.03em}.note-heart{color:#e49b92;margin-right:7px}.hero-decoration-left{position:absolute;left:-62px;top:188px;color:#eeb8aa;font-size:31px;transform:rotate(-20deg)}
.hero-art{height:410px;position:relative;overflow:visible}.hero-art:before{content:'';position:absolute;inset:25px 14px 10px 20px;border-radius:50%;background:radial-gradient(ellipse at center,#ffd8d4 0,#fff0e8 48%,transparent 72%);filter:blur(12px)}.art-orbit{position:absolute;border:1px dashed rgba(211,134,124,.45);border-radius:50%;transform:rotate(-20deg)}.orbit-one{width:570px;height:305px;left:80px;top:47px}.orbit-two{width:480px;height:250px;left:120px;top:75px;transform:rotate(23deg)}.float-heart{position:absolute;color:#e6a095;font-size:30px;z-index:5}.heart-one{right:55px;top:65px;transform:rotate(20deg)}.heart-two{left:60px;bottom:72px;transform:rotate(-22deg)}.hero-book{position:absolute;width:182px;height:260px;box-shadow:0 22px 30px rgba(90,45,54,.20),inset 5px 0 8px rgba(255,255,255,.17);border-radius:6px 9px 9px 6px;z-index:3;transition:transform .3s}.hero-book-left{left:18%;top:77px;transform:rotate(-16deg)}.hero-book-back{left:42%;top:22px;transform:rotate(11deg);z-index:2}.hero-book-right{left:61%;top:116px;transform:rotate(15deg)}.hero-book-left:hover{transform:rotate(-13deg) translateY(-6px)}.hero-book-right:hover{transform:rotate(12deg) translateY(-6px)}.art-caption{position:absolute;bottom:6px;right:15%;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;color:#a47772}.art-caption span:first-child{color:var(--coral);font-weight:700}.caption-line{width:25px;height:1px;background:#dca69d}
.cover{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:16px;color:#fff;background-size:cover;background-position:center;isolation:isolate;text-shadow:0 2px 7px rgba(46,27,34,.65)}.cover:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,12,20,.18),transparent 32%,rgba(52,18,35,.18) 50%,rgba(32,12,29,.72) 100%)}.cover:after{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(90deg,rgba(29,17,27,.25),rgba(255,255,255,.1),transparent);pointer-events:none}.cover-top{text-align:center;letter-spacing:.12em;font-size:9px;line-height:1.5}.cover-title{display:block;margin:auto 0 6px;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:28px;line-height:1.36;text-align:center}.cover-author{text-align:center;font-size:10px;letter-spacing:.12em}.cover-1{background-color:#eb9f89;background-image:linear-gradient(140deg,#fae0c1,#df8a79 65%,#6d4a67)}.cover-2{background-color:#e2a7a7;background-image:linear-gradient(160deg,#f5ddca,#d992a3 60%,#885466)}.cover-3{background-color:#6a637d;background-image:linear-gradient(145deg,#78819b,#92728d 45%,#353a56)}.cover-4{background-color:#e7a78b;background-image:linear-gradient(145deg,#fce6b8,#ecab91 55%,#b66776)}.cover-5{background-color:#a690a0;background-image:linear-gradient(145deg,#e8d7c8,#a68f9c 50%,#5e6073)}.cover-6{background-color:#dd987f;background-image:linear-gradient(145deg,#f7d7b6,#d6947e 55%,#8e5359)}.cover-7{background-color:#aca5ba;background-image:linear-gradient(145deg,#ecd8db,#ac9eac 55%,#685977)}.cover-8{background-color:#e4ae91;background-image:linear-gradient(145deg,#ffdfb5,#e5a98e 55%,#855c68)}

.genre-strip{display:flex;align-items:center;gap:19px;position:relative;z-index:5;padding:15px 22px;margin-top:-4px;margin-bottom:22px;background:rgba(255,250,246,.88);border:1px solid rgba(250,228,218,.9);border-radius:15px;box-shadow:0 9px 26px rgba(227,151,131,.09)}.genre-intro{font-family:'Playfair Display',Georgia,serif;font-size:14px;font-weight:700;color:#9a5f5c;white-space:nowrap}.genre-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1}.genre-list::-webkit-scrollbar{display:none}.genre-chip{border:1px solid transparent;border-radius:100px;padding:8px 16px;background:#fff2ed;color:#865856;font-size:13px;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.genre-chip:hover{transform:translateY(-1px);background:#ffe6de}.genre-chip[aria-pressed="true"]{background:#ee826e;color:#fff;box-shadow:0 5px 13px rgba(232,115,99,.21)}
.content-grid{display:grid;grid-template-columns:minmax(305px,33%) minmax(0,1fr);gap:22px;align-items:stretch}.trending-panel,.release-panel,.writer-panel{background:rgba(255,255,253,.94);border:1px solid rgba(247,225,215,.75);box-shadow:var(--shadow);border-radius:16px}.trending-panel{padding:25px 27px 17px;background:linear-gradient(145deg,#fff8f3,#fff7f4)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading .eyebrow{margin-bottom:3px;font-size:10px}.section-heading h2,.writer-panel h2{font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.5;color:#58353d;margin:0}.heading-sparkle{font-size:33px;color:#dfaa9d;line-height:1}.trend-item{width:100%;display:flex;align-items:center;text-align:left;gap:13px;padding:9px 0;border:0;border-bottom:1px solid #efdcd7;background:transparent;color:inherit}.trend-number{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex:none;border-radius:11px;background:#f3947f;color:white;font-weight:700;font-size:14px;box-shadow:0 4px 8px rgba(240,143,121,.18)}.trend-item:nth-child(n+4) .trend-number{background:#f5aa99}.trend-info{display:block;min-width:0;flex:1}.trend-title{display:block;color:#794448;font-weight:700;font-size:14px;line-height:1.4}.trend-subtitle{display:block;margin-top:3px;color:#af9994;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-arrow{color:#bb918c;font-size:22px;font-weight:300;transition:transform .2s}.trend-item:hover .trend-arrow{transform:translateX(4px)}.panel-footnote{text-align:right;color:#b49b96;font-size:11px;margin:14px 0 0}.panel-footnote span{color:#e59b8f}.right-column{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;min-width:0}.release-panel{padding:25px 26px 26px;min-width:0}.title-flower{color:#efaa9e;font-size:19px;vertical-align:top}.shelf-controls{display:flex;gap:8px}.round-arrow{width:32px;height:32px;border:1px solid #efdad2;background:#fffaf8;border-radius:50%;color:#ae706a;font-size:17px;line-height:1;transition:background .2s}.round-arrow:hover{background:#ffe8e0}.shelf-meta{font-size:12px;color:#ad8c87;margin:-6px 0 13px}.book-shelf{display:flex;gap:16px;overflow:auto;padding:5px 4px 8px 1px;scrollbar-width:thin;scrollbar-color:#e7bbb0 transparent;scroll-snap-type:x mandatory}.book-card{min-width:132px;width:132px;scroll-snap-align:start;position:relative}.book-card-cover{border:0;padding:0;width:100%;height:181px;display:block;border-radius:7px;box-shadow:0 7px 16px rgba(95,50,58,.15);transition:transform .2s,box-shadow .2s}.book-card-cover:hover{transform:translateY(-4px);box-shadow:0 11px 20px rgba(95,50,58,.2)}.book-card .cover-title{font-size:21px}.book-card .cover-top,.book-card .cover-author{font-size:8px}.book-card-title{display:block;border:0;background:transparent;padding:10px 0 2px;text-align:left;font-family:'Playfair Display',Georgia,serif;font-size:13px;font-weight:700;color:#633d44;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.book-card-byline{display:block;font-size:11px;color:#a18c89}.favorite-button{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.87);color:#b66362;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(49,28,32,.15)}.favorite-button[aria-pressed="true"]{background:#fff2ed;color:#d75d61}.empty-state{text-align:center;padding:28px;color:var(--muted)}.empty-state span{font-size:37px;color:var(--coral)}.empty-state h3{font-family:'Playfair Display',Georgia,serif;margin:8px 0}.empty-state p{font-size:13px}.writer-panel{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 29px;overflow:hidden;background:linear-gradient(115deg,#fffdf9,#fff5ee)}.writer-panel .eyebrow{margin-bottom:2px}.writer-panel h2{font-size:22px}.writer-panel p:last-child{font-size:13px;color:#846d69;margin:5px 0 0}.writer-panel .button{position:relative;z-index:1}.writer-ornament{position:absolute;right:190px;top:-42px;font-size:150px;line-height:1;color:#ffece5;transform:rotate(24deg)}.bottom-decoration{height:60px;max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;color:#e8aa9b;font-size:24px;opacity:.65}.bottom-decoration span:nth-child(2){font-size:15px;transform:translateY(19px)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #f1dfd7;padding:24px 0 30px;color:#9c8581;font-size:12px}.footer-brand{font-family:'Playfair Display',Georgia,serif;color:#aa6965;font-size:15px;font-weight:700}.footer-brand .brand-mark{font-size:22px}.footer-brand small{display:block;margin-top:6px;font-family:'DM Sans',sans-serif;color:#af9996;font-size:11px;font-weight:400}.site-footer p{margin:0}.site-footer a{font-weight:600;color:#a9706a}

.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.dialog-backdrop{position:absolute;inset:0;background:rgba(53,30,39,.50);backdrop-filter:blur(3px)}.dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(88vh,850px);overflow:auto;background:#fffcf9;border-radius:18px;box-shadow:0 30px 70px rgba(43,21,30,.25)}.dialog-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.93);font-size:26px;line-height:1;box-shadow:0 2px 8px rgba(53,30,39,.1)}.detail-body{display:grid;grid-template-columns:230px 1fr;gap:30px;padding:36px}.detail-cover{width:230px;height:322px;border-radius:8px;box-shadow:0 13px 26px rgba(68,37,42,.18)}.detail-cover .cover-title{font-size:34px}.detail-copy{padding:6px 16px 0 0}.detail-copy h2,.reader-dialog h2,.modal-heading h2{font-family:'Playfair Display',Georgia,serif;color:#633b43;font-size:30px;margin:0 0 8px}.detail-byline{color:#a27f7d;font-size:13px}.detail-tag{display:inline-flex;padding:5px 10px;border-radius:30px;background:#fff0e9;color:#b46d64;font-size:12px;margin:14px 0}.detail-description{font-size:15px;color:#67565a;line-height:1.9;margin:5px 0 24px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px}.detail-extra{font-size:12px;color:#a89592;border-top:1px solid var(--line);margin-top:25px;padding-top:16px}.reader-dialog{width:min(680px,100%);padding:42px 54px}.reader-dialog .eyebrow{text-align:center}.reader-dialog h2{text-align:center}.reader-subtitle{text-align:center;color:#ab8a85;margin-bottom:30px;font-size:13px}.reader-text{font-family:'Playfair Display',Georgia,serif;color:#493e40;font-size:17px;line-height:2.2}.reader-text p{text-indent:2em;margin:0 0 1.3em}.reader-end{text-align:center;color:#ba8780;font-size:13px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.writer-dialog{padding:34px 42px;width:min(620px,100%)}.modal-heading p:last-child{color:#887270;font-size:13px;line-height:1.6}.writer-dialog form{display:grid;gap:16px}.writer-dialog label{display:grid;gap:7px;color:#745354;font-size:13px;font-weight:700}.writer-dialog input,.writer-dialog textarea{width:100%;border:1px solid #e8d5ce;border-radius:9px;padding:11px 13px;background:#fff;color:var(--ink);outline-color:#ed9b8c}.writer-dialog textarea{resize:vertical;min-height:190px;line-height:1.7}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-actions span{color:#9d7771;font-size:12px}.toast{position:fixed;z-index:70;left:50%;bottom:25px;transform:translate(-50%,20px);background:#633c45;color:white;padding:11px 18px;border-radius:100px;box-shadow:0 9px 25px rgba(50,30,35,.25);font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}

@media(max-width:1100px){.shell{width:min(100% - 44px,1400px)}.main-nav{gap:18px}.hero-copy{padding-left:12px}.hero-book{width:156px;height:228px}.hero-book-left{left:10%}.hero-book-back{left:38%}.hero-book-right{left:59%}.art-orbit{max-width:88%}.content-grid{grid-template-columns:minmax(285px,35%) minmax(0,1fr)}.book-card{min-width:120px;width:120px}.book-card-cover{height:165px}}
@media(max-width:800px){.site-header .brand small{display:none}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:#fffdfa;flex-direction:column;align-items:stretch;gap:0;padding:12px 25px 18px;box-shadow:0 14px 25px rgba(81,39,45,.13)}.main-nav.is-open{display:flex}.main-nav a{padding:12px;border-bottom:1px solid var(--line)}.menu-toggle{display:inline-flex}.header-actions{gap:12px}.hero{grid-template-columns:1fr 1fr;min-height:390px}.hero h1{font-size:clamp(38px,5vw,52px)}.hero-art{height:350px}.hero-book{width:130px;height:195px}.hero-book-left{left:0;top:90px}.hero-book-back{left:30%;top:28px}.hero-book-right{left:55%;top:125px}.hero-book .cover-title{font-size:21px}.art-caption{bottom:0;right:4%}.orbit-one{width:330px;height:260px;left:7%;top:54px}.orbit-two{width:280px;height:240px;left:11%;top:64px}.content-grid{grid-template-columns:1fr}.trending-panel{order:2}.right-column{order:1}.trending-list{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.writer-panel{min-height:130px}.genre-strip{margin-bottom:18px}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header-inner{height:61px}.brand{font-size:18px}.brand-mark{font-size:28px}.main-nav{top:61px}.library-link{padding:13px 0 12px}.library-link span{display:none}.header-actions{gap:7px}.hero{display:block;min-height:0;padding:34px 0 18px}.hero-copy{padding:0 4px}.hero h1{font-size:42px;line-height:1.35}.hero-description{font-size:14px;line-height:1.8;margin-bottom:20px}.hero-buttons{gap:17px}.hero-note{display:none}.hero-art{height:250px;margin-top:4px;overflow:hidden}.hero-art:before{inset:10px 18px 0}.hero-book{width:110px;height:160px}.hero-book-left{left:15%;top:43px}.hero-book-back{left:41%;top:14px}.hero-book-right{left:64%;top:61px}.hero-book .cover-title{font-size:16px}.hero-book .cover-top,.hero-book .cover-author{font-size:6px}.hero-book .cover{padding:9px}.orbit-one{width:350px;height:210px;left:5%;top:18px}.orbit-two{width:300px;height:175px;left:10%;top:27px}.art-caption{bottom:10px;right:12%;font-size:9px}.heart-one{right:14px;top:16px}.heart-two{left:22px;bottom:18px}.genre-strip{display:block;padding:14px 12px;border-radius:12px}.genre-intro{display:block;margin:0 0 10px 4px}.genre-list{padding-bottom:2px}.genre-chip{padding:7px 13px;font-size:12px}.content-grid{gap:16px}.release-panel,.trending-panel{padding:20px 17px}.section-heading h2{font-size:22px}.book-card{min-width:122px;width:122px}.book-card-cover{height:168px}.trending-list{display:block}.trend-item{padding:10px 0}.writer-panel{display:block;padding:22px 20px}.writer-panel .button{margin-top:15px}.writer-panel h2{font-size:20px}.bottom-decoration{height:34px}.site-footer{flex-direction:column;align-items:flex-start;gap:10px;padding:19px 0 25px}.footer-brand small{display:inline;margin-left:8px}.detail-body{display:block;padding:26px 22px}.detail-cover{width:150px;height:215px;margin:0 auto 22px}.detail-cover .cover-title{font-size:22px}.detail-copy{padding:0}.detail-copy h2{font-size:24px}.reader-dialog{padding:38px 24px}.reader-text{font-size:16px}.writer-dialog{padding:29px 22px}.dialog{max-height:90vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.hero-book{position:absolute}
:root{--cream:#f8f4ee;--paper:#fffaf4;--blush:#f3eae3;--peach:#e8d1c3;--coral:#b66d62;--rose:#803e4b;--wine:#4e2b37;--ink:#302b2c;--muted:#786b68;--line:#e9d8cd;--shadow:0 18px 42px rgba(91,48,46,.10);background:var(--cream)}
.page-wash{background:radial-gradient(ellipse 620px 460px at 97% 5%,#f3dfd4 0,transparent 72%),radial-gradient(ellipse 540px 370px at 3% 83%,#e9ddd2 0,transparent 74%),linear-gradient(#fffaf4,#fbf7f0 70%,#f8f4ee)}
.site-header{background:rgba(255,251,245,.94);border-bottom-color:#e8d5c9}
.brand{color:#793a49;font-size:23px}
.brand-mark{color:#bd805d}
.main-nav a{color:#58464a}
.hero h1{color:#793847}
.hero h1 em{color:#aa625f}
.hero-description{color:#665a5a}
.hero-art:before{background:radial-gradient(ellipse at center,#eacbbf 0,#f5e9df 48%,transparent 72%)}
.art-orbit{border-color:rgba(151,91,84,.35)}
.float-heart,.hero-decoration-left,.note-heart{color:#bf8277}
.button-primary{background:linear-gradient(105deg,#823c4f,#ae625f);box-shadow:0 9px 21px rgba(123,58,68,.22)}
.button-primary:hover{box-shadow:0 12px 25px rgba(123,58,68,.32)}
.genre-strip{background:rgba(255,250,244,.92);border-color:#ebdbcf}
.genre-chip{background:#f5ebe4;color:#775057}
.genre-chip:hover{background:#efdfd6}
.genre-chip[aria-pressed="true"]{background:#844250;box-shadow:0 5px 13px rgba(105,49,66,.23)}
.trending-panel{background:linear-gradient(145deg,#fffaf5,#f7eee8)}
.release-panel,.writer-panel{background:#fffaf5}
.writer-panel{background:linear-gradient(115deg,#fffaf5,#f3e9e0)}
.trend-number,.trend-item:nth-child(n+4) .trend-number{background:#af6b66;box-shadow:0 4px 8px rgba(118,62,65,.16)}
.cover:before{background:linear-gradient(180deg,rgba(26,12,20,.17),transparent 28%,rgba(47,24,29,.16) 48%,rgba(25,13,22,.74) 100%)}
.hero-book .cover-title{font-size:23px;line-height:1.18}
.book-card .cover-title{font-size:18px;line-height:1.18}
.detail-cover .cover-title{font-size:29px;line-height:1.2}
.cover-top{font-size:8px;letter-spacing:.1em}
@media(max-width:600px){.brand{font-size:18px}.hero-book .cover-title{font-size:15px}.book-card .cover-title{font-size:17px}}
.cover-1{background-image:url('./assets/letters.webp')}
.cover-2{background-image:url('./assets/orchard.webp')}
.cover-3{background-image:url('./assets/city.webp')}
.cover-4{background-image:url('./assets/glasshouse.webp')}
.cover-5{background-image:url('./assets/florence.webp')}
.cover-6{background-image:url('./assets/waltz.webp')}
.cover-7{background-image:url('./assets/sky.webp')}
.cover-8{background-image:url('./assets/bluehour.webp')}
.cover{box-shadow:inset 0 0 0 1px rgba(255,235,204,.25);text-shadow:0 2px 9px rgba(0,0,0,.25)}
.cover:before{inset:0;background:linear-gradient(180deg,rgba(24,15,31,.15),rgba(25,18,37,.12) 25%,rgba(20,13,27,.72) 100%)}
.hero-book .cover-title{font-size:31px;line-height:1.15;margin:auto 0}
.book-card-cover{display:flex;padding:18px 9px;justify-content:space-between}
.book-card .cover-title{font-size:23px;line-height:1.1;margin:auto 0}
.book-card .cover-top{font-size:9px;padding-right:14px}
.book-card-title{font-size:14px}
.book-card-byline,.book-status{font-size:12px;line-height:1.6}
.book-status{display:block;color:#8c7774;margin-top:2px}
.genre-intro,.genre-chip,.main-nav a{font-size:14px}
.hero-description{font-size:16px}
.shelf-meta,.trend-subtitle,.panel-footnote{font-size:12px}
.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.detail-tags .detail-tag{margin:0;font-size:12px}
.detail-description{font-size:16px}
.publication-note{font-size:13px;color:#806468;line-height:1.65;margin:0 0 20px}
.chapter-directory{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:20px}
.chapter-directory h3{font-family:Georgia,serif;font-size:22px;margin:0 0 14px;color:var(--wine)}
.chapter-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.chapter-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff9f3;padding:15px;color:var(--ink);font-size:15px;line-height:1.5}
.chapter-list button:hover{background:#f3e9df}
.chapter-list b{margin-right:10px;color:var(--rose)}
.chapter-list small{white-space:nowrap;font-size:12px;color:var(--muted)}
.reader-dialog{width:min(780px,100%);padding:38px 60px}
.reader-back{border:0;background:none;padding:4px 0;margin:0 0 28px;color:var(--rose);font-size:14px}
.reader-dialog h2{font-size:32px;line-height:1.25;outline:none}
.reader-subtitle{font-size:13px;margin:12px 0 22px}
.chapter-selector{display:flex;align-items:center;gap:12px;margin-bottom:32px;font-size:14px}
.chapter-selector select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;color:var(--ink);font:inherit}
.reader-text{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.85;color:#342e32}
.reader-text p{text-indent:0;margin:0 0 1.15em}
.chapter-navigation{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.chapter-navigation .button{font-size:14px;padding:11px 16px}
.button:disabled{cursor:default;opacity:.4;box-shadow:none}
.content-grid>*{min-width:0}
@media(max-width:800px){.content-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.hero-book .cover-title{font-size:23px}.book-card .cover-title{font-size:22px}.detail-cover{margin-bottom:22px}.chapter-directory{margin-top:25px}.chapter-list button{display:block}.chapter-list small{display:block;margin-top:6px}.reader-dialog{padding:36px 22px}.reader-dialog h2{font-size:26px}.reader-text{font-size:17px}.chapter-selector{display:block}.chapter-selector label{display:block;margin-bottom:6px}.chapter-navigation .button{padding:10px 12px}}

/* Public, directly linked edition */
.public-shell{width:min(1160px,calc(100% - 36px));margin-inline:auto}
.public-header{background:#fffaf5;border-bottom:1px solid #e9d8cd;position:relative;z-index:1}
.public-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.public-brand{color:#803e4b;font:700 23px 'Playfair Display',Georgia,serif;white-space:nowrap}.public-brand span{color:#b66d62;font-size:31px}
.public-header nav{display:flex;gap:25px;flex-wrap:wrap;font-size:14px;color:#664c4f}.public-header nav a:hover,.public-header nav a:focus-visible{text-decoration:underline}
.public-hero{padding:70px 0 40px;display:grid;grid-template-columns:1fr 420px;gap:54px;align-items:center}
.public-eyebrow{color:#a95d61;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.public-hero h1{color:#803e4b;font:700 clamp(40px,5vw,65px)/1.16 'Playfair Display',Georgia,serif;margin:14px 0 20px}
.public-hero h1 em{color:#b66d62;font-style:normal}.public-hero p:not(.public-eyebrow){font-size:17px;line-height:1.8;color:#66565a;max-width:640px}
.public-hero .button{margin-top:8px}.public-hero-art{position:relative;height:340px;background:radial-gradient(ellipse,#f3d9d1,transparent 70%)}
.public-hero-art .cover{position:absolute;width:170px;height:250px;border-radius:8px;box-shadow:0 18px 30px #70404d35}
.public-hero-art .cover:first-child{left:20px;top:53px;transform:rotate(-13deg)}.public-hero-art .cover:nth-child(2){left:125px;top:21px;transform:rotate(6deg)}.public-hero-art .cover:nth-child(3){left:235px;top:68px;transform:rotate(16deg)}
.public-section{padding:24px 0 60px}.public-section h2,.public-book h1,.public-reader h1{font-family:'Playfair Display',Georgia,serif;color:#593039}
.public-section h2{font-size:30px;margin-bottom:8px}.public-intro{color:#796b69;line-height:1.7;max-width:750px}
.public-filter{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.public-filter a{border-radius:30px;padding:9px 16px;background:#fff1eb;color:#803e4b;font-size:14px}
.public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.public-card{min-width:0;display:block;background:#fffaf6;border:1px solid #eeddd3;border-radius:15px;padding:14px;box-shadow:0 12px 28px #70404d14}
.public-card .cover{height:280px;border-radius:8px}.public-card .cover-title{font-size:30px}.public-card h3{font:700 21px 'Playfair Display',Georgia,serif;color:#593039;margin:17px 0 4px}.public-card p{font-size:14px;line-height:1.6;color:#796b69}.public-card small{color:#ad7370}
.public-card:hover,.public-card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 34px #70404d25}
.public-book,.public-reader{padding:25px 0 74px}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:9px;color:#8f7774;font-size:13px}.breadcrumbs li+li:before{content:'›';margin-right:9px;color:#b98f86}.breadcrumbs a:hover{text-decoration:underline}
.public-book-lead{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:start;margin-top:32px}.public-book-lead .cover{height:390px;border-radius:10px;box-shadow:0 18px 35px #70404d2c}.public-book-lead .cover-title{font-size:42px}
.public-book h1{font-size:clamp(38px,5vw,62px);margin:8px 0 14px}.public-book-lead p{font-size:16px;line-height:1.85;color:#61565a}.public-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.public-tags span{background:#fff0e8;color:#9a555a;border-radius:30px;padding:7px 13px;font-size:13px}
.public-chapters{margin-top:65px;max-width:790px}.public-chapters h2{font:700 30px 'Playfair Display',Georgia,serif;color:#593039}.public-chapters ol{padding:0;list-style:none}.public-chapters li{border-top:1px solid #e9d8cd}.public-chapters li:last-child{border-bottom:1px solid #e9d8cd}.public-chapters a{display:flex;justify-content:space-between;gap:12px;padding:19px 4px;font-size:17px;color:#633d44}.public-chapters a:hover{text-decoration:underline}.public-chapters small{font-size:13px;color:#a0847e;white-space:nowrap}
.public-reader{max-width:850px}.public-reader-head{text-align:center;margin:42px auto 46px}.public-reader h1{font-size:clamp(34px,5vw,54px);line-height:1.3;margin:12px 0}.public-reader-head p:last-child{color:#9d817c}
.public-prose{font:18px/2.05 'Playfair Display',Georgia,serif;color:#42383b}.public-prose p{margin:0 0 1.45em;text-indent:1.5em}.public-reader-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid #e9d8cd;margin-top:55px;padding-top:25px}.public-reader-nav a{color:#9a555a;font-weight:700}.public-reader-nav a:hover{text-decoration:underline}
.public-footer{border-top:1px solid #e9d8cd;padding:30px 0 40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:#87746f;font-size:13px}
@media(max-width:900px){.public-hero{grid-template-columns:1fr 300px;gap:20px}.public-hero-art .cover{width:130px;height:198px}.public-hero-art .cover:first-child{left:0}.public-hero-art .cover:nth-child(2){left:80px}.public-hero-art .cover:nth-child(3){left:158px}.public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.public-header-inner{padding:13px 0;align-items:flex-start;flex-direction:column}.public-header nav{gap:15px}.public-hero{display:block;padding:40px 0 18px}.public-hero-art{height:260px;margin-top:20px;overflow:hidden}.public-hero-art .cover:first-child{left:10%}.public-hero-art .cover:nth-child(2){left:35%}.public-hero-art .cover:nth-child(3){left:60%}.public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-card{padding:8px}.public-card .cover{height:205px}.public-card .cover-title{font-size:22px}.public-card h3{font-size:17px}.public-card p{font-size:12px}.public-book-lead{display:block;margin-top:20px}.public-book-lead .cover{width:180px;height:270px;margin:0 auto 30px}.public-book-lead .cover-title{font-size:26px}.public-chapters{margin-top:35px}.public-chapters a{display:block}.public-chapters small{display:block;margin-top:5px}.public-reader{padding-top:16px}.public-reader-head{margin:32px auto}.public-prose{font-size:16px;line-height:1.95}}
/* Reader accounts */
.public-account-link{border:1px solid #d9aaa1;border-radius:24px;padding:8px 15px;color:#803e4b!important;font-weight:700;white-space:nowrap}.public-account-link:hover{background:#fff0e8;text-decoration:none!important}
.account-layout{width:min(960px,calc(100% - 36px));margin:56px auto 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:50px;align-items:start}.account-intro{padding-top:45px}.account-intro h1{font:700 clamp(36px,4vw,55px)/1.18 'Playfair Display',Georgia,serif;color:#803e4b;margin:15px 0}.account-intro p{font-size:17px;line-height:1.8;color:#66565a;max-width:430px}.account-card{background:#fffaf6;border:1px solid #eeddd3;border-radius:18px;padding:30px;box-shadow:0 18px 42px #70404d19}.account-tabs{display:flex;gap:8px;border-bottom:1px solid #ecd7cd;margin-bottom:27px}.account-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#806a6b;padding:7px 13px 13px;font-size:16px;font-weight:700}.account-tab[aria-selected="true"]{border-bottom-color:#bf5855;color:#803e4b}.account-card h2{font:700 29px 'Playfair Display',Georgia,serif;color:#593039;margin-bottom:20px}.account-form{display:grid;gap:14px}.account-form label{display:grid;gap:7px;font-size:14px;font-weight:700;color:#633d44}.account-form input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #d6b9b1;border-radius:8px;background:white;color:#372a2d;font-size:16px}.account-form input:focus{outline:2px solid #bf5855;outline-offset:2px}.account-form .button{width:100%;margin-top:6px}.account-note{font-size:13px;line-height:1.6;color:#806d6d;margin:17px 0 0}.account-message{border-radius:8px;padding:11px 13px;margin:0 0 15px;font-size:14px;line-height:1.5;background:#f8e6df;color:#733b43}.account-message.success{background:#eaf4ec;color:#28553d}.account-member-email{font-size:18px;font-weight:700;overflow-wrap:anywhere}.account-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}.account-actions button{border:1px solid #d6b9b1;background:white;border-radius:24px;padding:11px 18px;color:#803e4b;font-size:14px;font-weight:700}.account-actions button:hover{background:#fff0e8}
@media(max-width:760px){.account-layout{display:block;margin:28px auto 65px}.account-intro{padding:0 0 20px}.account-card{padding:22px}.public-header nav{gap:10px 17px}.public-account-link{padding:6px 11px}}
