.bt-entry{display:flex;align-items:center;gap:20px;margin-top:18px;flex-wrap:wrap}
.bt-open,.bt-photo-link{font:inherit;font-size:.78rem;color:var(--ink,#171918);background:transparent;border:0;border-bottom:1px solid #a5aaa4;padding:8px 0;text-decoration:none;cursor:pointer;letter-spacing:.02em}
.bt-open span{margin-left:12px;font-family:Georgia,serif;font-style:italic;color:#6b7069}
.bt-entry-note{font-size:.7rem;color:#747970}
.bt-dialog{position:fixed;inset:0;width:min(1200px,96vw);height:min(860px,94svh);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #e1e0d9;background:#f5f4ef;color:#282b26;box-shadow:0 24px 100px #17191824;overflow:hidden;font-family:var(--font-cn,'Microsoft YaHei',sans-serif)}
.bt-dialog::backdrop{background:#22262082;backdrop-filter:blur(8px)}
.bt-shell{height:100%;display:flex;flex-direction:column}
.bt-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px 14px;flex-shrink:0}
.bt-heading{display:flex;align-items:baseline;gap:14px;font-weight:400;font-size:1rem}
.bt-heading span{font:italic 1.1rem Georgia,serif;color:#777b72}
.bt-close{border:1px solid #d0d3c9;border-radius:50%;width:42px;height:42px;background:transparent;color:#555b50;font-size:24px;cursor:pointer}
.bt-stage{position:relative;flex:1;min-height:120px;overflow:hidden;background:#939092}
.bt-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}
.bt-stage canvas:active{cursor:grabbing}
.bt-stage[data-film-state="playing"] canvas,.bt-stage[data-film-state="playing"] canvas:active{cursor:default}
.bt-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.5}
.bt-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;font-size:.83rem;color:#42483c;background:#f5f4efb8}
.bt-dialog [hidden]{display:none!important}
.bt-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 30px 21px;flex-shrink:0;border-top:1px solid #dedfd6;font-family:inherit;font-size:.7rem;font-weight:400;line-height:1.7;color:#52574e;letter-spacing:.02em}
.bt-guidance p{margin:0;font:inherit;color:inherit;letter-spacing:inherit}
.bt-guidance #bt-instructions{margin-top:5px}
.bt-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}
.bt-net-cue{position:absolute;z-index:1;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fffdf4;transform:translate(-50%,-50%) scale(.85);pointer-events:none}
.bt-cue-dot{position:absolute;inset:17px;border-radius:50%;background:currentColor;box-shadow:0 0 9px #3335}
.bt-cue-text{position:absolute;left:48px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:12px;line-height:1.5;font-weight:400;color:#fff;text-shadow:0 1px 4px #252a2380}
.bt-cue-left .bt-cue-text{left:auto;right:48px}
.bt-net-cue:before,.bt-net-cue:after{content:"";position:absolute;inset:7px;border:1px solid #fffdf4dd;border-radius:50%;box-shadow:0 0 5px #252a2330;animation:bt-net-pulse 2.8s ease-out 3}
.bt-net-cue:after{animation-delay:.7s}
@keyframes bt-net-pulse{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}
.bt-dialog button:disabled{opacity:.45;cursor:wait}
.bt-dialog button:hover:not(:disabled):not(.bt-net-cue){background:#e7e9df}
.bt-dialog :focus-visible,.bt-open:focus-visible{outline:2px solid #6c775f;outline-offset:3px}
.bt-photo-link{font-size:.7rem;white-space:nowrap;color:#5b6551}
.bt-footer .bt-photo-link{font:inherit;color:inherit;letter-spacing:inherit}
.bt-retry{display:block;margin:14px auto 0;padding:8px 15px;border:1px solid #a6ad9b;background:#f5f4ef;cursor:pointer}
@media(max-width:640px){
 .bt-dialog{width:100vw;height:100svh;border:0}
 .bt-header{padding:16px 18px 8px}
 .bt-heading{font-size:.9rem;gap:10px}
 .bt-heading span{font-size:1rem}
 .bt-footer{padding:10px 16px max(16px,env(safe-area-inset-bottom))}
 .bt-footer{align-items:flex-start;gap:10px;flex-wrap:wrap}
 .bt-guidance{flex:1 1 220px}
 .bt-actions{gap:18px}
 .bt-entry-note{width:100%;margin-top:-12px}
}
@media(prefers-reduced-motion:reduce){.bt-dialog *{scroll-behavior:auto!important}.bt-net-cue:before,.bt-net-cue:after{animation:none}.bt-net-cue:after{display:none}}
