
:root{--bg:#090b0d;--surface:#101317;--surface2:#15181d;--line:#292c31;--line2:#373a3f;--ink:#eeeae1;--soft:#aaa69e;--muted:#73767c;--gold:#b18a52;--gold2:#d3a963;--red:#9d2d2a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.frame{width:min(1280px,100%);margin:auto}.left-pad{padding-left:28px;padding-right:28px}
/* header */
.header{height:65px;background:#090b0d;border-bottom:1px solid #292c30;position:sticky;top:0;z-index:80}.header .frame{height:100%;display:flex;align-items:center;padding:0 28px;gap:29px}.brand{display:flex;align-items:center;gap:10px;min-width:175px}.brand-mark{width:37px;height:37px;border:1px solid #927149;display:grid;place-items:center;font:26px/1 var(--serif);color:#d7aa68}.brand-name{font:12px/1.16 var(--serif);letter-spacing:.12em;text-transform:uppercase}.nav{height:100%;display:flex;gap:26px;font:12px/1 var(--serif)}.nav a{height:100%;display:flex;align-items:center;position:relative;color:#ddd8cf}.nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#b28a51}.nav a:hover{color:#d0a968}.search{margin-left:auto;width:220px;height:34px;border:1px solid #32353a;background:#111419;color:#9b9da1;padding:0 12px;font:11px var(--serif)}.profile{width:34px;height:34px;border:1px solid #393c40;border-radius:50%;display:grid;place-items:center;color:#9a9ca1;font-size:15px}.mobile-menu{display:none;margin-left:auto;background:none;border:0;font-size:24px}
/* grid under header */
.page-grid{display:grid;grid-template-columns:minmax(0,940px) 340px}.page-grid.side-hidden{grid-template-columns:1fr}.page-grid.side-hidden .side{display:none}.page-grid.side-hidden .content{border-right:0}.content{min-width:0;border-right:1px solid #2a2d31}.side{grid-column:2;grid-row:1 / span 3;background:#101317;position:relative;border-left:1px solid #08090a;min-width:0}.side-inner{position:sticky;top:65px;max-height:calc(100vh - 65px);overflow:auto;padding:18px 28px 26px}.side-top{height:27px;display:flex;align-items:center;justify-content:space-between;color:#8d8f94;font:10px var(--serif);margin-bottom:11px}.side-close{width:28px;height:28px;background:none;border:0;color:#989a9e;font-size:20px;cursor:pointer}.side-top .side-close:first-child{width:auto;display:flex;align-items:center;gap:5px;padding:0}.side-cover{width:154px;height:196px;object-fit:cover;display:block;margin:0 auto 16px;border:1px solid #4b3c2b;box-shadow:0 12px 30px rgba(0,0,0,.45)}.side h2{font:27px/1.04 var(--serif);margin:0 0 5px}.side-genre{font:9px var(--serif);color:#ba8f54;padding-bottom:10px;border-bottom:1px solid #7f2b28;display:inline-block}.side-desc{font:12px/1.48 var(--serif);color:#b2afa8;margin:14px 0}.specs{border-top:1px solid #2d3034;border-bottom:1px solid #2d3034;padding:10px 0;margin-bottom:13px}.spec{display:grid;grid-template-columns:20px 84px 1fr;align-items:center;min-height:23px;font:9px var(--serif);color:#85888e}.spec i{color:#b18a52;font-style:normal}.spec b{font-weight:normal;color:#d5d0c7}.side-actions{display:grid;gap:7px}.side-btn{height:37px;border:1px solid #45474b;background:#171a1e;font:10px var(--serif);cursor:pointer}.side-btn.buy{background:#9e302d;border-color:#b6413d;color:white}.assurances{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#777a80;font:8px/1.35 var(--serif)}.assurances span:first-child:before{content:'◇ ';color:#b18a52}.assurances span:last-child:before{content:'✓ ';color:#b18a52}
/* hero */
.hero{height:205px;background:url("../images/library-hero.e59e8b5a73a1.jpg") center 52%/cover no-repeat;position:relative}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.91),rgba(7,8,9,.61) 68%,rgba(7,8,9,.4)),linear-gradient(0deg,rgba(7,8,10,.44),transparent)}.hero-copy{position:relative;z-index:1;padding:34px 40px 25px 29px;max-width:750px}.hero h1{margin:0 0 13px;color:#dec08d;font:34px/1.08 var(--serif);letter-spacing:-.02em;max-width:680px}.hero p{margin:0;color:#c4c0b8;font:12px/1.55 var(--serif);max-width:560px}
/* catalog */
.catalog{padding:27px 28px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.title-group:before{content:"";display:block;width:27px;height:2px;background:#92322d;margin-bottom:7px}.title-group h2{font:24px/1 var(--serif);margin:0}.sort{font:9px var(--serif);color:#8d9095}.sort b{font-weight:normal;color:#c9c5bd}.books{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.book{padding:7px 7px 9px;background:#101317;border:1px solid transparent;text-align:left;cursor:pointer;min-width:0;transition:border-color .18s,background .18s}.book.active{border-color:#8f6d43;background:#15171a}.book:hover{border-color:#65533a}.cover{display:block;width:100%;aspect-ratio:125/159;object-fit:cover;box-shadow:0 7px 16px rgba(0,0,0,.36)}.format{font-size:6px;letter-spacing:.1em;text-transform:uppercase;color:#9a7a4f;margin-top:7px}.book h3{font:12px/1.08 var(--serif);margin:5px 0 4px;min-height:26px}.book-kind{font:7px var(--serif);color:#777a80;min-height:9px}.price{font:bold 11px var(--serif);color:#d3cfc6;margin:7px 0}.open{height:28px;width:100%;border:1px solid #5f6268;background:#22262c;color:#f5f2ec;font:700 8px/1 var(--sans);letter-spacing:.025em;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.book.active .open{border-color:#b28a55;background:#2d2821;color:#ffe1ad}
/* stats */
.stats{margin-top:17px;border-top:1px solid #292c30;border-bottom:1px solid #292c30;display:grid;grid-template-columns:1fr 1.35fr 1.25fr 1fr 1.55fr;background:#0e1114}.stat{min-height:57px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-right:1px solid #292c30}.stat:last-child{border:0}.stat-icon{font-size:17px;color:#b98b4e}.stat b{display:block;font:11px var(--serif);color:#d7d2c9}.stat small{display:block;margin-top:2px;font:6px/1.2 var(--serif);color:#72757b}
/* collections */
.collections{padding:23px 28px 26px}.collections-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.collection{height:71px;position:relative;overflow:hidden;border:1px solid #2d3034;background:#17191d}.collection img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.75)}.collection:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.9),rgba(8,9,10,.2))}.collection-text{position:absolute;z-index:1;left:10px;bottom:10px}.collection b{display:block;font:12px var(--serif)}.collection small{font:7px var(--serif);color:#b1ada6}
/* blog */
.blog{border-top:1px solid #292c30;background:#0c0e11;padding:28px}.article-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:9px}.article{min-height:132px;border:1px solid #2d3034;background:#12151a;padding:14px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.article:first-child{background:linear-gradient(135deg,#241812,#111419 70%)}.article-tag{color:#b98b52;font-size:7px;text-transform:uppercase;letter-spacing:.12em}.article h3{font:18px/1.08 var(--serif);margin:10px 0}.article-bottom{border-top:1px solid #2b2e32;padding-top:8px;display:flex;justify-content:space-between;color:#74777d;font:7px var(--serif)}
/* footer */
.footer{background:#080a0c;border-top:1px solid #292c30;padding:27px 28px}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,.75fr) 1.05fr 90px;gap:22px}.footer-brand{font:9px var(--serif);color:#8a8d91}.footer-brand .brand{margin-bottom:11px;min-width:0}.quote{font:12px/1.45 var(--serif);color:#b8b3aa}.footer-col b{display:block;font:9px var(--serif);color:#c4c0b8;margin-bottom:7px}.footer-col a{display:block;font:7px/1.8 var(--serif);color:#74777c}.stamp{width:78px;height:78px;border:1px solid #82643f;border-radius:50%;display:grid;place-items:center;text-align:center;color:#a98555;font:7px/1.35 var(--serif);letter-spacing:.08em}.stamp span{font-size:22px;display:block}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,15px);opacity:0;background:#e8e2d7;color:#111;padding:10px 15px;font:10px var(--serif);z-index:120;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
/* modal overlay only matters on mobile */
.side-backdrop{display:none}
@media(max-width:900px){.nav,.search,.profile{display:none}.mobile-menu{display:block}.header .frame{padding:0 12px}.brand{min-width:0}.page-grid{display:block}.content{border:0}.hero{height:220px}.hero-copy{padding:35px 16px}.hero h1{font-size:30px}.catalog{padding:22px 12px 0}.books{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.book{padding:5px 5px 8px}.book h3{font-size:10px;min-height:24px}.format{font-size:5px}.book-kind{font-size:6px}.price{font-size:10px}.open{font-size:8px;font-weight:700;height:29px}.stats{grid-template-columns:repeat(2,1fr);margin-top:16px}.stat{border-bottom:1px solid #292c30}.stat:nth-child(2n){border-right:0}.stat:last-child{grid-column:1/-1;border-bottom:0}.collections{padding:22px 12px}.collections-row{grid-template-columns:repeat(2,1fr)}.collection:last-child{grid-column:1/-1}.blog{padding:25px 12px}.article-grid{grid-template-columns:1fr}.article{min-height:115px}.footer{padding:25px 14px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px 16px}.footer-brand{grid-column:1/-1}.stamp{display:none}.side{display:none}.side.mobile-open{display:block;position:fixed;inset:0 0 0 auto;width:min(360px,92vw);z-index:110;overflow:auto;border-left:1px solid #4a4236}.side.mobile-open .side-inner{position:relative;top:0;max-height:none}.side-backdrop.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:105}.side-cover{width:155px;height:197px}.side h2{font-size:28px}.side-desc{font-size:13px}.spec{font-size:10px;min-height:27px}.side-btn{height:43px;font-size:11px}}
@media(max-width:390px){.brand-name{font-size:10px}.hero h1{font-size:27px}.hero p{font-size:11px}.section-title{align-items:flex-end}.title-group h2{font-size:22px}.books{gap:5px}.book{padding:4px}.book h3{font-size:9px}.collection{height:66px}.footer-grid{grid-template-columns:1fr 1fr}}
