/* 特别出演 V12.17 · 手机读书辅助，不影响原来的 3D 场景或编辑器。 */
.v1217-actionbar{display:flex;justify-content:center;gap:8px;pointer-events:auto}
.v1217-actionbar button,.v1217-toc-dialog button,.v1217-zoom-controls button{font:inherit;cursor:pointer;color:#f2e2c9;border:1px solid rgba(224,192,147,.38);background:rgba(29,25,25,.88);border-radius:999px}
.v1217-actionbar button{font-size:12px;letter-spacing:.045em;min-height:34px;padding:6px 14px;backdrop-filter:blur(8px)}
.v1217-actionbar button:hover,.v1217-actionbar button:focus-visible{border-color:#e1bd85}
.v1217-resume[hidden],.v1217-toc[hidden],#v1217-show-ui[hidden]{display:none!important}
.v1217-resume{position:fixed;z-index:70;top:calc(80px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);min-width:250px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 11px 9px 16px;border-radius:24px;border:1px solid #c5a67d88;background:#252022ed;color:#f5e7d3;box-shadow:0 8px 34px #0006;font-size:12px;backdrop-filter:blur(12px)}
.v1217-resume span{white-space:nowrap}.v1217-resume button{cursor:pointer;font:inherit;border-radius:30px;border:1px solid #b58d5b;background:#d5b586;color:#271f20;padding:7px 10px;white-space:nowrap}
.v1217-resume #v1217-resume-dismiss{background:transparent;border:0;color:#f5e7d3;font-size:19px;padding:0 3px}
#v1217-show-ui{position:fixed;z-index:75;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#282225dd;color:#f8e9d5;padding:10px 15px;font-size:12px;font-family:inherit;border:1px solid #bca077;border-radius:24px;cursor:pointer;backdrop-filter:blur(8px)}
body.v1217-immersive .top,body.v1217-immersive .dock,body.v1217-immersive .sa-music-controls{opacity:0;pointer-events:none!important;visibility:hidden}
body.v1217-immersive .top *,body.v1217-immersive .dock *,body.v1217-immersive .sa-music-controls *{pointer-events:none!important}
.v1217-toc{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box;color:#f2e6d6}
.v1217-toc-backdrop{position:absolute;inset:0;background:#100e12df;backdrop-filter:blur(9px)}
.v1217-toc-dialog{position:relative;display:flex;flex-direction:column;width:min(920px,100%);max-height:100%;background:#241f22;border:1px solid #8f796099;border-radius:18px;box-shadow:0 25px 100px #0009;overflow:hidden}
.v1217-toc-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 13px;border-bottom:1px solid #ffffff20}
.v1217-toc-dialog h2{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:0 0 5px}
.v1217-toc-dialog p{color:#bcb0a3;margin:0;font-size:12px}
.v1217-toc-dialog #v1217-toc-close{width:39px;height:39px;flex:0 0 39px}
.v1217-toc-grid{min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px;padding:20px;scrollbar-color:#8b775e transparent}
.v1217-toc-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px!important;border-radius:12px!important;background:#302a2b!important;color:#e9ded1!important;border:1px solid #635450!important;box-sizing:border-box;min-width:0}
.v1217-toc-card[aria-current="page"]{border-color:#dfb978!important;box-shadow:0 0 0 2px #dfb97840}
.v1217-toc-card:focus-visible,.v1217-toc-dialog button:focus-visible,#v1217-show-ui:focus-visible{outline:2px solid #f0d1a3;outline-offset:2px}
.v1217-toc-image{display:block;width:100%;aspect-ratio:880/1180;background:linear-gradient(145deg,#756661,#2c2527);border-radius:4px;overflow:hidden;box-shadow:0 5px 12px #0006}
.v1217-toc-image img{display:block;width:100%;height:100%;object-fit:cover}
.v1217-toc-card>span:last-child{font-size:12px}
.v1217-toc-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #ffffff20;font-size:12px;color:#c4b49e}
.v1217-toc-dialog footer button{padding:8px 14px}
body.v1217-toc-open{overflow:hidden}
.v1217-detail .v12-view-scroll{position:relative;display:block;overflow:hidden;padding:0;touch-action:none;user-select:none;-webkit-user-select:none}
.v1217-detail .v12-view-scroll img{position:absolute;left:50%;top:50%;width:auto;max-width:100%;max-height:100%;height:auto;transform:translate(-50%,-50%);transform-origin:center center;pointer-events:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.v1217-detail .v1217-zoom-controls{position:absolute;z-index:2;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #ffffff32;border-radius:25px;background:#211d1deb;pointer-events:auto;touch-action:manipulation}
.v1217-zoom-controls button{min-width:32px;min-height:32px;font-size:15px}
.v1217-zoom-controls button:last-child{font-size:11px;padding:0 9px}
.v1217-zoom-controls button:disabled{opacity:.4;cursor:default}
.v1217-zoom-controls output{font-size:11px;font-variant-numeric:tabular-nums;min-width:38px;text-align:center}
@media(max-width:740px){
 .v1217-actionbar{gap:6px}.v1217-actionbar button{min-height:31px;font-size:11px;padding:5px 13px}
 .v1217-resume{top:calc(112px + env(safe-area-inset-top,0px));font-size:11px}
 .v1217-toc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px}
 .v1217-toc-dialog header{padding:13px 15px}.v1217-toc-dialog h2{font-size:18px}
 .v1217-toc-dialog footer{padding:10px 12px}
 .v1217-detail .v12-view-head{min-height:44px}
 .v1217-detail .v12-view-scroll img{max-width:100%;max-height:100%}
}
@media(max-height:520px) and (orientation:landscape){.v1217-actionbar button{min-height:26px;padding:4px 11px}.v1217-resume{top:64px}.v1217-toc-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}}
@media(prefers-reduced-motion:reduce){.v1217-detail .v12-view-scroll img{transition:none}}

/* V12.17.1 — keep the contents/immersive buttons BELOW the book and navigation. */
.v1217-actionbar{
 position:fixed;left:50%;bottom:calc(8px + env(safe-area-inset-bottom,0px));
 transform:translateX(-50%);z-index:30;white-space:nowrap;
 max-width:calc(100vw - 20px);
}
.dock{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
@media(max-width:740px),(pointer:coarse){
 body.v121-mobile .dock{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
 .v1217-actionbar{bottom:calc(7px + env(safe-area-inset-bottom,0px))}
}
@media(max-height:520px) and (orientation:landscape){
 .dock,body.v121-mobile .dock{padding-bottom:calc(45px + env(safe-area-inset-bottom,0px))}
 .v1217-actionbar{bottom:calc(3px + env(safe-area-inset-bottom,0px))}
}
