.s24-ultra-device{overscroll-behavior:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:geometricPrecision}.s24-ultra-wrapper{width:100%;height:100vh;min-height:100vh;position:relative;overflow:hidden}.s24-ultra-content{width:100%;height:100%;min-height:100vh;padding-top:var(--s24-ultra-safe-top,48px);padding-bottom:var(--s24-ultra-safe-bottom,80px);box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow:hidden auto}.s24-ultra-device button,.s24-ultra-device input,.s24-ultra-device [role=button]{touch-action:manipulation;min-width:48px;min-height:48px}.s24-ultra-device .text-content,.s24-ultra-device p,.s24-ultra-device span{letter-spacing:-.01em;font-size:clamp(14px,2.5vw,16px);line-height:1.5}.s24-ultra-device .pdf-viewer-container{height:calc(100vh - var(--s24-ultra-safe-top,48px) - var(--s24-ultra-safe-bottom,80px));min-height:calc(100vh - var(--s24-ultra-safe-top,48px) - var(--s24-ultra-safe-bottom,80px))}.s24-ultra-device .bottom-nav,.s24-ultra-device .fixed-bottom{margin-bottom:calc(env(safe-area-inset-bottom,0px) + 20px)}.s24-ultra-device.keyboard-open .s24-ultra-content{padding-bottom:calc(var(--keyboard-height,0px) + var(--s24-ultra-safe-bottom,80px))}.s24-ultra-device .modal,.s24-ultra-device .popup,.s24-ultra-device .dropdown{max-height:calc(100vh - var(--s24-ultra-safe-top,48px) - var(--s24-ultra-safe-bottom,80px));margin-top:var(--s24-ultra-safe-top,48px)}.s24-ultra-device .header-fixed,.s24-ultra-device .navbar-fixed{top:var(--s24-ultra-safe-top,48px);height:calc(56px + var(--s24-ultra-safe-top,48px));padding-top:var(--s24-ultra-safe-top,48px)}.s24-ultra-device .library-grid{padding-bottom:var(--s24-ultra-safe-bottom,80px)}.s24-ultra-device .book-card{min-height:200px;margin-bottom:16px}@media screen and (min-resolution:360dpi){.s24-ultra-device{--s24-ultra-scale:.96}.s24-ultra-device .text-content{font-size:15px;line-height:1.4}}@media screen and (-webkit-min-device-pixel-ratio:3.5) and (-webkit-max-device-pixel-ratio:3.99){.s24-ultra-device{--s24-ultra-scale:.97}}@media screen and (orientation:landscape){.s24-ultra-device .s24-ultra-content{padding-top:var(--s24-ultra-safe-top,32px);padding-bottom:var(--s24-ultra-safe-bottom,32px)}}@media (display-mode:standalone){.s24-ultra-device .s24-ultra-content{padding-top:max(var(--s24-ultra-safe-top,48px),env(safe-area-inset-top,0px));padding-bottom:max(var(--s24-ultra-safe-bottom,80px),env(safe-area-inset-bottom,0px))}.s24-ultra-standalone{padding-top:var(--s24-ultra-safe-top);height:calc(100vh - var(--s24-ultra-safe-top) - var(--s24-ultra-safe-bottom))}.s24-ultra-standalone-content{border-radius:12px;margin:4px;overflow:hidden}}.s24-ultra-reader-container{-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:geometricPrecision}.s24-ultra-hamburger-stable{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.s24-ultra-sidebar{will-change:transform;backface-visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translateZ(0);animation:none!important}.s24-ultra-reader-container .tab-button{will-change:transform,background-color;backface-visibility:hidden;transform:translateZ(0)}.s24-ultra-reader-container .sidebar-content{will-change:scroll-position;-webkit-overflow-scrolling:touch;transform:translateZ(0)}.s24-ultra-reader-container .no-backdrop{-webkit-backdrop-filter:none!important}
.mobile-device{overscroll-behavior:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:geometricPrecision;touch-action:manipulation}.mobile-device button,.mobile-device input,.mobile-device [role=button]{min-width:48px;min-height:48px}.mobile-device .text-content,.mobile-device p,.mobile-device span{line-height:1.5}.mobile-device .mobile-sidebar,.mobile-device .mobile-menu,.mobile-device .sheet-content{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.mobile-device .modal,.mobile-device .popup,.mobile-device .dropdown{max-height:calc(100vh - env(safe-area-inset-top,20px) - env(safe-area-inset-bottom,20px))}
