div.ccm-block-feature-item p{margin-left:30px}div.ccm-block-feature-item i{margin-right:10px}div.ccm-block-feature-item{margin-bottom:40px}


.mfp-zoom-in .mfp-with-anim{opacity:0;transform:scale(.8);transition:all .2s ease-in-out}.mfp-zoom-in.mfp-bg{opacity:0;transition:all .3s ease-out}.mfp-zoom-in.mfp-ready .mfp-with-anim{opacity:1;transform:scale(1)}.mfp-zoom-in.mfp-ready.mfp-bg{opacity:.8}.mfp-zoom-in.mfp-removing .mfp-with-anim{opacity:0;transform:scale(.8)}.mfp-zoom-in.mfp-removing.mfp-bg{opacity:0}.mfp-fade.mfp-bg{opacity:0;transition:all .15s ease-out}.mfp-fade.mfp-bg.mfp-ready{opacity:.8}.mfp-fade.mfp-bg.mfp-removing{opacity:0}.mfp-fade.mfp-wrap .mfp-content{opacity:0;transition:all .15s ease-out}.mfp-fade.mfp-wrap.mfp-ready .mfp-content{opacity:1}.mfp-fade.mfp-wrap.mfp-removing .mfp-content{opacity:0}.mfp-bg{background:#0b0b0b;filter:alpha(opacity=80);opacity:.8;overflow:hidden;z-index:2100}.mfp-bg,.mfp-wrap{height:100%;left:0;position:fixed;top:0;width:100%}.mfp-wrap{-webkit-backface-visibility:hidden;outline:none!important;z-index:2200}.mfp-container{box-sizing:border-box;height:100%;left:0;padding:0 8px;position:absolute;text-align:center;top:0;width:100%}.mfp-container:before{content:"";display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{display:inline-block;margin:0 auto;position:relative;text-align:left;vertical-align:middle;z-index:2400}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{cursor:auto;width:100%}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;left:8px;margin-top:-.8em;position:absolute;right:8px;text-align:center;top:50%;width:auto;z-index:2300}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{-webkit-appearance:none;background:transparent;border:0;box-shadow:none;cursor:pointer;display:block;outline:none;overflow:visible;padding:0;touch-action:manipulation;z-index:2400}button::-moz-focus-inner{border:0;padding:0}.mfp-close{color:#fff;font-family:Arial,Baskerville,monospace;font-size:28px;font-style:normal;height:44px;line-height:44px;opacity:.65;padding:0 0 18px 10px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:44px}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;padding-right:6px;right:-6px;text-align:right;width:100%}.mfp-counter{color:#ccc;font-size:12px;line-height:18px;position:absolute;right:0;top:0;white-space:nowrap}.mfp-arrow{-webkit-tap-highlight-color:rgba(0,0,0,0);height:110px;margin:-55px 0 0;opacity:.65;padding:0;position:absolute;top:50%;width:90px}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{border:inset transparent;content:"";display:block;height:0;left:0;margin-left:35px;margin-top:35px;position:absolute;top:0;width:0}.mfp-arrow:after{border-bottom-width:13px;border-top-width:13px;top:8px}.mfp-arrow:before{border-bottom-width:21px;border-top-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{border-right:27px solid #3f3f3f;margin-left:25px}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-bottom:40px;padding-top:40px}.mfp-iframe-holder .mfp-content{line-height:0;max-width:900px;width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{height:0;overflow:hidden;padding-top:56.25%;width:100%}.mfp-iframe-scaler iframe{background:#000;box-shadow:0 0 8px rgba(0,0,0,.6);display:block;height:100%;left:0;position:absolute;top:0;width:100%}img.mfp-img{box-sizing:border-box;display:block;height:auto;margin:0 auto;max-width:100%;padding:40px 0;width:auto}.mfp-figure,img.mfp-img{line-height:0}.mfp-figure:after{background:#444;bottom:40px;box-shadow:0 0 8px rgba(0,0,0,.6);content:"";display:block;height:auto;left:0;position:absolute;right:0;top:40px;width:auto;z-index:-1}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{cursor:auto;left:0;margin-top:-36px;position:absolute;top:100%;width:100%}.mfp-title{word-wrap:break-word;color:#f3f3f3;line-height:18px;padding-right:36px;text-align:left}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-height:300px),screen and (max-width:800px)and (orientation:landscape){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{bottom:0;top:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;box-sizing:border-box;margin:0;padding:3px 5px;position:fixed;top:auto}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{background:rgba(0,0,0,.6);height:35px;line-height:35px;padding:0;position:fixed;right:0;text-align:center;top:0;width:35px}}@media (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:0}.mfp-arrow-right{transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}div.ccm-lightbox-popup-white{background-color:#fff;border-radius:10px;margin:0 auto;max-width:600px;padding:20px 60px 20px 20px;position:relative}.ccm-block-gallery a{position:relative}.ccm-block-gallery .ccm-block-gallery-image-overlay,.ccm-block-gallery .ccm-block-gallery-image-overlay-color,.ccm-block-gallery .ccm-block-gallery-image-overlay-text{height:100%;left:0;position:absolute;top:0;width:100%}.ccm-block-gallery .ccm-block-gallery-image-overlay{opacity:0;transition:opacity .3s}.ccm-block-gallery .ccm-block-gallery-image-overlay-color{background-color:rgba(13,110,253,.8)}.ccm-block-gallery .ccm-block-gallery-image-overlay-text{align-items:center;color:#fff;display:flex;flex-direction:column;font-weight:700;justify-content:center}.ccm-block-gallery .ccm-block-gallery-image{cursor:pointer;overflow:hidden;padding-top:calc(3.125rem + 22.5vw);position:relative;width:100%}@media(min-width:1200px){.ccm-block-gallery .ccm-block-gallery-image{padding-top:20rem}}.ccm-block-gallery img{bottom:-9999px;height:100%;left:-9999px;margin:auto;-o-object-fit:cover;object-fit:cover;position:absolute;right:-9999px;top:-9999px;width:100%}.ccm-block-gallery a:hover .ccm-block-gallery-image-overlay{opacity:1}/*! http://responsiveslides.com v1.55 by @viljamis */.rslides{list-style:none;margin:0;overflow:hidden;padding:0;position:relative;width:100%}.rslides>li{backface-visibility:hidden;display:none;left:0;margin-bottom:0!important;position:absolute;top:0;width:100%}.rslides>li:first-child{display:block;float:left;position:relative}.rslides img{border:0;display:block;float:left;height:auto;width:100%}.rslides_nav{-webkit-tap-highlight-color:rgba(0,0,0,0);background:transparent url("data:image/gif;base64,R0lGODlhTAA9AMQAABAQEDAwMO/v78/Pz7+/v39/f6+vr1BQUCAgIGBgYJ+fn0BAQN/f33BwcI+Pj////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABMAD0AAAXkICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Fog4NsiAYTHY8ALPwiAImAgFi90gfY4PVTIyTuzWDEsyAUIPAACcgVBCXIPbz1xcgk/AYRthj8Nf1yCkmIGQnZtAnQ6eg8MoT9rcgQ7jW2YQqxirjeDcg5Efp+mNweJj0G8cgc9uGICsjyRhT+eYqU+qG2cp2zRPsxzQbSTPJafga+aD984CImLQ4itOuVtvkULBgTCOwcGBvNZ+fr7/P3+/wADChxIsKDBgwgTKlzIsKFDKSEAADs=") no-repeat 0 0;height:61px;left:0;margin-top:-45px;opacity:.7;overflow:hidden;position:absolute;text-decoration:none;top:50%;width:38px;z-index:99}.rslides_tabs{padding-bottom:10px;padding-left:0;padding-top:0}.rslides_tabs li{display:inline-block;list-style-type:none;margin-right:5px}.rslides_tabs li.rslides_here a{background:#333}.rslides_tabs li a{background:#ccccc9;border-radius:30px;display:inline-block;height:15px;margin-right:10px;overflow:hidden;text-indent:-9999px;width:15px}.rslides_nav.next{background-position:100% 0;left:auto;right:0}/*! http://responsiveslides.com v1.54 by @viljamis */.ccm-image-slider{position:relative}.ccm-image-slider-text{clear:both;padding-top:1rem}.ccm-image-slider-title{margin-bottom:1rem}.rslides{margin:0 auto}a.mega-link-overlay{height:100%;left:0;position:absolute;width:100%;z-index:20}div.ccm-block-hero-image{min-height:50vh;position:relative}div.ccm-block-hero-image div.ccm-block-hero-image-cover,div.ccm-block-hero-image div.ccm-block-hero-image-text{height:50vh;left:0;position:absolute;top:0;width:100%}div.ccm-block-hero-image div.ccm-block-hero-image-text{align-items:center;display:flex;flex-direction:column;justify-content:center}div.ccm-block-hero-image div.ccm-block-hero-image-cover{z-index:2}div.ccm-block-hero-image div.ccm-block-hero-image-text{z-index:3}div.ccm-block-hero-image div.ccm-block-hero-image-image{background-position:50%;background-size:cover;height:50vh;z-index:1}


.dst-handwritten-letter{--letter-paper:#f7efd9;--letter-ink:#392d37;position:relative;max-width:940px;margin:3rem auto;padding:clamp(2rem,6vw,5rem);background:var(--letter-paper);color:var(--letter-ink);box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 0 80px rgba(100,66,42,.06);border:1px solid rgba(88,57,39,.18)}
.dst-handwritten-letter:before{content:"";position:absolute;inset:14px;border:1px solid rgba(96,64,52,.18);pointer-events:none}.dst-handwritten-letter--ivory{--letter-paper:#f7efd9;--letter-ink:#392d37}.dst-handwritten-letter--parchment{--letter-paper:#ddc396;--letter-ink:#3e2c25}.dst-handwritten-letter--lavender{--letter-paper:#e8def5;--letter-ink:#3b2c4b}.dst-handwritten-letter--rose{--letter-paper:#f1d7dc;--letter-ink:#512f3a}.dst-handwritten-letter--midnight{--letter-paper:#17192d;--letter-ink:#ede8ff;border-color:rgba(143,127,190,.45);box-shadow:0 24px 70px rgba(0,0,0,.48),inset 0 0 80px rgba(107,86,175,.13)}
.dst-handwritten-letter--image-right{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.6fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.dst-handwritten-letter__image{display:block;width:100%;max-height:430px;object-fit:cover;border:10px solid rgba(255,255,255,.55);box-shadow:0 10px 28px rgba(42,28,35,.2);position:relative;z-index:1}.dst-handwritten-letter--image-top .dst-handwritten-letter__image{margin:0 0 2rem}.dst-handwritten-letter--image-bottom .dst-handwritten-letter__image{margin:2rem 0 0}
.dst-handwritten-letter__copy{position:relative;z-index:1}.dst-handwritten-letter__date{text-align:right;opacity:.72;margin:0 0 1.8rem}.dst-handwritten-letter h2{margin:.25rem 0 1.5rem;color:inherit;font-size:clamp(2rem,5vw,4rem);line-height:1.05}.dst-handwritten-letter__salutation{font-size:1.2em;margin-bottom:1.4rem}.dst-handwritten-letter__body{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.9}.dst-handwritten-letter__signature{display:flex;flex-direction:column;align-items:flex-end;margin-top:2rem;font-size:1.1em}.dst-handwritten-letter__signature strong{font-size:1.35em}.dst-handwritten-letter__link{display:inline-block;margin-top:2rem;color:inherit;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.dst-handwritten-letter--font-script{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive}.dst-handwritten-letter--font-script .dst-handwritten-letter__body{font-weight:600}.dst-handwritten-letter--font-print{font-family:"Segoe Print","Bradley Hand",cursive}.dst-handwritten-letter--font-typewriter{font-family:"Courier New",Courier,monospace}.dst-handwritten-letter--font-typewriter .dst-handwritten-letter__body{font-size:1.05rem;line-height:1.75}
@media(max-width:760px){.dst-handwritten-letter--image-right{display:block}.dst-handwritten-letter--image-right .dst-handwritten-letter__image{margin-top:2rem}.dst-handwritten-letter{padding:2.4rem 1.55rem}.dst-handwritten-letter:before{inset:8px}}


.ew-library {
    --ew-gold: #d8ad5b;
    --ew-gold-pale: #f2d997;
    --ew-ink: #f8ecd1;
    --ew-muted: #c8bda9;
    --ew-wall: #17131a;
    --ew-wall-deep: #09080d;
    --ew-wood: #5d2f1c;
    --ew-wood-dark: #24110d;
    position: relative;
    left: 50%;
    width: 100vw;
    margin: 0 0 0 -50vw;
    overflow: hidden;
    background: var(--ew-wall-deep);
    color: var(--ew-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ew-library[data-edit-mode="1"] {
    left: auto;
    width: 100%;
    margin-left: 0;
}

.ew-library--midnight {
    --ew-gold: #d58bb8;
    --ew-gold-pale: #f0bddd;
    --ew-wall: #10101d;
    --ew-wall-deep: #050610;
    --ew-wood: #43233c;
    --ew-wood-dark: #1b0e1a;
}

.ew-library--moonlit {
    --ew-gold: #9fcdd8;
    --ew-gold-pale: #d5f0ef;
    --ew-wall: #101821;
    --ew-wall-deep: #060b11;
    --ew-wood: #3d5260;
    --ew-wood-dark: #18242b;
}

.ew-library__room {
    position: relative;
    min-height: 100vh;
    padding: clamp(4rem, 8vw, 7.5rem) max(1rem, calc((100vw - 1280px) / 2)) clamp(3.5rem, 7vw, 6rem);
    background-color: var(--ew-wall-deep);
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.64), transparent 16%, transparent 84%, rgba(0,0,0,.64)),
        radial-gradient(ellipse at 50% 0%, rgba(221,165,72,.13), transparent 42%),
        repeating-linear-gradient(90deg, transparent 0 118px, rgba(255,255,255,.018) 119px 120px),
        repeating-linear-gradient(0deg, transparent 0 64px, rgba(255,255,255,.012) 65px 66px),
        var(--ew-library-custom-bg, none),
        linear-gradient(180deg, var(--ew-wall), var(--ew-wall-deep));
    background-position: center;
    background-repeat: no-repeat, no-repeat, repeat, repeat, no-repeat, no-repeat;
    background-size: auto, auto, auto, auto, cover, auto;
}

.ew-library__room::before {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 13%, rgba(255,184,73,.13), transparent 17%),
        radial-gradient(circle at 88% 13%, rgba(255,184,73,.13), transparent 17%),
        repeating-linear-gradient(100deg, transparent 0 8px, rgba(0,0,0,.018) 9px 10px);
    content: "";
    pointer-events: none;
}

.ew-library__room::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(180deg, transparent 0 72%, rgba(0,0,0,.25) 100%);
    content: "";
    pointer-events: none;
}

.ew-library__beam {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    width: clamp(16px, 2.4vw, 34px);
    background:
        linear-gradient(90deg, rgba(0,0,0,.65), transparent 22%, rgba(255,182,93,.08) 54%, rgba(0,0,0,.55)),
        repeating-linear-gradient(4deg, transparent 0 21px, rgba(0,0,0,.18) 22px 24px),
        #2d160f;
    box-shadow: 0 0 25px rgba(0,0,0,.7);
    opacity: .92;
    pointer-events: none;
}

.ew-library__beam--left { left: clamp(0px, 2vw, 28px); }
.ew-library__beam--right { right: clamp(0px, 2vw, 28px); }

.ew-library__welcome,
.ew-library__stacks,
.ew-library__footer {
    position: relative;
    z-index: 2;
}

.ew-library__welcome {
    width: min(100%, 1040px);
    margin: 0 auto clamp(4rem, 8vw, 7rem);
    padding: clamp(3.25rem, 7vw, 6rem) clamp(1.5rem, 5vw, 5rem) clamp(2.4rem, 5vw, 4rem);
    border: 1px solid rgba(216,173,91,.38);
    border-radius: 48% 48% 24px 24px / 22% 22% 24px 24px;
    background:
        linear-gradient(180deg, rgba(8,7,11,.62), rgba(16,10,12,.88)),
        radial-gradient(circle at 50% 20%, rgba(216,173,91,.12), transparent 50%);
    box-shadow: 0 32px 80px rgba(0,0,0,.48), inset 0 0 80px rgba(0,0,0,.33), 0 0 0 12px rgba(47,24,16,.54);
    text-align: center;
}

.ew-library__welcome::before {
    position: absolute;
    inset: 13px;
    border: 1px solid rgba(216,173,91,.14);
    border-radius: inherit;
    content: "";
    pointer-events: none;
}

.ew-library__eyebrow,
.ew-library__section-heading > p {
    margin: 0 0 .9rem;
    color: var(--ew-gold);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.ew-library__welcome h1 {
    margin: 0;
    color: #fff8e7;
    font: 700 clamp(2.8rem, 7.2vw, 6.4rem)/.94 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
    text-wrap: balance;
    text-shadow: 0 4px 0 rgba(0,0,0,.32), 0 0 32px rgba(216,173,91,.13);
}

.ew-library__intro {
    width: min(100%, 720px);
    margin: 1.5rem auto 0;
    color: var(--ew-muted);
    font: 1.05rem/1.8 Georgia, "Times New Roman", serif;
    text-wrap: pretty;
}

.ew-library__lamp {
    position: absolute;
    top: 28%;
    width: 18px;
    height: 40px;
    border: 2px solid #9c7138;
    border-radius: 50% 50% 42% 42%;
    background: #ffc964;
    box-shadow: 0 0 18px #f8ae3d, 0 0 55px rgba(255,173,64,.52), 0 0 100px rgba(255,173,64,.22);
}

.ew-library__lamp::before {
    position: absolute;
    top: -15px;
    left: 50%;
    width: 3px;
    height: 16px;
    transform: translateX(-50%);
    background: #73502c;
    content: "";
}

.ew-library__lamp--left { left: clamp(1.5rem, 5vw, 4.5rem); }
.ew-library__lamp--right { right: clamp(1.5rem, 5vw, 4.5rem); }

.ew-library__search {
    width: min(100%, 620px);
    margin: 2.2rem auto 0;
}

.ew-library__search label {
    display: block;
    margin-bottom: .55rem;
    color: var(--ew-gold-pale);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ew-library__search-field {
    position: relative;
}

.ew-library__search-field > span {
    position: absolute;
    top: 50%;
    left: 1.05rem;
    transform: translateY(-52%);
    color: var(--ew-gold);
    font-size: 1.5rem;
    pointer-events: none;
}

.ew-library__search input {
    width: 100%;
    padding: .95rem 1.15rem .95rem 3.2rem;
    border: 1px solid rgba(216,173,91,.38);
    border-radius: 999px;
    outline: none;
    background: rgba(4,4,7,.72);
    box-shadow: inset 0 0 18px rgba(0,0,0,.42);
    color: #fff;
    font: inherit;
}

.ew-library__search input:focus {
    border-color: var(--ew-gold);
    box-shadow: 0 0 0 4px rgba(216,173,91,.12), inset 0 0 18px rgba(0,0,0,.42);
}

.ew-library__search input::placeholder { color: #87808b; }

.ew-library__search > p {
    min-height: 1.2em;
    margin: .55rem 0 0;
    color: #99919e;
    font-size: .78rem;
}

.ew-library__stacks {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.ew-library__wing {
    position: relative;
    margin: 0 0 clamp(5rem, 10vw, 9rem);
    scroll-margin-top: 2rem;
}

.ew-library__wing[hidden],
.ew-library__book-slot[hidden],
.ew-library__no-results[hidden] { display: none !important; }

.ew-library__section-heading {
    position: relative;
    width: min(100%, 870px);
    margin: 0 auto clamp(2.25rem, 4vw, 3.7rem);
    padding: 1.6rem clamp(1rem, 4vw, 3rem) 1.35rem;
    border: 1px solid rgba(216,173,91,.24);
    border-top-color: var(--ew-section-accent);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(46,25,21,.9), rgba(24,13,14,.94));
    box-shadow: 0 18px 35px rgba(0,0,0,.3), inset 0 0 35px rgba(0,0,0,.25);
    text-align: center;
}

.ew-library__section-heading h2 {
    margin: 0;
    color: #fff8e9;
    font: 700 clamp(2rem, 5.2vw, 4.4rem)/1 Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.ew-library__section-heading > div:not(.ew-library__section-rule) {
    width: min(100%, 680px);
    margin: 1rem auto 0;
    color: #bfb4a9;
    font: .98rem/1.65 Georgia, "Times New Roman", serif;
}

.ew-library__section-rule {
    position: absolute;
    top: -11px;
    left: 50%;
    width: min(76%, 490px);
    height: 20px;
    transform: translateX(-50%);
    border: 1px solid var(--ew-section-accent);
    background: #2d1815;
    box-shadow: 0 5px 14px rgba(0,0,0,.4);
}

.ew-library__section-rule span {
    position: absolute;
    inset: 5px 18px;
    border-top: 1px solid rgba(255,255,255,.16);
}

.ew-library__shelf-frame {
    position: relative;
    padding: clamp(14px, 2vw, 24px) clamp(16px, 3vw, 35px) 0;
    border: 12px solid #4c2517;
    border-bottom: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.52), transparent 9%, transparent 91%, rgba(0,0,0,.52)),
        repeating-linear-gradient(4deg, transparent 0 28px, rgba(0,0,0,.14) 29px 31px),
        #6a351e;
    box-shadow: 0 35px 50px rgba(0,0,0,.5), inset 0 0 18px rgba(255,177,87,.11);
}

.ew-library__shelf-unit + .ew-library__shelf-unit { margin-top: 3.5rem; }
.ew-library__shelf-unit[hidden] { display: none !important; }
.ew-library__shelf-number { margin: 0 0 1.3rem; color: var(--ew-gold-pale); font: 700 .75rem/1.4 Inter, sans-serif; letter-spacing: .12em; text-align: center; text-transform: uppercase; }

.ew-library__shelf-frame::before,
.ew-library__shelf-frame::after {
    position: absolute;
    z-index: -1;
    top: -29px;
    bottom: -27px;
    width: 25px;
    background: linear-gradient(90deg, #1d0c09, #63301d 45%, #29110c);
    box-shadow: 0 0 24px rgba(0,0,0,.54);
    content: "";
}

.ew-library__shelf-frame::before { left: -27px; }
.ew-library__shelf-frame::after { right: -27px; }

.ew-library__shelf-back {
    position: relative;
    min-height: 338px;
    border: 1px solid rgba(216,173,91,.18);
    background:
        radial-gradient(ellipse at 50% 100%, rgba(216,173,91,.09), transparent 55%),
        repeating-linear-gradient(90deg, transparent 0 145px, rgba(255,255,255,.014) 146px 147px),
        linear-gradient(180deg, #1c0e0c, #0c0808);
    box-shadow: inset 0 28px 55px rgba(0,0,0,.64), inset 0 -12px 25px rgba(255,128,49,.035);
}

.ew-library__shelf-glow {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 50%;
    width: 60%;
    height: 90px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse, rgba(255,186,79,.09), transparent 70%);
    pointer-events: none;
}

.ew-library__books {
    position: absolute;
    z-index: 3;
    right: clamp(14px, 3vw, 34px);
    bottom: 0;
    left: clamp(14px, 3vw, 34px);
    display: flex;
    min-height: 300px;
    align-items: flex-end;
    justify-content: center;
    gap: clamp(4px, .7vw, 9px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ew-library__shelf-empty {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(90%, 420px);
    margin: 0;
    transform: translate(-50%, -50%);
    color: #837a77;
    font: italic 1rem/1.6 Georgia, serif;
    text-align: center;
}

.ew-library__shelf-board {
    position: relative;
    z-index: 5;
    height: 34px;
    margin: 0 -24px -20px;
    border-radius: 3px 3px 8px 8px;
    background:
        linear-gradient(180deg, rgba(255,183,106,.22), transparent 20%),
        repeating-linear-gradient(4deg, transparent 0 18px, rgba(0,0,0,.16) 19px 21px),
        linear-gradient(180deg, #854627, #3b1b11);
    box-shadow: 0 15px 20px rgba(0,0,0,.55), inset 0 -5px 8px rgba(0,0,0,.32);
}

.ew-library__shelf-board span {
    position: absolute;
    right: 9%;
    bottom: -13px;
    left: 9%;
    height: 13px;
    background: #24100b;
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
}

.ew-library__book-slot {
    position: relative;
    min-width: 0;
    flex: 0 1 auto;
    z-index: 1;
}

.ew-library__book-slot:hover,
.ew-library__book-slot:focus-within { z-index: 30; }

.ew-library-book {
    --ew-book-width: 78px;
    --ew-book-height: 244px;
    box-sizing: border-box;
    position: relative;
    display: block;
    width: var(--ew-book-width);
    max-width: 100%;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.ew-library-book--shape-0 { --ew-book-width: 82px; --ew-book-height: 254px; }
.ew-library-book--shape-1 { --ew-book-width: 74px; --ew-book-height: 230px; }
.ew-library-book--shape-2 { --ew-book-width: 88px; --ew-book-height: 265px; }
.ew-library-book--shape-3 { --ew-book-width: 70px; --ew-book-height: 238px; }
.ew-library-book--shape-4 { --ew-book-width: 80px; --ew-book-height: 248px; }
.ew-library-book--cover { --ew-book-width: 166px; --ew-book-height: 246px; }
.ew-library-book--binder { --ew-book-width: 176px; --ew-book-height: 242px; }

.ew-library-book__object {
    position: relative;
    display: block;
    width: 100%;
    height: var(--ew-book-height);
    overflow: hidden;
    transform-origin: 50% 100%;
    border: 1px solid rgba(0,0,0,.58);
    border-radius: 7px 7px 3px 3px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.13), transparent 12%, transparent 82%, rgba(0,0,0,.25)),
        var(--ew-book-color);
    box-shadow: 4px 7px 9px rgba(0,0,0,.56), inset 0 0 17px rgba(0,0,0,.22);
    transition: transform .3s cubic-bezier(.2,.85,.28,1.22), filter .3s ease, box-shadow .3s ease;
}

.ew-library-book:hover,
.ew-library-book:focus,
.ew-library-book:focus-visible { color: inherit; text-decoration: none; }

.ew-library-book:hover .ew-library-book__object,
.ew-library-book:focus-visible .ew-library-book__object,
.ew-library-book.is-selected .ew-library-book__object {
    transform: translateY(-24px) rotate(-1deg) scale(1.035);
    filter: brightness(1.12) saturate(1.08);
    box-shadow: 9px 17px 20px rgba(0,0,0,.55), 0 0 0 2px var(--ew-section-accent), 0 0 24px rgba(216,173,91,.18);
}

.ew-library-book:focus-visible {
    border-radius: 8px;
    box-shadow: 0 0 0 4px #0b0809, 0 0 0 7px var(--ew-section-accent);
}

.ew-library-book__object > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.ew-library-book__pdf-artwork {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    opacity: 0;
    transition: opacity .2s ease;
}

.ew-library-book__pdf-artwork.is-ready { opacity: 1; }
.ew-library-book__pdf-artwork.has-error { display: none; }

.ew-library-book__grain {
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(91deg, transparent 0 3px, rgba(255,255,255,.025) 4px 5px),
        repeating-linear-gradient(3deg, transparent 0 18px, rgba(0,0,0,.045) 19px 20px);
}

.ew-library-book__band {
    position: absolute;
    right: 0;
    left: 0;
    height: 6px;
    border-top: 1px solid rgba(242,217,138,.7);
    border-bottom: 1px solid rgba(242,217,138,.45);
    border-top: 1px solid color-mix(in srgb, var(--ew-book-ink) 70%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--ew-book-ink) 45%, transparent);
    opacity: .72;
}

.ew-library-book__band--top { top: 17px; }
.ew-library-book__band--bottom { bottom: 18px; }

.ew-library-book__crest {
    position: absolute;
    top: 43px;
    left: 50%;
    display: grid;
    width: 30px;
    height: 30px;
    transform: translateX(-50%);
    place-items: center;
    border: 1px solid var(--ew-book-ink);
    border-radius: 50%;
    color: var(--ew-book-ink);
    font: 700 14px Georgia, serif;
    opacity: .82;
}

.ew-library-book__spine-title {
    position: absolute;
    top: 82px;
    right: 50%;
    max-height: calc(var(--ew-book-height) - 125px);
    transform: translateX(50%);
    overflow: hidden;
    color: var(--ew-book-ink);
    font: 700 clamp(.67rem, 1vw, .82rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: .035em;
    text-align: center;
    text-overflow: ellipsis;
    text-shadow: 0 1px 0 rgba(0,0,0,.3);
    text-transform: uppercase;
}

.ew-library-book--spine .ew-library-book__spine-title {
    top: var(--ew-spine-text-y, 55%);
    right: auto;
    left: var(--ew-spine-text-x, 50%);
    width: calc(100% - 12px);
    max-height: calc(var(--ew-book-height) - 70px);
    transform: translate(-50%, -50%);
    font-size: var(--ew-spine-text-size, 12px);
    overflow-wrap: anywhere;
}

.ew-library-book--spine.ew-library-book--text-up .ew-library-book__spine-title,
.ew-library-book--spine.ew-library-book--text-down .ew-library-book__spine-title {
    width: calc(var(--ew-book-height) - 64px);
    max-height: calc(var(--ew-book-width) - 12px);
}
.ew-library-book--spine.ew-library-book--text-up .ew-library-book__spine-title { transform: translate(-50%, -50%) rotate(-90deg); }
.ew-library-book--spine.ew-library-book--text-down .ew-library-book__spine-title { transform: translate(-50%, -50%) rotate(90deg); }

.ew-library-book__spine-author {
    position: absolute;
    right: 7px;
    bottom: 29px;
    left: 7px;
    overflow: hidden;
    color: var(--ew-book-ink);
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .06em;
    opacity: .8;
    text-align: center;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.ew-library-book--cover .ew-library-book__object {
    border-radius: 4px 10px 10px 4px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.35), transparent 9%),
        radial-gradient(circle at 50% 30%, rgba(255,255,255,.09), transparent 25%),
        var(--ew-book-color);
}

.ew-library-book--binder .ew-library-book__object {
    border-radius: 4px 13px 13px 4px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.42), transparent 8%, transparent 88%, rgba(0,0,0,.2)),
        repeating-linear-gradient(0deg, transparent 0 24px, rgba(255,255,255,.026) 25px 26px),
        var(--ew-book-color);
}

/* Uploaded artwork supplies the book's own edges and transparent areas. */
.ew-library-book--artwork .ew-library-book__object {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ew-library-book--artwork:hover .ew-library-book__object,
.ew-library-book--artwork:focus-visible .ew-library-book__object,
.ew-library-book--artwork.is-selected .ew-library-book__object {
    box-shadow: none;
}

.ew-library-book__binder-rings {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 10px;
    display: flex;
    width: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    border-right: 2px solid rgba(245,226,183,.38);
    background: rgba(7,5,7,.22);
}

.ew-library-book__binder-rings i {
    display: block;
    width: 13px;
    height: 13px;
    border: 3px solid #c7b68f;
    border-radius: 50%;
    background: #2c2524;
    box-shadow: 0 1px 3px rgba(0,0,0,.65), inset 0 0 2px rgba(255,255,255,.4);
}

.ew-library-book__binder-label {
    position: absolute;
    z-index: 2;
    top: 67px;
    right: 16px;
    left: 42px;
    display: grid;
    min-height: 92px;
    max-height: 128px;
    place-items: center;
    overflow: hidden;
    padding: .65rem .55rem;
    border: 1px solid rgba(65,45,32,.35);
    background: rgba(247,235,204,.9);
    box-shadow: 0 3px 8px rgba(0,0,0,.3), inset 0 0 10px rgba(102,73,45,.12);
    color: #382a23;
    font: 700 .78rem/1.2 Georgia, "Times New Roman", serif;
    letter-spacing: .035em;
    text-align: center;
    text-transform: uppercase;
}

.ew-library-book--binder .ew-library-book__crest,
.ew-library-book--binder .ew-library-book__band { display: none; }

.ew-library-book--cover .ew-library-book__crest {
    top: 48px;
    width: 42px;
    height: 42px;
    font-size: 18px;
}

.ew-library-book--cover .ew-library-book__spine-title {
    top: 108px;
    right: 17px;
    left: 17px;
    max-height: 86px;
    transform: none;
    font-size: .88rem;
}

.ew-library-book__details {
    position: absolute;
    z-index: 50;
    bottom: calc(100% + 24px);
    left: 50%;
    display: block;
    width: 290px;
    padding: 1.15rem 1.2rem 1rem;
    transform: translate(-50%, 10px);
    border: 1px solid rgba(216,173,91,.48);
    border-radius: 10px;
    background: linear-gradient(155deg, rgba(45,25,21,.98), rgba(17,10,11,.99));
    box-shadow: 0 20px 40px rgba(0,0,0,.58), inset 0 0 30px rgba(0,0,0,.22);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
}

.ew-library__book-slot:first-child .ew-library-book__details {
    left: 0;
    transform: translate(0, 10px);
}

.ew-library__book-slot:last-child .ew-library-book__details {
    right: 0;
    left: auto;
    transform: translate(0, 10px);
}

.ew-library-book:hover .ew-library-book__details,
.ew-library-book:focus-visible .ew-library-book__details,
.ew-library-book.is-selected .ew-library-book__details {
    transform: translate(-50%, 0);
    opacity: 1;
}

.ew-library__book-slot:first-child .ew-library-book:hover .ew-library-book__details,
.ew-library__book-slot:first-child .ew-library-book:focus-visible .ew-library-book__details,
.ew-library__book-slot:first-child .ew-library-book.is-selected .ew-library-book__details,
.ew-library__book-slot:last-child .ew-library-book:hover .ew-library-book__details,
.ew-library__book-slot:last-child .ew-library-book:focus-visible .ew-library-book__details,
.ew-library__book-slot:last-child .ew-library-book.is-selected .ew-library-book__details {
    transform: translate(0, 0);
}

.ew-library-book__details::after {
    position: absolute;
    bottom: -9px;
    left: 50%;
    width: 16px;
    height: 16px;
    transform: translateX(-50%) rotate(45deg);
    border-right: 1px solid rgba(216,173,91,.48);
    border-bottom: 1px solid rgba(216,173,91,.48);
    background: #170d0e;
    content: "";
}

.ew-library-book__badge {
    display: inline-block;
    margin-bottom: .6rem;
    color: var(--ew-section-accent);
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ew-library-book__filetype {
    display: inline-block;
    margin: 0 0 .6rem .35rem;
    padding: .15rem .38rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 4px;
    color: #d9d1c7;
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .08em;
    vertical-align: top;
}

.ew-library-book__details strong {
    display: block;
    color: #fff8e9;
    font: 700 1.25rem/1.1 Georgia, serif;
}

.ew-library-book__details em {
    display: block;
    margin-top: .35rem;
    color: #c6ad82;
    font: italic .82rem/1.3 Georgia, serif;
}

.ew-library-book__description {
    display: block;
    margin-top: .7rem;
    color: #c5bdb5;
    font-size: .78rem;
    line-height: 1.5;
}

.ew-library-book__action {
    display: block;
    margin-top: .8rem;
    padding-top: .65rem;
    border-top: 1px solid rgba(255,255,255,.09);
    color: var(--ew-gold-pale);
    font-size: .7rem;
    font-weight: 800;
}

.ew-library__empty,
.ew-library__no-results {
    width: min(100%, 720px);
    margin: 5rem auto;
    padding: 3rem 2rem;
    border: 1px solid rgba(216,173,91,.28);
    border-radius: 16px;
    background: rgba(10,8,10,.74);
    text-align: center;
}

.ew-library__empty > span,
.ew-library__no-results > span { color: var(--ew-gold); font-size: 2rem; }
.ew-library__empty h2,
.ew-library__no-results h2 { margin: .5rem 0; font: 700 2rem Georgia, serif; }
.ew-library__empty p,
.ew-library__no-results p { margin: 0; color: var(--ew-muted); }

.ew-library__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.1rem;
    margin: 2rem auto 0;
    color: #807881;
    text-align: center;
}

.ew-library__footer p {
    margin: 0;
    font: italic .85rem Georgia, serif;
}

.ew-library__footer span { color: var(--ew-gold); font-size: .65rem; }

.ew-library[data-edit-mode="1"] .ew-library-book { cursor: default; }

body.ew-library-reader-open { overflow: hidden; }

.ew-library-reader[hidden] { display: none !important; }

.ew-library-reader {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: clamp(.6rem, 2vw, 1.5rem);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.ew-library-reader__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: rgba(4,3,6,.88);
    backdrop-filter: blur(8px);
    cursor: default;
}

.ew-library-reader__dialog {
    position: relative;
    display: grid;
    width: min(1180px, 100%);
    height: min(94vh, 920px);
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(216,173,91,.68);
    border-radius: 16px;
    background: #130b0b;
    box-shadow: 0 35px 100px rgba(0,0,0,.8), 0 0 0 9px rgba(72,35,21,.58);
}

.ew-library-reader__header {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 3vw, 2.2rem);
    border-bottom: 1px solid rgba(216,173,91,.28);
    background:
        repeating-linear-gradient(3deg, transparent 0 21px, rgba(0,0,0,.13) 22px 24px),
        linear-gradient(180deg, #65361f, #30160f);
}

.ew-library-reader__header p {
    margin: 0 0 .18rem;
    color: #e2be72;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ew-library-reader__header h2 {
    margin: 0;
    color: #fff5dc;
    font: 700 clamp(1.35rem, 3vw, 2.2rem)/1.05 Georgia, "Times New Roman", serif;
}

.ew-library-reader__close {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255,239,197,.32);
    border-radius: 50%;
    background: rgba(9,5,6,.48);
    color: #fff6df;
    font: 300 1.8rem/1 sans-serif;
    cursor: pointer;
}

.ew-library-reader__close:hover,
.ew-library-reader__close:focus-visible {
    border-color: #efd07f;
    outline: none;
    background: rgba(9,5,6,.78);
}

.ew-library-reader__toolbar,
.ew-library-reader__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding: .65rem clamp(1rem, 3vw, 2.2rem);
    background: #1b1010;
    color: #bcae9f;
    font-size: .75rem;
}

.ew-library-reader__toolbar {
    grid-row: 2;
    grid-column: 1;
}

.ew-library-reader__toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .65rem 1rem;
}

.ew-library-reader__view-toggle {
    display: inline-flex;
    padding: 3px;
    border: 1px solid rgba(216,173,91,.38);
    border-radius: 999px;
    background: rgba(5,3,4,.48);
}

.ew-library-reader__view-toggle button {
    min-width: 70px;
    padding: .38rem .7rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #bcae9f;
    font-size: .7rem;
    font-weight: 800;
    cursor: pointer;
}

.ew-library-reader__view-toggle button[aria-pressed="true"] {
    background: #6a3b24;
    box-shadow: inset 0 0 0 1px rgba(255,225,151,.3);
    color: #fff1ce;
}

.ew-library-reader__view-toggle button:hover,
.ew-library-reader__view-toggle button:focus-visible {
    outline: none;
    color: #fff3ca;
}

.ew-library-reader__toolbar a {
    color: #f0d68f;
    font-weight: 800;
    text-decoration: none;
}

.ew-library-reader__toolbar a:hover,
.ew-library-reader__toolbar a:focus { color: #fff3ca; text-decoration: underline; }
.ew-library-reader__toolbar a[hidden] { display: none !important; }

.ew-library-reader__status {
    grid-row: 3;
    grid-column: 1;
    min-height: 0;
    padding: .55rem 1rem;
    background: #241514;
    color: #d6c8b7;
    font-size: .75rem;
    text-align: center;
}

.ew-library-reader__status:empty { display: none; }

.ew-library-reader__body {
    position: relative;
    grid-row: 4;
    grid-column: 1;
    min-height: 0;
    overflow: auto;
    padding: clamp(1rem, 3vw, 2.5rem);
    outline: none;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 24%),
        repeating-linear-gradient(96deg, transparent 0 10px, rgba(92,62,30,.018) 11px 12px),
        #d8c395;
    color: #382a22;
}

.ew-library-reader__page {
    box-sizing: border-box;
    width: min(820px, 100%);
    min-height: 100%;
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 3rem);
    border: 1px solid rgba(88,58,27,.2);
    background:
        radial-gradient(circle at 10% 8%, rgba(255,255,255,.38), transparent 28%),
        repeating-linear-gradient(3deg, transparent 0 16px, rgba(93,60,28,.018) 17px 18px),
        #f3e4bd;
    box-shadow: 0 18px 45px rgba(44,25,12,.28), inset 18px 0 35px rgba(90,54,24,.04);
    color: #382a22;
    font: 1rem/1.76 Georgia, "Times New Roman", serif;
}

.ew-library-reader__page h2 {
    margin: 0 0 1.25rem;
    color: #532f2e !important;
    font: 700 clamp(1.8rem, 4vw, 3.2rem)/1.05 Georgia, serif;
}

.ew-library-reader__page h3 {
    margin: 1.8rem 0 .7rem;
    color: #69423a !important;
    font: 700 1.45rem/1.15 Georgia, serif;
}

.ew-library-reader__page p { margin: 0 0 1.05rem; color: #382a22 !important; white-space: pre-line; }
.ew-library-reader__page li { margin: 0 0 .65rem 1.5rem; color: #382a22 !important; }
.ew-library-reader__page table { width: 100%; margin: 1.2rem 0; border-collapse: collapse; font: .88rem/1.45 Inter, sans-serif; }
.ew-library-reader__page td { padding: .55rem; border: 1px solid rgba(76,48,27,.24); color: #382a22 !important; vertical-align: top; }

.ew-library-reader__spread {
    display: grid;
    width: min(1120px, 100%);
    min-height: 100%;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(.75rem, 2vw, 1.5rem);
    margin: 0 auto;
}

.ew-library-reader__spread--pdf {
    height: 100%;
    min-height: 0;
    place-items: center;
}

.ew-library-reader__spread .ew-library-reader__page {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    overflow: auto;
    padding: clamp(1.1rem, 2.2vw, 2.25rem);
    font-size: clamp(.86rem, 1vw, .98rem);
}

.ew-library-reader__pdf-page {
    display: block;
    max-width: 100%;
    max-height: 100%;
    height: auto !important;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 18px 45px rgba(44,25,12,.35);
}

.ew-library-reader__artwork {
    position: absolute;
    inset: 0;
    display: grid;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    margin: 0;
    place-items: center;
    padding: clamp(1rem, 3vw, 2rem) clamp(3.5rem, 8vw, 6rem);
}

.ew-library-reader__artwork figcaption {
    position: absolute;
    z-index: 2;
    top: 1.6rem;
    left: 50%;
    transform: translateX(-50%);
    padding: .42rem .85rem;
    border: 1px solid rgba(239,208,127,.45);
    border-radius: 999px;
    background: rgba(31,16,12,.86);
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
    color: #fff1ce;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ew-library-reader__artwork img,
.ew-library-reader__artwork canvas {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    background: #fff;
    box-shadow: 0 22px 55px rgba(44,25,12,.38);
}

.ew-library-reader__error {
    width: min(620px, 100%);
    margin: 8vh auto;
    padding: 2.5rem;
    border: 1px solid rgba(103,52,43,.28);
    background: rgba(248,232,198,.9);
    box-shadow: 0 18px 40px rgba(44,25,12,.24);
    text-align: center;
}

.ew-library-reader__error h3 { margin: 0 0 .7rem; color: #603331; font: 700 1.8rem Georgia, serif; }
.ew-library-reader__error p { margin: 0; color: #584439; line-height: 1.6; }

.ew-library-reader__controls {
    grid-row: 5;
    grid-column: 1;
    min-height: 0;
    height: auto;
    justify-content: center;
    border-top: 1px solid rgba(216,173,91,.2);
}

.ew-library-reader__controls[hidden] { display: none !important; }
.ew-library-reader__controls span { min-width: 120px; color: #d3c6b6; text-align: center; }

.ew-library-reader__page-arrow {
    position: absolute;
    z-index: 12;
    top: 56%;
    display: grid;
    width: 52px;
    height: 72px;
    transform: translateY(-50%);
    place-items: center;
    border: 1px solid rgba(239,208,127,.58);
    border-radius: 999px;
    background: rgba(35,18,13,.84);
    box-shadow: 0 8px 24px rgba(0,0,0,.36);
    color: #fff1ce;
    font: 300 2.75rem/1 Georgia, serif;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, opacity .18s ease, transform .18s ease;
}

.ew-library-reader__page-arrow[hidden] { display: none !important; }
.ew-library-reader__page-arrow--previous { left: clamp(.65rem, 2.5vw, 2rem); }
.ew-library-reader__page-arrow--next { right: clamp(.65rem, 2.5vw, 2rem); }

.ew-library-reader__page-arrow:hover,
.ew-library-reader__page-arrow:focus-visible {
    transform: translateY(-50%) scale(1.06);
    border-color: #ffe29a;
    outline: none;
    background: rgba(82,43,27,.96);
}

.ew-library-reader__page-arrow:disabled {
    cursor: default;
    opacity: .24;
    transform: translateY(-50%);
}

.ew-library-reader__controls button {
    padding: .58rem 1rem;
    border: 1px solid rgba(216,173,91,.42);
    border-radius: 999px;
    background: #4a271a;
    color: #fff1ce;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
}

.ew-library-reader__controls button:hover,
.ew-library-reader__controls button:focus-visible { outline: none; border-color: #efd07f; background: #613521; }
.ew-library-reader__controls button:disabled { cursor: not-allowed; opacity: .36; }

@media (max-width: 980px) {
    .ew-library__lamp { display: none; }
    .ew-library__books { gap: 5px; }
    .ew-library-book--shape-0 { --ew-book-width: 70px; }
    .ew-library-book--shape-1 { --ew-book-width: 64px; }
    .ew-library-book--shape-2 { --ew-book-width: 75px; }
    .ew-library-book--shape-3 { --ew-book-width: 62px; }
    .ew-library-book--shape-4 { --ew-book-width: 68px; }
    .ew-library-book--cover { --ew-book-width: 140px; }
    .ew-library-book--binder { --ew-book-width: 148px; }
}

@media (max-width: 720px) {
    .ew-library__room { padding-inline: 1rem; }
    .ew-library__beam { display: none; }
    .ew-library__welcome { border-radius: 90px 90px 18px 18px / 45px 45px 18px 18px; }
    .ew-library__welcome h1 { font-size: clamp(2.4rem, 13vw, 4.1rem); }
    .ew-library__section-heading h2 { font-size: clamp(2rem, 10vw, 3.4rem); }
    .ew-library__shelf-frame { padding: 18px 13px 0; border-width: 8px; }
    .ew-library__shelf-frame::before,
    .ew-library__shelf-frame::after { display: none; }
    .ew-library__shelf-back { min-height: 0; padding: 1rem; }
    .ew-library__books {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        display: grid;
        min-height: 0;
        grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
        align-items: stretch;
        gap: 1rem;
    }
    .ew-library__book-slot { display: flex; }
    .ew-library-book,
    .ew-library-book--shape-0,
    .ew-library-book--shape-1,
    .ew-library-book--shape-2,
    .ew-library-book--shape-3,
    .ew-library-book--shape-4,
    .ew-library-book--cover,
    .ew-library-book--binder {
        --ew-book-width: 100%;
        --ew-book-height: 188px;
        display: grid;
        width: 100%;
        grid-template-rows: 188px 1fr;
        padding: .8rem;
        border: 1px solid rgba(216,173,91,.18);
        border-radius: 10px;
        background: rgba(5,4,6,.52);
    }
    .ew-library-book__object { width: min(118px, 100%); margin: 0 auto; }
    .ew-library-book.ew-library-book--artwork {
        border-color: transparent;
        background: transparent;
    }
    .ew-library-book:hover .ew-library-book__object,
    .ew-library-book:focus-visible .ew-library-book__object,
    .ew-library-book.is-selected .ew-library-book__object { transform: translateY(-6px) scale(1.02); }
    .ew-library-book__details,
    .ew-library__book-slot:first-child .ew-library-book__details,
    .ew-library__book-slot:last-child .ew-library-book__details {
        position: static;
        width: auto;
        padding: .9rem .15rem .1rem;
        transform: none;
        border: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
    }
    .ew-library-book__details::after { display: none; }
    .ew-library-book:hover .ew-library-book__details,
    .ew-library-book:focus-visible .ew-library-book__details,
    .ew-library-book.is-selected .ew-library-book__details,
    .ew-library__book-slot:first-child .ew-library-book:hover .ew-library-book__details,
    .ew-library__book-slot:first-child .ew-library-book:focus-visible .ew-library-book__details,
    .ew-library__book-slot:first-child .ew-library-book.is-selected .ew-library-book__details,
    .ew-library__book-slot:last-child .ew-library-book:hover .ew-library-book__details,
    .ew-library__book-slot:last-child .ew-library-book:focus-visible .ew-library-book__details,
    .ew-library__book-slot:last-child .ew-library-book.is-selected .ew-library-book__details { transform: none; }
    .ew-library-book__details strong { font-size: 1rem; }
    .ew-library-book__description { font-size: .74rem; }
    .ew-library__shelf-board { margin-inline: -17px; }
    .ew-library-reader { padding: 0; }
    .ew-library-reader__dialog { width: 100%; height: 100dvh; border: 0; border-radius: 0; box-shadow: none; }
    .ew-library-reader__header { padding: .8rem 1rem; }
    .ew-library-reader__header p { display: none; }
    .ew-library-reader__body { padding: .7rem; }
    .ew-library-reader__page { padding: 1.25rem; font-size: .94rem; }
    .ew-library-reader__toolbar { padding-inline: 1rem; }
    .ew-library-reader__toolbar-actions { width: 100%; justify-content: space-between; }
    .ew-library-reader__view-toggle button[data-ew-reader-view="two"] { display: none; }
    .ew-library-reader__controls { padding: .65rem .5rem; }
    .ew-library-reader__controls span { min-width: 92px; }
    .ew-library-reader__artwork { padding: .75rem 2.4rem; }
    .ew-library-reader__page-arrow { top: 55%; width: 38px; height: 58px; font-size: 2.2rem; }
    .ew-library-reader__page-arrow--previous { left: .25rem; }
    .ew-library-reader__page-arrow--next { right: .25rem; }
}

@media (max-width: 410px) {
    .ew-library__books { grid-template-columns: 1fr; }
    .ew-library-book { grid-template-columns: 105px 1fr; grid-template-rows: auto; align-items: center; gap: .9rem; }
    .ew-library-book__object { width: 105px; height: 165px; }
    .ew-library-book__details { padding-top: 0; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .ew-library *,
    .ew-library *::before,
    .ew-library *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


.dst-library-v26{--dst-library-accent:#ff3dae;max-width:1420px;margin:3rem auto;color:#f6f3ff}
.dst-library-heading{max-width:840px;margin:0 0 2.5rem}
.dst-library-heading>p,.dst-reader-header p{margin:0;color:var(--dst-library-accent);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800}
.dst-library-heading h2{font-size:clamp(2.6rem,6vw,6rem);line-height:.9;letter-spacing:-.055em;margin:.35rem 0 1rem}
.dst-library-heading>div{color:#c4c6d8;line-height:1.7}
.dst-library-empty{padding:2rem;border:1px dashed rgba(255,255,255,.25);color:#c4c6d8;text-align:center}
.dst-bookcase{display:grid;gap:2.6rem;padding:.5rem 0}
.dst-shelf-row{position:relative;min-height:390px;padding:34px 30px 36px;background:linear-gradient(90deg,rgba(0,0,0,.5),transparent 8%,transparent 92%,rgba(0,0,0,.55)),radial-gradient(ellipse at 50% 100%,rgba(171,103,55,.16),transparent 60%),#1b0f0d;border:14px solid #4d2818;border-top-color:#754327;border-bottom-color:#32170f;box-shadow:inset 0 16px 32px rgba(0,0,0,.65),0 22px 35px rgba(0,0,0,.42)}
.dst-shelf-row:after{content:"";position:absolute;z-index:3;left:-18px;right:-18px;bottom:-19px;height:30px;background:linear-gradient(#9a5b34 0,#6b371f 24%,#3a1b12 80%,#22100d);border-radius:3px;box-shadow:0 14px 22px rgba(0,0,0,.6),inset 0 2px rgba(255,221,164,.25)}
.dst-shelf-books{position:absolute;z-index:2;left:26px;right:26px;bottom:26px;display:flex;align-items:flex-end;gap:3px;min-width:max-content}
.dst-book-spine{--spine-color:#64354f;--spine-text:#f3d89b;position:relative;box-sizing:border-box;flex:0 0 78px;width:78px;height:320px;padding:35px 8px 34px;color:var(--spine-text);background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(255,255,255,.12) 12%,transparent 30%,transparent 72%,rgba(255,255,255,.1) 86%,rgba(0,0,0,.48)),repeating-linear-gradient(0deg,transparent 0 13px,rgba(0,0,0,.035) 14px 15px),var(--spine-color);border:1px solid rgba(0,0,0,.68);border-radius:7px 7px 2px 2px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),4px 2px 5px rgba(0,0,0,.5);font:inherit;cursor:pointer;transform-origin:bottom center;transform:rotate(calc((var(--spine-order) - 4) * .16deg));transition:transform .2s ease,filter .2s ease;overflow:visible}
.dst-binding-art{position:absolute;z-index:0;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.44),rgba(255,255,255,.08) 12%,transparent 30%,transparent 74%,rgba(0,0,0,.36)),var(--binding-image);background-position:center;background-size:cover;border-radius:inherit;pointer-events:none}
.dst-book-spine>.dst-binding-art{inset:0}
.dst-book-spine.width-slim{flex-basis:55px;width:55px}
.dst-book-spine.width-wide{flex-basis:106px;width:106px}
.dst-book-spine.height-short{height:250px}
.dst-book-spine.height-medium{height:286px}
.dst-book-spine:hover,.dst-book-spine:focus-visible{z-index:8;transform:translateY(-18px) rotate(0);filter:brightness(1.13);outline:2px solid var(--dst-library-accent);outline-offset:3px}
.dst-spine-title{position:relative;z-index:2;display:block;height:72%;margin:auto;overflow:hidden;font-family:Georgia,serif;font-size:clamp(.88rem,1.25vw,1.15rem);font-weight:700;line-height:1.05;letter-spacing:.05em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);text-shadow:0 1px 1px #000}
.dst-spine-subtitle{position:absolute;z-index:2;left:5px;right:5px;bottom:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;letter-spacing:.05em;text-transform:uppercase}
.dst-spine-rib{position:absolute;z-index:2;left:2px;right:2px;height:10px;border-top:2px solid color-mix(in srgb,var(--spine-text) 60%,transparent);border-bottom:2px solid rgba(0,0,0,.42);box-shadow:0 2px 3px rgba(0,0,0,.35)}
.dst-spine-rib-top{top:19px}
.dst-spine-rib-bottom{bottom:34px}
.dst-book-spine.is-banded:before{content:"";position:absolute;inset:55px 1px 64px;background:repeating-linear-gradient(0deg,transparent 0 48px,color-mix(in srgb,var(--spine-text) 55%,transparent) 49px 52px,rgba(0,0,0,.38) 53px 56px);pointer-events:none}
.dst-book-spine.is-label .dst-spine-title{height:auto;margin:22% -3px 0;padding:9px 3px;background:#241711;color:#e8d5a5;border:2px solid color-mix(in srgb,var(--spine-text) 75%,#332014);writing-mode:horizontal-tb;transform:none;font-size:.75rem}
.dst-book-spine.is-ornate:after{content:"✦";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font-size:1.3rem;color:color-mix(in srgb,var(--spine-text) 80%,transparent);opacity:.55}
.dst-book-spine.title-horizontal .dst-spine-title,.dst-book-spine.title-vertical .dst-spine-title{position:absolute;z-index:3;left:var(--spine-title-x);top:var(--spine-title-y);margin:0;padding:0;color:var(--spine-text);background:transparent;border:0;overflow:visible;text-align:center;text-shadow:0 1px 2px #000}
.dst-book-spine.title-horizontal .dst-spine-title{width:var(--spine-title-width);height:auto;white-space:normal;writing-mode:horizontal-tb;transform:translate(-50%,-50%)}
.dst-book-spine.title-vertical .dst-spine-title{width:auto;height:var(--spine-title-width);writing-mode:vertical-rl;transform:translate(-50%,-50%) rotate(180deg)}
.dst-book-spine.title-hidden .dst-spine-title{display:none}
.dst-book-spine.title-horizontal.title-size-small .dst-spine-title,.dst-book-spine.title-vertical.title-size-small .dst-spine-title{font-size:.65rem}
.dst-book-spine.title-horizontal.title-size-standard .dst-spine-title,.dst-book-spine.title-vertical.title-size-standard .dst-spine-title{font-size:.82rem}
.dst-book-spine.title-horizontal.title-size-large .dst-spine-title,.dst-book-spine.title-vertical.title-size-large .dst-spine-title{font-size:1.05rem}
.dst-spine-tooltip{position:absolute;z-index:20;left:50%;bottom:calc(100% + 16px);width:250px;padding:.85rem 1rem;color:#f8f1e5;background:#15101a;border:1px solid var(--dst-library-accent);box-shadow:0 12px 30px rgba(0,0,0,.5);text-align:left;writing-mode:horizontal-tb;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.dst-spine-tooltip:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#15101a;border-right:1px solid var(--dst-library-accent);border-bottom:1px solid var(--dst-library-accent);transform:translateX(-50%) rotate(45deg)}
.dst-spine-tooltip strong,.dst-spine-tooltip small,.dst-spine-tooltip em{display:block}
.dst-spine-tooltip small{margin:.4rem 0;color:#c8c2cf;font-size:.78rem;line-height:1.4}
.dst-spine-tooltip em{color:var(--dst-library-accent);font-size:.7rem;font-style:normal;text-transform:uppercase;letter-spacing:.09em}
.dst-book-spine:hover .dst-spine-tooltip,.dst-book-spine:focus-visible .dst-spine-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.layout-covers .dst-shelf-row{min-height:360px}
.layout-covers .dst-shelf-books{gap:clamp(16px,2.2vw,30px)}
.dst-book-cover-card{--spine-color:#64354f;--spine-text:#f3d89b;position:relative;flex:0 0 172px;width:172px;height:auto;aspect-ratio:3/4;container-type:inline-size;padding:0;color:var(--spine-text);background:transparent;border:0;font:inherit;cursor:pointer;transform-origin:bottom center;transform:rotate(calc((var(--spine-order) - 2.5) * .28deg));transition:transform .2s ease,filter .2s ease;overflow:visible}
.dst-cover-card-face{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(255,255,255,.1) 7%,transparent 20%),repeating-linear-gradient(35deg,rgba(255,255,255,.018) 0 2px,rgba(0,0,0,.018) 2px 4px),var(--spine-color);border:2px solid #21120f;border-left-width:9px;border-radius:5px 9px 9px 4px;box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--spine-text) 38%,transparent),inset 0 0 0 10px rgba(0,0,0,.25),8px 9px 0 -3px #c9b991,13px 14px 18px rgba(0,0,0,.58)}
.dst-cover-card-face:before,.dst-cover-card-face:after{content:"";position:absolute;z-index:2;left:16px;right:12px;height:3px;background:linear-gradient(90deg,transparent,var(--spine-text) 18%,var(--spine-text) 82%,transparent);opacity:.7}.dst-cover-card-face:before{top:17px}.dst-cover-card-face:after{bottom:17px}
.dst-cover-card-media{position:absolute;z-index:3;inset:0;display:grid;place-items:center;overflow:hidden;background:#19110f}.dst-cover-card-media[hidden]{display:none}.dst-cover-card-media img,.dst-cover-card-media canvas{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:var(--dst-cover-fit,contain);object-position:center}
.dst-cover-card-generated{position:relative;z-index:2;width:78%;padding:1.1rem .55rem;color:var(--spine-text);background:rgba(20,10,14,.38);border:1px solid color-mix(in srgb,var(--spine-text) 45%,transparent);font-family:Georgia,"Times New Roman",serif;text-align:center;text-shadow:0 2px 3px rgba(0,0,0,.72)}
.dst-cover-card-generated small,.dst-cover-card-generated strong,.dst-cover-card-generated em{display:block}.dst-cover-card-generated small{margin-bottom:.8rem;font-size:.48rem;letter-spacing:.15em;text-transform:uppercase}.dst-cover-card-generated strong{font-size:1.35rem;line-height:1}.dst-cover-card-generated em{margin-top:.65rem;font-size:.7rem}
.dst-book-cover-card.is-custom-cover .dst-cover-card-face:before,.dst-book-cover-card.is-custom-cover .dst-cover-card-face:after{display:none}
.dst-book-cover-card.cover-title-custom .dst-cover-card-generated,.dst-book-cover-card.cover-title-hidden .dst-cover-card-generated{display:none}
.dst-book-cover-card.is-custom-cover.cover-title-normal .dst-cover-card-generated{z-index:4;background:rgba(20,10,14,.68);backdrop-filter:blur(2px)}
.dst-book-cover-card.is-custom-cover.cover-title-normal .dst-cover-card-generated small{display:none}
.dst-cover-card-custom-label{display:none;position:absolute;z-index:5;left:var(--cover-title-x);top:var(--cover-title-y);width:var(--cover-title-width);color:var(--spine-text);font-family:Georgia,"Times New Roman",serif;font-weight:800;line-height:1;text-align:center;text-shadow:0 2px 4px #000;transform:translate(-50%,-50%)}
.dst-book-cover-card.cover-title-custom .dst-cover-card-custom-label{display:block}.dst-book-cover-card.cover-title-size-small .dst-cover-card-custom-label{font-size:7cqw}.dst-book-cover-card.cover-title-size-standard .dst-cover-card-custom-label{font-size:9cqw}.dst-book-cover-card.cover-title-size-large .dst-cover-card-custom-label{font-size:12cqw}
.dst-book-cover-card:hover,.dst-book-cover-card:focus-visible{z-index:8;transform:translateY(-18px) rotate(0);filter:brightness(1.08);outline:2px solid var(--dst-library-accent);outline-offset:5px}
.dst-book-cover-card:hover .dst-spine-tooltip,.dst-book-cover-card:focus-visible .dst-spine-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
body.dst-library-reading{overflow:hidden}
.dst-library-modal{position:fixed;z-index:100000;inset:0;padding:clamp(.5rem,2vw,1.5rem);display:grid;place-items:center}
.dst-library-modal[hidden]{display:none}
.dst-library-backdrop{position:absolute;inset:0;background:rgba(2,3,10,.9);backdrop-filter:blur(7px)}
.dst-library-reader{--reader-ink:#362719;--reader-body-size:1.05rem;--reader-line-height:1.58;--reader-page-padding:clamp(1.35rem,2.4vw,2.8rem);--reader-text-align:left;--reader-page-height:clamp(520px,calc(96vh - 210px),760px);position:relative;z-index:2;display:flex;flex-direction:column;width:min(1480px,98vw);max-height:96vh;overflow:hidden;padding:clamp(1rem,2vw,2rem);color:#f7f3ff;background:#080817;border:1px solid color-mix(in srgb,var(--dst-library-accent) 65%,#fff);box-shadow:0 28px 100px rgba(0,0,0,.72);outline:none}
.dst-reader-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}
.dst-reader-identity{display:flex;align-items:center;gap:1rem}
.dst-reader-identity>img{width:64px;height:84px;object-fit:var(--dst-cover-fit,contain);object-position:center;background:#19110f;border:2px solid rgba(255,255,255,.24);box-shadow:4px 5px 10px rgba(0,0,0,.4)}
.dst-reader-header h2{margin:.15rem 0 0;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1}
.dst-reader-identity>div>span{color:#bbb8ca}
.dst-reader-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.dst-reader-actions button,.dst-reader-actions a,.dst-reader-footer button{padding:.62rem .82rem;color:#f7f3ff;background:transparent;border:1px solid rgba(255,255,255,.24);border-radius:999px;text-decoration:none;font-weight:700}
.dst-reader-actions button:hover,.dst-reader-actions a:hover,.dst-reader-footer button:hover{border-color:var(--dst-library-accent)}
.dst-reader-actions .dst-reader-close{font-size:1.3rem;line-height:1;padding:.5rem .72rem}
.dst-reader-status{min-height:1.5rem;color:#ffb7dc}
.dst-reader-reading-stage{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
.dst-reader-reading-stage[hidden]{display:none}
.dst-reader-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,155px);height:var(--reader-page-height);min-height:0;gap:0;align-items:stretch}
.dst-reader-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;align-items:center;gap:.55rem}
.dst-reader-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;height:100%;min-height:0;padding:12px 16px 16px;box-sizing:border-box;background:linear-gradient(90deg,#24120d 0,#4d2a1c 2.5%,#1c0d09 49.3%,#080403 50%,#1c0d09 50.7%,#4d2a1c 97.5%,#24120d 100%);border:2px solid #160a07;border-radius:13px 17px 17px 13px;box-shadow:inset 0 0 0 3px rgba(203,149,78,.18),inset 0 -9px 15px rgba(0,0,0,.55),0 20px 28px rgba(0,0,0,.52);perspective:2400px;isolation:isolate}
.dst-library-reader.has-custom-binding .dst-reader-spread{background-image:linear-gradient(90deg,rgba(20,8,4,.56),transparent 8%,transparent 48%,rgba(8,3,2,.68) 50%,transparent 52%,transparent 92%,rgba(20,8,4,.56)),var(--reader-binding-image);background-position:center;background-size:auto,cover}
.dst-reader-spread:before{content:"";position:absolute;z-index:4;left:20px;right:20px;bottom:7px;height:11px;background:repeating-linear-gradient(0deg,#d9c58f 0 1px,#8f7042 1px 2px);border-radius:0 0 7px 7px;box-shadow:0 4px 7px rgba(0,0,0,.65);pointer-events:none}
.dst-reader-spread:after{content:"";position:absolute;z-index:8;top:12px;bottom:16px;left:50%;width:28px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(44,26,14,.45) 25%,rgba(15,8,4,.6) 48%,rgba(255,248,210,.2) 52%,rgba(58,34,18,.42) 76%,transparent);filter:blur(.15px);pointer-events:none}
.dst-reader-page{position:relative;z-index:2;min-width:0;height:100%;min-height:0;overflow:hidden;padding:var(--reader-page-padding);box-sizing:border-box;color:var(--reader-ink);background:#ead6a5;border:1px solid #b49762}
.dst-reader-page[data-reader-slot="0"]{border-radius:8px 1px 2px 8px;box-shadow:inset -18px 0 22px -22px rgba(41,22,9,.85),inset 5px 0 7px rgba(255,255,255,.18)}
.dst-reader-page[data-reader-slot="1"]{border-radius:1px 8px 8px 2px;box-shadow:inset 18px 0 22px -22px rgba(41,22,9,.85),inset -5px 0 7px rgba(255,255,255,.14)}
.dst-library-reader[data-paper="aged"] .dst-reader-page{background:radial-gradient(circle at 20% 18%,rgba(110,65,20,.09) 0 2px,transparent 3px),radial-gradient(circle at 84% 72%,rgba(110,65,20,.07) 0 3px,transparent 4px),repeating-linear-gradient(0deg,rgba(116,79,35,.035) 0 1px,transparent 1px 6px),linear-gradient(90deg,#c8aa70,#ead6a5 7%,#efddaf 92%,#b9955b)}
.dst-library-reader[data-paper="parchment"] .dst-reader-page{background:radial-gradient(ellipse at center,#f1dfb2,#d0ac6d);border-color:#a77c42}
.dst-library-reader[data-paper="clean"] .dst-reader-page{background:linear-gradient(90deg,#e5dfcf,#fffdf5 7%,#fffdf5 93%,#ddd4bf);border-color:#d5cdbb}
.dst-reader-page:nth-child(2){filter:brightness(1.025)}
.dst-reader-page.is-blank{background:#0a0a18!important;border-color:rgba(255,255,255,.05)}
.dst-library-reader[data-font="handwriting"] .dst-reader-page-copy{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive}
.dst-library-reader[data-font="classic"] .dst-reader-page-copy{font-family:Georgia,"Times New Roman",serif}
.dst-library-reader[data-font="typewriter"] .dst-reader-page-copy{font-family:"Courier New",monospace}
.dst-library-reader .dst-reader-page-copy,.dst-library-reader .dst-reader-page-copy h3,.dst-library-reader .dst-reader-page-copy p{color:var(--reader-ink,#362719)!important}
.dst-reader-page h3{margin:0 0 1.2rem;font:inherit;font-size:clamp(1.7rem,3vw,3.1rem);font-weight:700;line-height:1.05}
.dst-reader-page p{font-family:inherit;font-size:var(--reader-body-size);line-height:var(--reader-line-height);text-align:var(--reader-text-align);white-space:pre-line}
.dst-page-fit-spacer{display:block;clear:both;width:1px;height:18px}
.dst-reader-page img{display:block;max-width:100%;max-height:42%;height:auto;object-fit:contain;margin:0 auto 1.5rem;border:7px solid rgba(255,255,255,.38);box-shadow:0 5px 12px rgba(64,39,18,.28)}
.dst-reader-page.layout-image-left img{float:left;width:min(46%,290px);margin:0 1.35rem .8rem 0}
.dst-reader-page.layout-image-right img{float:right;width:min(46%,290px);margin:0 0 .8rem 1.35rem}
.dst-reader-page.layout-image-full{padding:0}
.dst-reader-page.layout-image-full img{width:100%;height:100%;max-height:none;object-fit:cover;margin:0;border:0}
.dst-reader-page.layout-image-full .dst-reader-page-copy{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem;background:rgba(239,221,175,.88);box-shadow:0 4px 12px rgba(0,0,0,.22)}
.dst-reader-page.is-pdf{padding:0;display:grid;place-items:center;background:#e8e8e8!important}
.dst-reader-page canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.dst-reader-arrow{width:48px;height:48px;padding:0;color:#080817;background:var(--dst-library-accent);border:0;border-radius:50%;font-size:2.3rem;line-height:1}
.dst-reader-chapters{display:flex;flex-direction:column;height:100%;min-height:0;gap:.3rem;padding:18px 8px 12px 0;overflow-y:auto;scrollbar-width:thin}
.dst-reader-chapters[hidden]{display:none}
.dst-reader-chapters button{position:relative;left:-1px;padding:.62rem .7rem;color:#e4d5bc;background:#5f3126;border:1px solid #2b1712;border-left:5px solid #9b6046;border-radius:0 6px 6px 0;box-shadow:3px 4px 7px rgba(0,0,0,.3);font-family:Georgia,serif;font-size:.76rem;text-align:left;transition:.15s ease}
.dst-reader-chapters button:nth-child(3n+2){background:#473758}
.dst-reader-chapters button:nth-child(3n+3){background:#2e4e4b}
.dst-reader-chapters button:hover,.dst-reader-chapters button.is-active{left:7px;color:#fff;border-color:var(--dst-library-accent)}
.dst-reader-footer{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}
.dst-reader-footer button:disabled,.dst-reader-arrow:disabled{opacity:.3;cursor:not-allowed}
.dst-library-reader.is-page-turning button[data-reader-prev],.dst-library-reader.is-page-turning button[data-reader-next],.dst-library-reader.is-page-turning .dst-reader-chapters{pointer-events:none}
.dst-library-reader:fullscreen{width:100vw;max-height:none;height:100vh;background:#080817;padding:1rem}
.dst-library-reader:fullscreen{--reader-page-height:calc(100vh - 175px)}
.dst-page-turn-sheet{position:absolute!important;z-index:12!important;top:12px;bottom:16px;height:auto!important;min-height:0!important;margin:0!important;pointer-events:none;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,filter;filter:none!important}
.dst-page-turn-sheet.turn-next{left:50%;right:16px;transform-origin:left center;border-radius:1px 8px 8px 2px;box-shadow:9px 7px 16px rgba(0,0,0,.34)}
.dst-page-turn-sheet.turn-prev{left:16px;right:50%;transform-origin:right center;border-radius:8px 1px 2px 8px;box-shadow:-9px 7px 16px rgba(0,0,0,.34)}
.dst-page-turn-sheet.turn-next.is-active{animation:dstPageTurnNext .68s cubic-bezier(.45,.02,.2,1) forwards}
.dst-page-turn-sheet.turn-prev.is-active{animation:dstPageTurnPrev .68s cubic-bezier(.45,.02,.2,1) forwards}
@keyframes dstPageTurnNext{0%{transform:rotateY(0);filter:brightness(1);box-shadow:9px 7px 16px rgba(0,0,0,.34)}45%{filter:brightness(.82);box-shadow:32px 12px 25px rgba(0,0,0,.48)}100%{transform:rotateY(-179deg);filter:brightness(.65);box-shadow:2px 2px 5px rgba(0,0,0,.15)}}
@keyframes dstPageTurnPrev{0%{transform:rotateY(0);filter:brightness(1);box-shadow:-9px 7px 16px rgba(0,0,0,.34)}45%{filter:brightness(.82);box-shadow:-32px 12px 25px rgba(0,0,0,.48)}100%{transform:rotateY(179deg);filter:brightness(.65);box-shadow:-2px 2px 5px rgba(0,0,0,.15)}}
@media(max-width:900px){.dst-shelf-row{overflow-x:auto;overflow-y:hidden}
.dst-spine-tooltip{display:none}
.dst-reader-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
.dst-reader-chapters{flex-direction:row;width:100%;height:auto;overflow-x:auto;overflow-y:hidden;padding:0 0 .7rem;order:-1}
.dst-reader-chapters button{left:0;flex:0 0 auto;border-left:1px solid #2b1712;border-bottom:5px solid #9b6046;border-radius:5px}
.dst-reader-chapters button:hover,.dst-reader-chapters button.is-active{left:0;transform:translateY(-3px)}
}
@media(max-width:820px){.dst-library-modal{padding:0}
.dst-library-reader{--reader-page-height:clamp(390px,calc(100vh - 250px),640px);width:100vw;max-height:100vh;height:100vh;padding:.7rem}
.dst-reader-header{flex-direction:column}
.dst-reader-actions{justify-content:flex-start}
.dst-reader-stage{grid-template-columns:1fr}
.dst-reader-stage>.dst-reader-arrow{display:none}
.dst-reader-spread{grid-template-columns:1fr;height:100%;min-height:0;padding:10px 13px 14px}
.dst-reader-spread:after{display:none}
.dst-reader-page:nth-child(2){display:none}
.dst-page-turn-sheet.turn-next,.dst-page-turn-sheet.turn-prev{top:10px;right:13px;bottom:14px;left:13px;transform-origin:left center}
.dst-page-turn-sheet.turn-prev{transform-origin:right center}
.dst-reader-footer{position:sticky;bottom:0;padding:.6rem;background:#080817}
}
@media(prefers-reduced-motion:reduce){.dst-book-spine,.dst-book-cover-card,.dst-spine-tooltip,.dst-page-turn-sheet{transition:none;animation:none}
.dst-book-spine:hover,.dst-book-spine:focus-visible,.dst-book-cover-card:hover,.dst-book-cover-card:focus-visible{transform:none}
}

/* Uploaded DOCX files are parsed locally and flowed into the same turnable parchment sheets as manually authored books. */
.dst-reader-page.is-docx{overflow:hidden;padding:var(--reader-page-padding)}
.dst-docx-flow{height:100%;overflow:hidden;color:var(--reader-ink);font-family:Georgia,"Times New Roman",serif;font-size:var(--reader-body-size);line-height:var(--reader-line-height);text-align:var(--reader-text-align)}
.dst-library-reader[data-font="handwriting"] .dst-docx-flow{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive}
.dst-library-reader[data-font="classic"] .dst-docx-flow{font-family:Georgia,"Times New Roman",serif}
.dst-library-reader[data-font="typewriter"] .dst-docx-flow{font-family:"Courier New",monospace}
.dst-reader-page.is-docx .dst-docx-block{margin:0 0 .78em;color:inherit!important;font:inherit;white-space:pre-wrap}
.dst-reader-page.is-docx .dst-docx-h1,.dst-reader-page.is-docx .dst-docx-h2,.dst-reader-page.is-docx .dst-docx-h3,.dst-reader-page.is-docx .dst-docx-h4{color:color-mix(in srgb,var(--reader-ink) 82%,#7a4821);font-family:inherit;line-height:1.08;letter-spacing:-.025em;text-align:left}
.dst-reader-page.is-docx .dst-docx-h1{margin:.05em 0 .65em;font-size:31px}
.dst-reader-page.is-docx .dst-docx-h2{margin:.15em 0 .55em;font-size:25px}
.dst-reader-page.is-docx .dst-docx-h3{margin:.2em 0 .5em;font-size:21px}
.dst-reader-page.is-docx .dst-docx-h4{margin:.2em 0 .45em;font-size:18px}
.dst-docx-list-item{position:relative;padding-left:calc(1.15em + var(--docx-list-level,0) * 1.05em)}
.dst-docx-list-item:before{content:"•";position:absolute;left:calc(var(--docx-list-level,0) * 1.05em);font-weight:800}
.dst-docx-block .is-bold{font-weight:700}.dst-docx-block .is-italic{font-style:italic}.dst-docx-block .is-underlined{text-decoration:underline}.dst-docx-block .is-struck{text-decoration:line-through}
.dst-docx-block.is-empty{height:.5em;margin:0}
.dst-reader-page.is-docx .dst-docx-image{display:block;width:auto;max-width:100%;max-height:260px;margin:.55em auto;object-fit:contain;border:1px solid rgba(67,37,18,.25);box-shadow:0 5px 14px rgba(62,34,15,.18)}
.dst-docx-table{width:100%;margin:.7em 0 1em;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.35}
.dst-docx-table td{padding:6px 7px;vertical-align:top;border:1px solid rgba(65,39,20,.35);overflow-wrap:anywhere}
.dst-reader-page.is-docx .dst-docx-table p{margin:0 0 .35em;font-size:12px;line-height:1.35}.dst-docx-table p:last-child{margin-bottom:0}
.dst-docx-measure{position:fixed!important;z-index:-1!important;left:-10000px!important;top:0!important;min-height:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important;box-sizing:border-box!important}
.dst-manual-measure{position:fixed!important;z-index:-1!important;left:-10000px!important;top:0!important;min-height:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important;box-sizing:border-box!important}
@media(max-width:820px){.dst-reader-page.is-docx{padding:var(--reader-page-padding)}}

.dst-reader-page.is-back-cover{overflow:hidden;padding:0;background:#17100d!important;border-color:#2b1712}
.dst-reader-back-cover{--cover-leather:#64354f;--cover-gold:#f3d89b;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;color:var(--cover-gold);background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 9%,transparent 91%,rgba(0,0,0,.35)),repeating-linear-gradient(35deg,rgba(255,255,255,.018) 0 2px,rgba(0,0,0,.018) 2px 4px),var(--cover-leather);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--cover-gold) 38%,transparent),inset 0 0 0 15px rgba(0,0,0,.28)}
.dst-reader-back-cover img,.dst-reader-back-cover canvas{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;object-fit:var(--dst-cover-fit,contain);object-position:center;box-shadow:none!important}
.dst-reader-back-cover>span{padding:2rem;font:700 clamp(1.8rem,4vw,3.5rem)/1 Georgia,serif;text-align:center;text-shadow:0 2px 3px rgba(0,0,0,.7)}
@media(max-width:820px){.dst-reader-back-cover{min-height:0}}


