.public-book-shelf{--shelf-floor-shift:17px;position:relative;z-index:var(--shelf-layer,2);isolation:isolate;overflow:visible;max-width:1590px;min-height:190px;aspect-ratio:1024/177;margin:0 auto 12px;color:#fff7e8}
.public-book-shelf [hidden]{display:none!important}
.public-book-shelf-background{position:absolute;inset:0 0 auto;width:100%;height:100%;background:url('/assets/book-shelf/shelf.png') center top/100% 100% no-repeat;pointer-events:none}
.public-book-shelf[data-shelf-variant="plant"] .public-book-shelf-background{height:156%;background-image:url('/assets/book-shelf/shelf-plant.png')}
.public-book-shelf[data-shelf-variant="globe"] .public-book-shelf-background{background-image:url('/assets/book-shelf/shelf-globe.png')}
.public-book-shelf[data-shelf-variant="globe-plant"] .public-book-shelf-background{height:148%;background-image:url('/assets/book-shelf/shelf-globe-plant.png')}
.public-book-shelf[data-shelf-variant="empty-home"] .public-book-shelf-background{height:148%;background-image:url('/assets/book-shelf/shelf-empty-home.png')}
.public-book-shelf[data-shelf-variant="empty-cabinet"] .public-book-shelf-background{height:148%;background-image:url('/assets/book-shelf/shelf-empty-cabinet.png')}
.public-book-shelf-inner{position:absolute;z-index:1;inset:0}
.public-book-shelf-stage{position:absolute;inset:10% 4% calc(22% - 37px - var(--shelf-floor-shift));display:flex;align-items:flex-end;min-width:0}
.public-book-shelf-categories{display:flex;align-items:flex-end;gap:clamp(10px,1.2vw,20px);flex:none;width:max-content;max-width:100%;height:100%;min-width:0;overflow:hidden}
.public-book-shelf-category{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;flex:none;width:max-content;max-width:100%;height:100%;min-width:0}
.public-book-shelf-mobile-category{display:none}
.public-book-shelf-category-books{display:flex;align-items:flex-end;flex:1;width:max-content;max-width:100%;min-width:0;padding-top:16px;box-sizing:border-box;overflow:visible;scrollbar-width:thin;scrollbar-color:#c39151 transparent}
.public-book-shelf-category-scrollable .public-book-shelf-category-books{overflow-x:auto;overflow-y:hidden}
.public-book-shelf-category-name{display:block;position:relative;max-width:100%;min-width:95px;min-height:33px;margin-top:4px;padding:4px 10px 5px;border-radius:7px;background:#102132dc;color:#fff!important;text-decoration:none;overflow-wrap:anywhere;font:700 clamp(15px,1.35vw,22px)/1.18 Georgia,serif;text-shadow:0 1px 2px #000}
.public-book-shelf-category-name:is(a):hover,.public-book-shelf-category-name:is(a):focus-visible{background:#a06c20;outline:2px solid #fff8e7;outline-offset:2px}
.public-book-shelf-book{--book-height:clamp(140px,12vw,190px);display:flex;align-items:center;justify-content:center;flex-direction:column;flex:none;position:relative;width:clamp(32px,2.35vw,43px);height:min(var(--book-height),calc(100% - 16px));padding:8px 3px 10px;border:1px solid #2a2728;border-left-color:#f9ebc688;border-right:3px solid #0c1a25a8;border-radius:4px 6px 3px 3px;color:#fff6df!important;background:linear-gradient(90deg,#ffffff30 0%,transparent 12%,#00000024 84%,#00000069 100%),var(--book-color,#203e50);box-shadow:2px 1px 5px #0a111584,inset 2px 0 2px #ffffff25;text-decoration:none;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease;transform-origin:50% 100%;z-index:1}
.public-book-shelf-book:nth-child(2n){--book-height:clamp(152px,13.1vw,214px)}
.public-book-shelf-book:nth-child(3n){--book-height:clamp(156px,13.6vw,222px)}
.public-book-shelf-book-1{--book-color:#d6b885;color:#172437!important;border-color:#8c704a}
.public-book-shelf-book-2{--book-color:#683d35}
.public-book-shelf-book-3{--book-color:#173149}
.public-book-shelf-book-4{--book-color:#435849}
.public-book-shelf-book-5{--book-color:#e3d2ae;color:#172437!important;border-color:#9e8e6d}
.public-book-shelf-book:before,.public-book-shelf-book:after{content:"";position:absolute;left:6px;right:8px;height:1px;background:#d1a761aa}
.public-book-shelf-book:before{top:15px}.public-book-shelf-book:after{bottom:21px}
.public-book-shelf-book-title{writing-mode:vertical-rl;transform:rotate(180deg);display:block;max-height:calc(100% - 35px);max-width:calc(100% - 6px);overflow:hidden;overflow-wrap:anywhere;text-align:center;font:600 clamp(10px,.82vw,13px)/1.15 Georgia,serif;text-shadow:0 1px 1px #0007}
.public-book-shelf-book-1 .public-book-shelf-book-title,.public-book-shelf-book-5 .public-book-shelf-book-title{text-shadow:none}
.public-book-shelf-book-mark{position:absolute;bottom:3px;color:#d4ac5a;font:14px Georgia,serif}
.public-book-shelf-book:hover,.public-book-shelf-book:focus-visible{z-index:3;transform:perspective(450px) translateZ(30px);box-shadow:14px 12px 22px #0a1115ba,inset 2px 0 2px #ffffff48}
.public-book-shelf-book:focus-visible{outline:2px solid #fff7de;outline-offset:2px}
.public-book-shelf-all{display:block;position:relative;top:calc(-1 * var(--shelf-floor-shift));flex:none;align-self:flex-end;margin-left:auto;margin-bottom:4px;padding:8px 10px;border-radius:6px;background:#102132e8;color:#fff!important;white-space:nowrap;font:600 12px Inter,Arial,sans-serif;text-decoration:none;box-shadow:0 3px 8px #0008}
.public-book-shelf-all:hover,.public-book-shelf-all:focus-visible{background:#8d621e;outline-color:#fff}
@media(max-width:1550px){.public-book-shelf{margin-left:24px;margin-right:24px}}
@media(max-width:800px){.public-book-shelf{--shelf-floor-shift:15px;margin:0 16px 12px;min-height:225px;aspect-ratio:auto}.public-book-shelf-background{background-size:auto 225px}.public-book-shelf[data-shelf-variant="plant"] .public-book-shelf-background,.public-book-shelf[data-shelf-variant="globe"] .public-book-shelf-background,.public-book-shelf[data-shelf-variant="globe-plant"] .public-book-shelf-background{background-position:right top}.public-book-shelf-stage{inset:12% 6% calc(22% - 34px - var(--shelf-floor-shift))}.public-book-shelf-book{width:35px}.public-book-shelf-category-name{font-size:16px;min-width:80px;min-height:30px;padding:4px 6px}.public-book-shelf[data-shelf-context="home"] .public-book-shelf-category-books,.public-book-shelf[data-shelf-context="home"] .public-book-shelf-category-name{display:none}.public-book-shelf[data-shelf-context="home"] .public-book-shelf-category{width:42px}.public-book-shelf[data-shelf-context="home"] .public-book-shelf-mobile-category{--book-color:#203e50;display:flex;position:relative;align-items:center;justify-content:center;width:42px;height:150px;margin-bottom:34px;padding:8px 3px 10px;border:1px solid #2a2728;border-left-color:#f9ebc688;border-right:3px solid #0c1a25a8;border-radius:4px 6px 3px 3px;color:#fff6df!important;background:linear-gradient(90deg,#ffffff30 0%,transparent 12%,#00000024 84%,#00000069 100%),var(--book-color);box-shadow:2px 1px 5px #0a111584,inset 2px 0 2px #ffffff25;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease;transform-origin:50% 100%;z-index:1}.public-book-shelf[data-shelf-context="home"] .public-book-shelf-category:nth-child(2n) .public-book-shelf-mobile-category{height:166px}.public-book-shelf[data-shelf-context="home"] .public-book-shelf-category:nth-child(3n) .public-book-shelf-mobile-category{height:158px}.public-book-shelf-mobile-category-1{--book-color:#d6b885!important;color:#172437!important;border-color:#8c704a!important}.public-book-shelf-mobile-category-2{--book-color:#683d35!important}.public-book-shelf-mobile-category-3{--book-color:#173149!important}.public-book-shelf-mobile-category-4{--book-color:#435849!important}.public-book-shelf-mobile-category-5{--book-color:#e3d2ae!important;color:#172437!important;border-color:#9e8e6d!important}.public-book-shelf-mobile-category:before,.public-book-shelf-mobile-category:after{content:"";position:absolute;left:6px;right:8px;height:1px;background:#d1a761aa}.public-book-shelf-mobile-category:before{top:15px}.public-book-shelf-mobile-category:after{bottom:21px}.public-book-shelf-mobile-category-title{writing-mode:vertical-rl;transform:rotate(180deg);display:block;max-height:115px;overflow:hidden;overflow-wrap:anywhere;text-align:center;font:600 12px/1.15 Georgia,serif;text-shadow:0 1px 1px #0007}.public-book-shelf-mobile-category:is(:hover,:focus-visible){z-index:3;transform:perspective(450px) translateZ(30px);box-shadow:14px 12px 22px #0a1115ba,inset 2px 0 2px #ffffff48}.public-book-shelf-mobile-category:focus-visible{outline:2px solid #fff7de;outline-offset:2px}}
@media(max-width:800px){.public-book-shelf:is([data-shelf-variant="empty-home"],[data-shelf-variant="empty-cabinet"]) .public-book-shelf-background{background-image:url('/assets/book-shelf/shelf.png');background-size:auto 225px;background-position:center top}.public-book-shelf:is([data-shelf-variant="empty-home"],[data-shelf-variant="empty-cabinet"]) .public-book-shelf-background::after{content:"";position:absolute;inset:0;background-repeat:no-repeat;pointer-events:none}.public-book-shelf[data-shelf-variant="empty-home"] .public-book-shelf-background::after{background-image:url('/assets/book-shelf/plant-left.png'),url('/assets/book-shelf/globe.png'),url('/assets/book-shelf/plant-right.png');background-size:160px 160px,125px 125px,160px 160px;background-position:-20px 133px,50% 100px,100% 133px}.public-book-shelf[data-shelf-variant="empty-cabinet"] .public-book-shelf-background::after{background-image:url('/assets/book-shelf/plant-left.png'),url('/assets/book-shelf/plant-right.png');background-size:160px 160px,160px 160px;background-position:-20px 133px,100% 133px}}
@media(max-width:800px){.public-book-shelf:is([data-shelf-variant="plant"],[data-shelf-variant="globe-plant"]) .public-book-shelf-background{background-size:auto 100%}}
@media(max-width:800px){.public-book-shelf[data-shelf-variant="globe-plant"] .public-book-shelf-background{height:100%;background-image:url('/assets/book-shelf/shelf.png');background-size:auto 225px;background-position:center top}}
@media(prefers-reduced-motion:reduce){.public-book-shelf-book,.public-book-shelf-mobile-category{transition:none}.public-book-shelf-book:hover,.public-book-shelf-book:focus-visible,.public-book-shelf-mobile-category:hover,.public-book-shelf-mobile-category:focus-visible{transform:none}}
