:root{--purple:#681488;--deep:#270831;--ink:#241a27;--soft:#f7f3f9;--line:#e7dbea;--pink:#d91670}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#f8f3fa 100%)}
button,a,input{font:inherit}.topbar{height:74px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font-size:24px;font-weight:800;box-shadow:0 8px 24px #68148833}.brand strong,.brand small{display:block}.brand small{color:#806f84;margin-top:3px;font-size:12px}.site-link{color:var(--purple);text-decoration:none;font-weight:700;font-size:14px}.shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:58px 0 80px}.intro{text-align:center;margin-bottom:38px}.eyebrow{color:var(--purple)!important;font-weight:800;font-size:13px}.intro h1{font-size:clamp(27px,4vw,46px);margin:10px 0 12px;letter-spacing:-1.4px}.intro p{color:#746678;margin:0}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.catalog-card{appearance:none;border:1px solid var(--line);background:#fff;padding:0;text-align:right;border-radius:22px;overflow:hidden;cursor:pointer;box-shadow:0 12px 36px #32123d10;transition:.25s ease}.catalog-card:hover{transform:translateY(-7px);box-shadow:0 20px 50px #4e146224;border-color:#cba8d5}.cover-wrap{height:max-content;background:radial-gradient(circle at 50% 20%,#f0e4f4,#e2d3e7);padding:22px;display:grid;place-items:center}.cover-wrap img{height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 15px #35134240)}.card-copy{padding:18px 18px 20px}.card-copy h2{font-size:16px;line-height:1.7;margin:0 0 7px}.card-copy span{color:var(--purple);font-size:13px;font-weight:800}
.viewer{position:fixed;inset:0;background:linear-gradient(145deg,#17061d,#3d0b4d 55%,#210627);z-index:100;color:#fff;display:grid;grid-template-rows:68px 1fr 64px}.viewer[hidden]{display:none}.viewer-head,.viewer-foot{display:flex;align-items:center;padding:0 clamp(12px,3vw,36px);gap:14px;background:#16051dcc;backdrop-filter:blur(10px)}.viewer-head{justify-content:space-between}.viewer-head h2{font-size:clamp(14px,2vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;text-align:center}.viewer-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid #ffffff35;border-radius:12px;color:#fff;background:#ffffff12;display:grid;place-items:center;text-decoration:none;cursor:pointer;font-size:23px}.stage{position:relative;min-height:0;display:grid;place-items:center;padding:24px 74px;overflow:hidden;perspective:2200px}.book{position:relative;display:flex;direction:ltr;max-width:100%;max-height:100%;filter:drop-shadow(0 28px 30px #0009);transform-style:preserve-3d}.page{background:white;overflow:hidden;position:relative}.page-left{border-radius:9px 0 0 9px}.page-right{border-radius:0 9px 9px 0}.page canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.page-left:after,.page-right:before{content:"";position:absolute;top:0;bottom:0;width:6%;pointer-events:none}.page-left:after{right:0;background:linear-gradient(90deg,transparent,#0002)}.page-right:before{left:0;background:linear-gradient(90deg,#0003,transparent)}.flip-page{position:absolute;right:0;top:0;transform-origin:left center;transform-style:preserve-3d;background:#fff;z-index:5;visibility:hidden;box-shadow:-5px 0 18px #0004}.flip-page canvas{display:block;width:100%;height:100%}.flip-page.turn-next{visibility:visible;animation:turnNext .62s cubic-bezier(.55,.08,.33,.96)}.flip-page.turn-prev{visibility:visible;left:0;right:auto;transform-origin:right center;animation:turnPrev .62s cubic-bezier(.55,.08,.33,.96)}@keyframes turnNext{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@keyframes turnPrev{0%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}.nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:1px solid #fff3;border-radius:18px;background:#fff1;color:#fff;font-size:38px;cursor:pointer;z-index:6}.nav:hover{background:#fff2}.prev{right:16px}.next{left:16px}.loader{position:absolute;background:#16051ddd;padding:13px 18px;border-radius:12px;font-size:13px}.viewer-foot{justify-content:center}.viewer-foot input{width:min(360px,35vw);accent-color:#de3b8a}.hint{font-size:12px;color:#cebfd2}.viewer-foot span:first-child{min-width:100px;text-align:center;font-size:13px}
.viewer-head h1{font-size:clamp(14px,2vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;text-align:center}.single-viewer{overflow:hidden;background:#17061d}.single-viewer .viewer{position:fixed}.single-viewer.embed .close-single{visibility:hidden}.nav{direction:ltr;unicode-bidi:isolate;outline:0}.nav:focus{outline:0}.nav:focus-visible{outline:2px solid #ffffff70;outline-offset:3px}.nav::before{content:"";display:block;width:14px;height:14px;border-top:3px solid #fff;border-right:3px solid #fff;margin:auto}.prev::before{transform:rotate(45deg)}.next::before{transform:rotate(-135deg)}.book.preparing{visibility:hidden}.book.page-out{opacity:0;transform:translateX(var(--turn-x,-18px)) scale(.99);transition:opacity .14s ease,transform .14s ease}.book.page-in{opacity:0;transform:translateX(calc(var(--turn-x,-18px) * -1)) scale(.99)}.book{transition:opacity .16s ease,transform .16s ease}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(3,1fr)}.cover-wrap{height:280px}}
@media(max-width:700px){.topbar{height:64px}.brand-mark{width:38px;height:38px}.shell{padding-top:34px}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:12px}.catalog-card{border-radius:16px}.cover-wrap{height:max-content;padding:14px}.card-copy{padding:13px}.card-copy h2{font-size:14px}.stage{padding:15px 8px 74px}.page-left{display:none}.page-right{border-radius:8px}.book{width:100%;justify-content:center}.nav{top:auto;bottom:12px;width:54px;height:48px;border-radius:14px;font-size:29px}.prev{right:calc(50% - 61px)}.next{left:calc(50% - 61px)}.viewer-foot{padding:0 12px}.viewer-foot input{width:42vw}.hint{display:none}.viewer-foot span:first-child{min-width:76px}.flip-page{left:50%!important;right:auto!important;transform-origin:left center!important}}
@media(max-width:420px){.cover-wrap{height:max-content}.catalog-grid{gap:10px}.intro h1{font-size:27px}.site-link{font-size:12px}}
