
:root{--background:#100d16;--ink:#f4eff6;--purple:#bfa9d2}
html,body{min-height:100%;margin:0;background:#100d16}
.one-book{min-height:100vh;background:radial-gradient(ellipse 85% 60% at 70% 37%,#292131 0%,#14101d 52%,#0d0b11 100%);max-width:1600px;margin:0 auto;padding:0 clamp(14px,3.4vw,52px) 20px;overflow:hidden}
.simple-header{height:72px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff19;position:relative;z-index:12}
.logo{font-size:11px;letter-spacing:.16em;font-weight:700;color:#eee6f2;display:flex;align-items:center;gap:12px}.logo b{font-weight:400}.logo .mark{font-size:30px;font-weight:200;color:#c9add6}
.min-button{background:#262030;border:1px solid #a78ab344;color:#eee6f4;font-size:12px;font-weight:600;letter-spacing:.07em;padding:12px 16px;min-height:44px;border-radius:5px}.min-button span{color:#cfb5e0;padding-left:6px}
.hero{position:relative;min-height:clamp(490px,69vh,880px);isolation:isolate;display:grid;grid-template-columns:1fr}
.scene-copy{position:absolute;z-index:2;top:clamp(22px,4.7vw,74px);left:clamp(8px,1.5vw,22px);pointer-events:none;max-width:370px}.scene-copy .author{font-size:10px;font-weight:700;letter-spacing:.22em;color:#c2b1cf}.scene-copy .author span{color:#8c7897;padding:0 5px}.scene-copy h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.058em;font-size:clamp(43px,5vw,76px);line-height:.97;margin:19px 0}.scene-copy h1 i{font-weight:400;color:#bdadc4}.scene-copy p{font-size:12px;line-height:1.7;color:#b4a8be;max-width:275px}
.scene-full{height:clamp(490px,69vh,880px);min-width:0;position:relative;isolation:isolate;background:transparent!important}
.scene-full .bookshelf__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none;opacity:0;transition:opacity .32s}.scene-full .bookshelf__canvas.is-ready{opacity:1}
.poster-underlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:70px 0 20px;z-index:0;pointer-events:none}.poster-3d{width:clamp(170px,23vw,315px);transform:perspective(940px) rotateY(-22deg) rotateZ(-3deg);box-shadow:26px 24px 65px #000a,6px 4px 8px #030205}.poster-3d img{width:100%;height:auto;display:block}.poster-3d:after{content:'';position:absolute;inset:1.5% auto 1.5% -10px;width:10px;background:linear-gradient(90deg,#60516b,#1e1926,#776583);transform:skewY(-15deg)}
.scene-load-hint{position:absolute;z-index:4;bottom:12px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.08em;color:#aca0b8;white-space:nowrap;pointer-events:none}
.single-fallback{position:absolute;inset:auto 0 15px;display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent!important;padding:0;z-index:6;color:#bfb4ca;font-size:11px}.single-fallback[hidden]{display:none}
.scene-full .bookshelf__source-controls{display:none!important}
.book-toolbar{display:flex;align-items:center;justify-content:center;gap:17px;position:relative;z-index:9;margin-top:2px}.book-toolbar button{min-height:50px;min-width:58px;padding:8px 17px;border:1px solid #ffffff30;background:#292330;color:#f3ecf6;font-size:21px;border-radius:5px}.book-toolbar .scene-open{font-size:12px;letter-spacing:.13em;text-transform:uppercase;background:#c3adcf;color:#1b1221;font-weight:700;padding:12px 34px;min-width:220px}.book-toolbar .scene-open span{margin-left:18px}
.sub-toolbar{display:flex;justify-content:center;align-items:center;gap:clamp(12px,4vw,40px);margin-top:19px;font-size:11px;color:#afa5b9}.sub-toolbar button{min-height:44px;border:none;background:transparent;color:#d9c9e2;padding:8px 12px;font:inherit;letter-spacing:.04em}.sub-toolbar #scene-counter{text-align:center;min-width:155px;font-variant-numeric:tabular-nums}.book-footer{border-top:1px solid #ffffff19;margin:20px 0 0;padding:20px 0 5px;display:flex;gap:20px;justify-content:space-between;align-items:center;color:#958c9f;font-size:10px;letter-spacing:.07em;line-height:1.5}.book-footer a{color:#dfcfeb;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.reader-dialog{z-index:30}
@media(max-width:900px){.scene-copy{top:26px}.scene-copy h1{font-size:clamp(37px,6.8vw,62px)}.scene-copy p{max-width:210px}}
@media(max-width:620px){.one-book{padding:0 12px 14px}.simple-header{height:62px}.logo{font-size:9px;letter-spacing:.09em;gap:6px}.logo .mark{font-size:21px}.hero,.scene-full{height:clamp(420px,66svh,730px);min-height:420px}.scene-copy{left:4px;top:15px;max-width:165px}.scene-copy .author{font-size:8px;letter-spacing:.11em}.scene-copy h1{font-size:clamp(29px,8vw,41px);margin:12px 0;line-height:1.05}.scene-copy p{font-size:10px;max-width:150px}.poster-underlay{padding:105px 0 20px}.poster-3d{width:clamp(158px,45vw,270px);margin-left:20px}.book-toolbar{gap:7px}.book-toolbar button{min-width:44px;padding:8px 12px;font-size:18px}.book-toolbar .scene-open{min-width:178px;padding:10px 13px;font-size:10px}.book-toolbar .scene-open span{margin-left:6px}.sub-toolbar{margin-top:7px;gap:0;justify-content:space-between;font-size:10px}.sub-toolbar button{padding:8px 4px}.sub-toolbar #scene-counter{min-width:98px;font-size:9px}.book-footer{font-size:9px;align-items:start;gap:9px;margin-top:10px}.single-fallback{bottom:4px;text-align:center}}
@media(orientation:landscape) and (max-height:580px){.hero,.scene-full{height:75svh;min-height:350px}.scene-copy{max-width:170px}.scene-copy h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.scene-full .bookshelf__canvas{transition:none}}
.poster-underlay[hidden]{display:none}

/* ThreeUI BestsellersBookShowcase cover-motion: same authored muted looping video
   presentation, adapted only to the original Obscurus artwork. Text stays sharp. */
.poster-3d { position:relative; isolation:isolate; }
.poster-3d .cover-motion {position:absolute; inset:0; width:100%; height:100%; display:block;
   object-fit:fill; opacity:0; pointer-events:none; transition:opacity 420ms ease; z-index:2;}
.poster-3d .cover-motion[data-ready="true"] { opacity:1; }
.reader-page {position:relative;}
.reader-cover-motion {position:absolute; inset:0; width:100%; height:100%; object-fit:fill;
   display:block; pointer-events:none; opacity:0; transition:opacity 420ms ease; z-index:3; }
.reader-cover-motion[data-ready="true"] { opacity:1; }
@media (prefers-reduced-motion: reduce) {
  .cover-motion {display:none!important;}
}
.reader-cover-motion[hidden]{display:none!important;}
