@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#29263d;--muted:#9692a6;--purple:#8870dc;--line:#f0eef5}*{box-sizing:border-box}body{margin:0;background:#e4ddfa;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;padding:56px 28px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:transform .2s,background .2s}button:hover{transform:translateY(-2px)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8b72df;outline-offset:4px}.app{max-width:1240px;margin:auto;background:white;border-radius:15px;overflow:hidden;box-shadow:0 24px 85px #9375d035}header{height:91px;border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;gap:65px}.brand{font-weight:800;font-size:26px;letter-spacing:-1.5px;text-decoration:none;color:var(--ink)}.brand-dot{color:#9679ee}.logo{display:inline-block;color:#9679ee;font-size:32px;vertical-align:-2px;margin-right:7px}.search{display:flex;align-items:center;gap:12px;max-width:430px;flex:1;color:#a4a0b1}.search svg{width:19px}.search input{width:100%;border:none;outline:none;font-size:13px;color:var(--ink);padding:10px 0;background:transparent}.search input::placeholder{color:#aaa6b6}.search kbd{border:1px solid #e7e4ed;border-radius:4px;padding:1px 7px}.saved-nav{border:0;background:none;margin-left:auto;color:#615b75;white-space:nowrap;font-size:20px}.saved-nav span{font-size:12px;margin:0 7px}.saved-nav b{font-size:10px;border-radius:50%;background:#eee8fc;color:#8c72d9;padding:5px 7px}main{padding:39px 48px 38px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#a09aaf}h1{font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-1.4px;margin:10px 0 8px;font-weight:800}h1 span{color:#987ee7}.intro p{font-size:13px;color:#928b9f;margin:0}.edition{font-size:9px;letter-spacing:2px;color:#a29aaf;text-align:right}.edition span{display:block;margin-top:9px;font-size:8px;color:#c2bacd}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}h2{font-size:17px;letter-spacing:-.4px;margin:0;font-weight:700}.arrows{display:flex;gap:7px}.arrows button{border:1px solid #eae6f2;color:#9285ac;background:white;border-radius:50%;width:28px;height:28px}.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-bottom:46px}.feature{position:relative;min-height:219px;border-radius:9px;background:var(--bg);display:flex;align-items:center;gap:22px;padding:25px 21px;box-shadow:0 9px 19px var(--shadow);overflow:hidden}.cover{flex-shrink:0;width:105px;height:154px;background:var(--cover);color:var(--type);box-shadow:4px 8px 12px #29223a30;position:relative;border-radius:1px 3px 3px 1px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;text-align:center;border-left:3px solid #0002}.cover:after{content:'';position:absolute;inset:0;box-shadow:inset 2px 0 2px #ffffff50;pointer-events:none}.cover .cover-author{font-size:5px;letter-spacing:1.7px;text-transform:uppercase;z-index:1}.cover .cover-title{font-family:Georgia,serif;font-size:22px;line-height:1.02;letter-spacing:-1px;position:relative;z-index:1}.cover .cover-label{font-size:5px;letter-spacing:2px;z-index:1}.cover .art{position:absolute;width:115px;height:115px;border:1px solid currentColor;border-radius:50%;left:13px;top:64px;opacity:.4;box-shadow:0 0 0 10px #ffffff15,0 0 0 20px #ffffff15,0 0 0 30px #ffffff15}.cover.c2 .art{border-radius:0;width:60px;height:130px;transform:rotate(35deg);top:40px;background:#f2cd93;opacity:.7;left:45px}.cover.c3 .art{border-radius:90px 90px 0 0;width:65px;height:115px;background:#eee3bd;left:25px;opacity:.65;top:55px}.cover.c4 .art{width:110px;height:110px;background:#3c6657;top:80px;left:-30px;border:0}.cover.c5 .art{border-radius:0;transform:rotate(-30deg);background:#a1c7e4;top:75px}.cover.c6 .art{border-radius:50%;background:#f6ac49;width:72px;height:72px;left:15px;top:60px}.feature-copy{position:relative;z-index:2}.tag{font-size:8px;letter-spacing:1.6px;font-weight:700;opacity:.6;text-transform:uppercase}.feature h3{font-size:19px;line-height:1.25;margin:12px 0 7px;letter-spacing:-.4px}.feature p{font-size:10px;opacity:.65;margin:0 0 22px}.feature .text-button{border:0;background:transparent;padding:0;font-size:11px;color:inherit;font-weight:600}.text-button span{margin-left:12px}.lower{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:40px}.small{color:#aaa3b6;font-size:10px}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}.filters button{border:0;background:transparent;font-size:10px;color:#9690a1;padding:8px 12px;border-radius:6px}.filters button.active{color:#8467cc;background:#f0ebfb}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:29px 18px}.book-row{display:flex;gap:13px;position:relative;min-height:122px;align-items:flex-start}.book-row .cover{width:76px;height:112px;padding:12px 8px}.book-row .cover-title{font-size:17px}.book-row .cover-author,.book-row .cover-label{font-size:4px;letter-spacing:1px}.book-row .cover .art{transform:scale(.75);transform-origin:top left}.book-open{background:transparent;border:0;padding:0;text-align:left;color:inherit}.book-info{padding-top:7px;flex:1}.book-info h3{font-size:11px;line-height:1.5;margin:0 0 6px;font-weight:600}.book-info p{font-size:9px;color:#aaa2b5;margin:0 0 10px}.book-info .genre{font-size:8px;color:#9b86c8}.heart{display:block;border:0;background:none;color:#b1a5c7;font-size:20px;padding:6px 0 0}.heart.selected{color:#8d6bd9}.note{background:#f5f2fc;border-radius:9px;padding:20px 22px;margin-top:22px}.note-symbol{font-size:30px;color:#a98be8}.note h3{font-family:Georgia,serif;font-weight:400;font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:10px 0}.note p{color:#948aa5;font-size:11px;line-height:1.8}.note button{border:0;border-top:1px solid #e6dff3;margin-top:10px;padding:16px 0 0;background:none;color:#8b70bd;font-size:10px;width:100%;text-align:left}.note button span{float:right}.collection{padding:23px 7px 0}.collection .eyebrow{font-size:7px;letter-spacing:1.2px}.collection p{font-size:10px;line-height:1.8;color:#a39aaf}.spines{display:flex;align-items:end;gap:4px;height:32px}.spines i{width:11px;height:26px;background:#ded5f7;border-radius:2px}.spines i:nth-child(2){height:32px;background:#acddee}.spines i:nth-child(3){height:23px;background:#f3c5ce}.spines i:nth-child(4){height:30px;background:#f1ddb1;transform:rotate(-12deg);margin-left:4px}.spines i:nth-child(5){height:26px;background:#b8d6c6}footer{display:flex;justify-content:space-between;padding:23px 48px;border-top:1px solid var(--line);font-size:9px;color:#b0a8ba}footer>span:first-child{font-weight:700;color:#82758f;font-size:13px}footer span span{font-weight:400;font-size:9px;margin-left:12px;color:#b0a8ba}dialog{border:0;border-radius:15px;padding:45px;max-width:620px;width:90%;color:var(--ink);box-shadow:0 25px 100px #291f4440}dialog::backdrop{background:#30254466;backdrop-filter:blur(5px)}#close{position:absolute;right:15px;top:10px;font-size:27px;background:none;border:0;color:#9a8bae}#detail-content{display:flex;gap:35px;align-items:center}#detail-content .cover{width:155px;height:225px;padding:24px 16px}#detail-content .cover-title{font-size:33px}#detail-content h2{font-size:27px;margin:10px 0}#detail-content p{color:#8c829c;font-size:13px;line-height:1.8}.primary{background:#8c70d6;border:0;color:white;border-radius:6px;padding:12px 19px;font-size:12px}.demo-label{display:block;margin-top:15px;color:#b0a5bd;font-size:9px}#empty{padding:30px 0 65px;color:#9b90aa}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(90px);background:#393047;color:white;padding:13px 22px;border-radius:9px;transition:transform .2s;font-size:12px;z-index:5}#toast.show{transform:translateX(-50%) translateY(0)}@media(min-width:1450px){body{padding-top:85px}}@media(max-width:1100px){header{gap:30px}.feature{gap:14px;padding:20px 15px}.feature .cover{width:85px;height:130px}.feature h3{font-size:16px}.grid{grid-template-columns:repeat(2,1fr)}.lower{grid-template-columns:1fr 215px;gap:30px}}@media(max-width:760px){body{padding:18px 12px}.app{border-radius:12px}header{padding:18px 23px;height:auto;flex-wrap:wrap;gap:15px}.brand{font-size:23px}.search{order:3;min-width:100%;background:#f7f5fa;border-radius:6px;padding:0 12px}.saved-nav span{font-size:10px}main{padding:29px 23px}.edition{display:none}h1{font-size:29px}.featured{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:14px;margin-right:-23px;padding:0 23px 18px 0;margin-bottom:27px}.feature{flex:0 0 285px;scroll-snap-align:start;min-height:205px;padding:23px;gap:23px}.feature .cover{width:98px;height:145px}.feature h3{font-size:18px}.lower{display:block}.grid{gap:24px 15px}.book-row{gap:10px}.book-row .cover{width:65px;height:100px}.book-info h3{font-size:10px}.book-info p{font-size:8px}.book-row .cover-title{font-size:15px}aside{margin-top:32px}.note{display:block}.collection{display:none}footer{padding:20px 23px;gap:15px;flex-direction:column;font-size:8px}#detail-content{flex-direction:column;gap:20px;text-align:center}dialog{padding:30px 25px}.intro{margin-bottom:29px}.eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Cover-led palette: midnight blue, forest green, parchment and burgundy. */
:root{--ink:#152b3e;--muted:#748087;--purple:#304f60;--line:#e8e8e2}body{background:#dce2df}.app{background:#fffefa;box-shadow:0 24px 85px #18373120}.brand-dot,.logo,h1 span{color:#9b263d}.search{color:#73818a}.search input::placeholder{color:#879196}.search kbd{border-color:#dfe3e1}.saved-nav{color:#405660}.saved-nav b{background:#e4ece7;color:#365649}.eyebrow{color:#657971}.intro p{color:#6f7e83}.edition{color:#657971}.edition span{color:#81918c}.arrows button{background:#fffefa;border-color:#dce3df;color:#3c5761}.feature{min-height:238px;box-shadow:0 9px 20px #1f3d4b12}.feature p{opacity:1;color:#4c6168}.tag{opacity:1;color:#51636b}.feature h3{font-size:20px}.small{color:#748087}.filters button{color:#687b7d}.filters button.active{background:#e2ebe5;color:#2c5143}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.book-row{gap:18px;min-height:150px}.book-info h3{font-size:14px}.book-info p{font-size:11px;color:#6d7d82}.book-info .genre{font-size:10px;color:#506c5f}.heart{color:#778b82}.heart.selected{color:#9b263d}.note{background:#edf0e6}.note-symbol{color:#9b263d}.note h3{color:#27483e}.note p{color:#61756a}.note button{border-color:#d6dfd3;color:#355746}.collection p{color:#687d72}.spines i{background:#123148}.spines i:nth-child(2){background:#4e7060}.spines i:nth-child(3){background:#a72b43}.spines i:nth-child(4){background:#d6c496}.spines i:nth-child(5){background:#162b52}footer{color:#6d807c}footer>span:first-child{color:#324f54}footer span span{color:#7b8983}.primary{background:#284b43}.primary:hover{background:#193b33}dialog{background:#fffefa;box-shadow:0 25px 100px #132c3c40}dialog::backdrop{background:#102a3c88}#close{color:#5e747a}#detail-content p{color:#60767a}.demo-label{color:#76867e}#toast{background:#203e35}#empty{color:#617771}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#a12843}
.cover.real-cover{display:block;object-fit:contain;padding:0;border:0;border-radius:2px;width:106px;height:170px;background:transparent;box-shadow:4px 9px 16px #0e243636}.book-row .cover.real-cover{width:90px;height:144px}#detail-content .cover.real-cover{padding:0;width:180px;height:288px}#detail-content{align-items:center}#detail-content h2{line-height:1.2}.feature-copy{min-width:0}.feature h3{overflow-wrap:break-word}.book-info{min-width:0}
@media(max-width:1100px){.feature{gap:14px;padding:20px 15px}.feature .cover.real-cover{width:90px;height:144px}.feature h3{font-size:17px}.book-row .cover.real-cover{width:78px;height:125px}.book-info h3{font-size:12px}}
@media(max-width:760px){.search{background:#f1f3ee}.featured .feature{flex-basis:300px;gap:20px;padding:22px;min-height:225px}.feature .cover.real-cover{width:106px;height:170px}.feature h3{font-size:18px}.grid{gap:25px 18px}.book-row{gap:12px}.book-row .cover.real-cover{width:78px;height:125px}.book-info h3{font-size:12px}.book-info p{font-size:10px}.book-info .genre{font-size:9px}}
@media(max-width:460px){.grid{grid-template-columns:1fr}.book-row{gap:20px;min-height:145px}.book-row .cover.real-cover{width:90px;height:144px}.book-info{padding-top:15px}.book-info h3{font-size:16px}.book-info p{font-size:12px}.book-info .genre{font-size:10px}.heart{padding-top:12px}.intro h1{font-size:28px}.intro .eyebrow{font-size:7px;letter-spacing:1.2px}}
/* Mobile library: edge-to-edge layout and comfortable touch targets. */
@media(max-width:760px){
 body{padding:0;background:#fffefa}.app{border-radius:0;box-shadow:none;min-height:100svh}
 header{padding:14px max(20px,env(safe-area-inset-right)) 15px max(20px,env(safe-area-inset-left));gap:12px}.brand{font-size:25px;min-height:44px;display:flex;align-items:center}.logo{margin-right:9px}.saved-nav{min-height:44px;padding:0 0 0 10px}.saved-nav span{font-size:12px}.saved-nav b{font-size:11px}.search{min-width:0;flex-basis:100%;max-width:none;min-height:48px;gap:10px}.search input{font-size:16px;min-width:0;padding:13px 0}.search svg{flex-shrink:0}.search kbd{display:none}
 main{padding:25px 20px 30px}.intro{margin-bottom:25px}.intro .eyebrow{font-size:9px;letter-spacing:1.3px}.intro h1{font-size:clamp(27px,7.2vw,36px);line-height:1.15;margin:12px 0 10px}.intro p{font-size:14px;line-height:1.6;max-width:36ch}h2{font-size:19px}.section-head{gap:12px;margin-bottom:15px}.arrows{gap:5px}.arrows button{width:44px;height:44px;font-size:20px}
 .featured{gap:14px;margin:0 -20px 28px;padding:4px 20px 20px;scroll-padding-inline:20px;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.featured .feature{flex:0 0 min(340px,calc(100vw - 52px));min-width:0;min-height:236px;gap:19px;padding:20px}.feature .cover.real-cover{width:108px;height:173px}.feature h3{font-size:21px;line-height:1.22;margin:11px 0 10px}.feature p{font-size:12px;margin-bottom:12px}.feature .tag{font-size:9px;letter-spacing:1px}.feature .text-button{min-height:44px;font-size:13px;text-align:left}.feature .text-button span{margin-left:5px}
 .filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:0 -20px 23px;padding:0 20px 7px;scrollbar-width:thin}.filters button{flex-shrink:0;min-height:44px;font-size:13px;padding:10px 15px}.small{font-size:12px;white-space:nowrap}.grid{grid-template-columns:1fr;gap:24px}.book-row{gap:20px;min-height:160px;padding-bottom:22px;border-bottom:1px solid var(--line)}.book-row .cover.real-cover{width:100px;height:160px}.book-info{padding-top:8px}.book-info h3{font-size:18px;line-height:1.4;margin-bottom:8px}.book-info p{font-size:13px;margin-bottom:10px}.book-info .genre{font-size:12px}.heart{width:44px;height:44px;padding:0;margin:7px 0 0 -10px;font-size:25px}.book-info .book-open{min-height:44px;display:flex;align-items:center}.book-info .book-open h3{margin:0 0 5px}
 aside{margin-top:30px}.note{padding:23px}.note p{font-size:14px;line-height:1.7}.note button{font-size:13px;min-height:48px;padding-top:16px}.note h3{font-size:28px}footer{padding:22px 20px calc(22px + env(safe-area-inset-bottom));font-size:11px;gap:12px}footer span span{font-size:11px}#toast{max-width:calc(100vw - 32px);width:max-content;white-space:normal;text-align:center;font-size:13px;bottom:calc(18px + env(safe-area-inset-bottom))}.primary{min-height:44px;font-size:14px}#empty{padding:15px 0 35px;font-size:14px;line-height:1.6}
}
@media(min-width:600px) and (max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.book-row{gap:14px}.book-row .cover.real-cover{width:80px;height:128px}.book-info h3{font-size:16px}}
@media(max-width:359px){header{padding-left:16px;padding-right:16px}main{padding-left:16px;padding-right:16px}.featured .feature{gap:14px;padding:16px}.feature .cover.real-cover{width:94px;height:151px}.feature h3{font-size:19px}.feature .tag{font-size:8px}.intro .eyebrow{font-size:8px;letter-spacing:1px}.book-row{gap:16px}.book-info h3{font-size:17px}}
@media(hover:none){button:hover{transform:none}}
/* Native book links retain the original card layout. */
a.book-open{display:block;text-decoration:none}a.text-button{display:inline-flex;align-items:center;text-decoration:none}a.book-open:hover,a.text-button:hover{opacity:.8}
.book-price{display:block;color:var(--ink);font-size:16px;font-weight:700;line-height:1.4;margin:0 0 9px}.feature p{margin-bottom:9px}.feature .book-price{margin-bottom:8px}.book-info .genre{display:block}.book-info p{margin-bottom:7px}.book-info .book-price{font-size:15px;margin-bottom:8px}
@media(max-width:760px){.feature .book-price,.book-info .book-price{font-size:17px}}
