*{box-sizing:border-box}body,html{background:#0b0c0f;color:#fff;font-family:system-ui,Noto Sans JP,sans-serif;height:100%;margin:0}.toolbar{align-items:center;backdrop-filter:blur(8px);background:rgba(20,22,27,.95);display:flex;justify-content:center;left:0;padding:6px 8px;position:fixed;right:0;top:0;z-index:100}.toolbar-left,.toolbar-right{display:flex;gap:4px}.toolbar button{background:#1b1f27;border:1px solid hsla(0,0%,100%,.06);border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px;transition:background .2s,border-color .2s}.toolbar button:hover{background:#2a2f3a;border-color:hsla(0,0%,100%,.12)}.toc-btn{align-items:center;background:transparent!important;border:none!important;color:#d2d8e6;display:flex;justify-content:center;padding:8px!important}.toc-btn:hover{background:hsla(0,0%,100%,.05)!important;color:#fff}.stage{bottom:0;left:0;position:fixed;right:0;top:0}.book,.stage{align-items:center;display:flex;justify-content:center;padding:0}.book{background:transparent;border-radius:0;box-shadow:none;overflow:visible;position:relative}.center{color:#d2d8e6;font-weight:600}.center,footer{text-align:center}footer{background:rgba(11,12,15,.8);bottom:0;color:#9aa3b2;left:0;padding:4px;position:fixed;right:0;z-index:100}#flipbook{margin:0 auto;overflow:visible;transition:transform .35s ease}#flipbook,.page{align-items:center;display:flex;justify-content:center}.page{background:#0b0c0f;overflow:hidden}.page,.page img{height:100%;width:100%}.page img{display:block;object-fit:contain}button:focus{outline:none}.stf__item--left,.stf__item.--left{margin-right:-3px}.stf__item--right,.stf__item.--right{margin-left:-3px}.stf__item,.stf__page,.stf__wrapper{box-shadow:none!important}#flipbook.no-corner-hover .stf__wrapper{pointer-events:none}#flipbook.no-corner-hover .stf__wrapper .stf__item{pointer-events:auto}.stf__wrapper{margin:0 auto}.toc-overlay{background:transparent;bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;transition:background .3s ease;z-index:200}.toc-overlay.active{background:rgba(0,0,0,.6);pointer-events:auto}.toc-panel{background:linear-gradient(180deg,#1a1d24,#13151a);border-radius:0 0 16px 16px;box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.05);display:flex;flex-direction:column;left:50%;max-height:70vh;overflow:hidden;position:absolute;top:0;transform:translateX(-50%) translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1);width:min(600px,90vw)}.toc-overlay.active .toc-panel{transform:translateX(-50%) translateY(0)}.toc-header{background:hsla(0,0%,100%,.02);border-bottom:1px solid hsla(0,0%,100%,.08);padding:12px 20px}.toc-close,.toc-header{align-items:center;display:flex;justify-content:center}.toc-close{background:hsla(0,0%,100%,.05);border:none;border-radius:8px;color:#9aa3b2;cursor:pointer;height:40px;transition:background .2s,color .2s;width:40px}.toc-close:hover{background:hsla(0,0%,100%,.1);color:#fff}.toc-content{flex:1;overflow-y:auto;padding:8px}.toc-content::-webkit-scrollbar{width:6px}.toc-content::-webkit-scrollbar-track{background:transparent}.toc-content::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:3px}.toc-content::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}.toc-item{align-items:center;background:hsla(0,0%,100%,.02);border:1px solid transparent;border-radius:10px;color:#d2d8e6;cursor:pointer;display:flex;margin:4px 0;padding:14px 16px;transition:all .2s ease}.toc-item:hover{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.1);transform:translateX(4px)}.toc-item:active{transform:translateX(4px) scale(.98)}.toc-item-title{flex:1;font-size:15px;font-weight:500}.toc-group{margin-top:12px}.toc-group:first-child{margin-top:0}.toc-group-title{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.08em;padding:8px 16px 4px;text-transform:uppercase}.toc-item.current{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.3)}.toc-footer{background:hsla(0,0%,100%,.02);border-top:1px solid hsla(0,0%,100%,.08);padding:12px 16px}.pdf-download-btn{align-items:center;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);border-radius:10px;color:#a5b4fc;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;text-decoration:none;transition:all .2s ease;width:100%}.pdf-download-btn:hover{background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.5);color:#c7d2fe}@media (max-width:600px){.toolbar{padding:4px 6px}.toolbar button{font-size:13px;padding:5px 8px}footer{padding:2px}.toc-panel{border-radius:0 0 12px 12px;max-height:60vh;width:100%}.toc-header{padding:12px 16px}.toc-item{padding:12px 14px}.toc-item-title{font-size:14px}}