:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#f4f4f4;background:#101010;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{min-width:280px}button{font:inherit;-webkit-tap-highlight-color:transparent}::selection{color:#101010;background:#fff}
#stage{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden;background:#101010}
.viewer-shell{display:grid;gap:12px;width:100%;min-width:0;max-width:1600px}.caption{display:flex;align-items:baseline;gap:8px;min-width:0}.version{color:#858585;font-size:11px}h1{margin:0;font-size:14px;line-height:1.6;font-weight:500;letter-spacing:.01em;color:#e9e9e9}
.image-frame{position:relative;width:100%;aspect-ratio:var(--frame-ratio,2);overflow:hidden;background:#171717;border-radius:3px}#panorama{width:100%;height:100%;background:#171717;touch-action:none}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.instructions{min-width:0}.hint,.browser-hint{margin:0;color:#c4c4c4;font-size:12px;line-height:1.7}.browser-hint{color:#929292;font-size:11px}.mobile-hint{display:none}
.controls{display:flex;gap:2px;padding:3px;border-radius:5px;background:#242424;flex-shrink:0}.controls button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:3px;color:#f5f5f5;background:transparent;cursor:pointer;touch-action:manipulation}.controls .auto-button{width:92px;font-size:12px;white-space:nowrap}.controls .auto-button[aria-pressed="true"]{background:#454545}
.controls button:hover{background:#454545}.controls button:active{background:#626262}.controls button:disabled{color:#969696;cursor:default;background:transparent}.controls svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid #fff;outline-offset:3px}#panorama:focus-visible{outline-offset:-4px}.status{position:absolute;top:50%;left:50%;z-index:4;max-width:calc(100% - 32px);margin:0;padding:12px 16px;border-radius:4px;background:rgba(18,18,18,.94);color:#fff;font-size:13px;line-height:1.7;text-align:center;transform:translate(-50%,-50%);pointer-events:none}
[hidden]{display:none!important}.no-script{position:fixed;top:45%;left:10%;right:10%;z-index:5;text-align:center}.pnlm-container{font-family:inherit;background:#171717}.pnlm-load-box,.pnlm-error-msg{display:none!important}
@media(max-width:680px){#stage{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.viewer-shell{gap:10px}h1{font-size:13px}.toolbar{flex-direction:column;gap:10px}.instructions{text-align:center}.hint{font-size:11px}.wide-hint{display:none}.mobile-hint{display:inline}}
@media(max-width:340px){.controls button{width:40px;height:44px;padding:9px}.controls .auto-button{width:84px}.browser-hint{font-size:10px}}
@media(max-height:480px) and (min-width:541px){#stage{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.viewer-shell{gap:6px}h1{font-size:12px}.hint{font-size:11px}.controls button{height:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
