*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.qr-button{color:#fff;cursor:pointer;white-space:nowrap;background:#0f7fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .2s}.qr-button:hover{background:#0060cc}.qr-button:active{background:#004999}.qr-modal-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.qr-modal{color:#16213e;text-align:center;background:#fff;border-radius:16px;width:380px;max-width:90vw;padding:2rem;position:relative;box-shadow:0 12px 48px #00000080}.qr-modal-close{color:#888;cursor:pointer;background:0 0;border:none;font-size:1.75rem;line-height:1;position:absolute;top:.5rem;right:.75rem}.qr-modal-close:hover{color:#16213e}.qr-modal-title{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600}.qr-modal-image{width:320px;max-width:100%;height:auto;margin:0 auto;display:block}.qr-modal-loading,.qr-modal-error{color:#666;padding:3rem 0}.qr-modal-error{color:#c0392b}.qr-modal-url{color:#666;word-break:break-all;margin:1.25rem 0 0;font-size:.8rem}.pump-viewer-container{color:#fff;background:#1a1a2e;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.pump-viewer-header{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:900px;margin-bottom:1.5rem;display:flex}.pump-viewer-title{color:#e0e0e0;margin:0;font-size:2rem;font-weight:600}model-viewer{background:#16213e;border-radius:12px;width:100%;max-width:900px;height:600px;box-shadow:0 8px 32px #0006}.ar-button{color:#fff;cursor:pointer;background:#0f7fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .2s;position:absolute;bottom:1rem;right:1rem}.ar-button:hover{background:#0060cc}.ar-button:active{background:#004999}.pump-viewer-caption{color:#888;margin-top:1rem;font-size:.9rem}@media (width<=768px){model-viewer{height:400px}.pump-viewer-title{font-size:1.5rem}.pump-viewer-header{flex-direction:column;align-items:flex-start;gap:.75rem}.pump-viewer-container{padding:1rem}}
