.viewer-shell .canvas-host canvas{touch-action:none}.viewer-shell .viewer-error,.viewer-shell .viewer-loading{z-index:30;flex-direction:column;gap:12px;text-align:center;line-height:1.5;padding:24px}.viewer-shell .viewer-error strong,.viewer-shell .viewer-loading strong{font-size:14px;font-weight:550}.viewer-shell .viewer-loading>svg{width:23px;height:23px}.viewer-shell .viewer-load-detail{font-size:12px;color:#687369;max-width:290px}.viewer-shell .viewer-loading progress{width:min(240px,80%);height:5px;accent-color:#66795b}.viewer-shell .viewer-error{inset:0;background:#f0f1eef5;color:#465344;border-radius:0}.viewer-shell .viewer-error>span{max-width:360px;font-size:13px}.viewer-shell .viewer-retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:4px;padding:10px 17px;border:1px solid #bdc7b8;border-radius:7px;background:white;color:#394a32;font-size:13px}.viewer-shell .view-controls,.viewer-shell .viewer-tools{z-index:5}.viewer-shell button:focus-visible{outline:2px solid #4e6741;outline-offset:3px}.viewer-shell button:disabled{opacity:.4;cursor:default}@media (max-width:760px),(pointer:coarse){.viewer-shell .viewer-top{top:10px;left:10px;right:10px}.viewer-shell .live-label{font-size:9px;letter-spacing:.6px;padding:6px 8px}.viewer-shell .view-badge{font-size:11px;padding:6px 8px}.viewer-shell .view-controls{left:10px;bottom:10px;transform:none;padding:3px;gap:0}.viewer-shell .view-controls button{min-height:40px;min-width:40px;padding:8px;font-size:11px}.viewer-shell .viewer-tools{right:10px;bottom:10px;flex-direction:row;padding:3px}.viewer-shell .viewer-tools button{width:40px;height:40px;padding:11px}.viewer-shell .orbit-hint,.viewer-shell .viewer-tools button[aria-label="Zoom in"],.viewer-shell .viewer-tools button[aria-label="Zoom out"],.viewer-shell .viewer-tools>span{display:none}.viewer-shell .dimension-strip{left:10px;bottom:64px;gap:5px}.viewer-shell .dimension-strip>span{font-size:10px;padding:3px 5px}}@media (prefers-reduced-motion:reduce){.viewer-shell .spin{animation-duration:2.4s}}