:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color-scheme:light dark;color:#213547;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sat: env(safe-area-inset-top);--sar: env(safe-area-inset-right);--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left)}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#f3f4f6}}#root,#canvas-container{position:relative;width:100%;height:100%;margin:0;padding:0;overflow:hidden}canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}#vision-debug-text{position:absolute;z-index:20;background-color:#000000b3;color:#fff;padding:15px 10px;border-radius:5px;cursor:"pointer";user-select:text;-webkit-touch-callout:text;-webkit-user-select:text}#vision-debug-text-title{user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;font-weight:700;margin-bottom:8px}#loader-screen{height:100dvh;width:100%;display:flex;justify-content:center;align-items:center;z-index:20}button{border:none}button:focus,button:focus-visible{border:none;outline:none}.scan-button{background-color:#1a1a1a;color:#fff;width:100px;height:100px;position:absolute;font-size:20px;border-radius:50%;opacity:0;transition:opacity .3s ease-in-out;z-index:20}.full-experience-popup{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 10px);left:50%;background-color:#1a1a1a;color:#fff;padding:10px 15px;border-radius:8px;font-size:14px;gap:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translate(-50%) translateY(20px);transition:opacity .4s ease,transform .4s ease;box-shadow:0 4px 12px #0000004d;z-index:20;white-space:nowrap;pointer-events:none}.full-experience-popup.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.full-experience-icon{display:inline-block;vertical-align:middle}.qr-experience-popup{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:50%;background-color:#fbd606;color:#000;padding:10px 15px;border-radius:8px;font-size:14px;gap:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translate(-50%) translateY(-20px);transition:opacity .4s ease,transform .4s ease;box-shadow:0 4px 12px #0000004d;z-index:20;white-space:nowrap;pointer-events:none}.qr-experience-popup.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.same-experience-popup{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 70px);left:50%;background-color:#1a1a1a;color:#fff;padding:10px 15px;border-radius:8px;font-size:14px;gap:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translate(-50%) translateY(20px);transition:opacity .4s ease,transform .4s ease;box-shadow:0 4px 12px #0000004d;z-index:20;white-space:nowrap;pointer-events:none}.same-experience-popup.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:none}.corner{position:absolute;width:17px;height:17px;box-shadow:none}.top-left{top:-10px;left:-10px;border-left:3px solid #FBD606;border-top:3px solid #FBD606;border-top-left-radius:40%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.top-right{top:-10px;right:-10px;border-right:3px solid #FBD606;border-top:3px solid #FBD606;border-top-right-radius:40%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.bottom-left{bottom:-10px;left:-10px;border-left:3px solid #FBD606;border-bottom:3px solid #FBD606;border-bottom-left-radius:40%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.bottom-right{bottom:-10px;right:-10px;border-right:3px solid #FBD606;border-bottom:3px solid #FBD606;border-bottom-right-radius:40%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.watermark-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}.watermark-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/watermark.png);background-repeat:repeat;background-size:35%;opacity:.7}.views-limit-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/views-limit.png);background-repeat:repeat;background-size:50%;opacity:.8}#loader-screen.initialized .scan-button,#loader-screen.preparingCanvas .scan-button{opacity:1;cursor:pointer;animation:pulse 2s infinite}#loader-screen.error .error-circle{opacity:1;transition:opacity .3s ease-in-out}#loader-screen.initialized #spinner,#loader-screen.preparingCanvas #spinner,#loader-screen.error #spinner{opacity:0;transition:opacity .3s ease-in-out}@keyframes pulse{0%{box-shadow:0 0 #000000b3}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}#spinner{width:120px;height:120px;transform:rotate(-90deg);stroke-linecap:round;stroke-width:4;fill:none;position:absolute}.internal-circle,.external-circle{stroke:#1a1a1a;stroke-dashoffset:0;transform-origin:center}.internal-circle{stroke-dasharray:187;animation:internal 2s ease-in-out infinite}.external-circle{stroke-dasharray:312;animation:external 2s linear infinite}@keyframes internal{0%{stroke-dashoffset:187}25%{stroke-dashoffset:80}to{stroke-dashoffset:187;transform:rotate(360deg)}}@keyframes external{0%{stroke-dashoffset:312;transform:rotate(70deg)}60%{stroke-dashoffset:-312}to{stroke-dashoffset:-312;transform:rotate(450deg)}}.error-circle{width:100px;height:100px;background-color:#ff4136;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:14px;text-align:center;padding:10px;box-sizing:border-box;opacity:0}.error-message{word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 600px){.scan-button,.error-circle{width:100px;height:100px}}.gallery{display:flex;height:100vh;background-color:#f3f4f6;margin:0}.info-panel{width:320px;background-color:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;text-align:left;user-select:text;-webkit-touch-callout:text;-webkit-user-select:text}.info-panel-content{flex:1;overflow-y:auto;padding:24px}.info-panel-footer{padding:24px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;background-color:#fff;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.artwork-title{font-size:24px;font-weight:500;color:#1a1a1a;margin-bottom:8px}.artwork-author{font-size:14px;color:#6b7280;margin-bottom:24px}.artwork-description{color:#4b5563;margin-bottom:24px}.step{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.step-header{display:flex;align-items:center;gap:12px}.step-number{width:32px;height:32px;border-radius:50%;background-color:#1a1a1a;color:#f3f4f6;display:flex;align-items:center;justify-content:center}.step-header-text{color:#1a1a1a;font-weight:400}.step-description{color:#6b7280}#qr-code{display:flex;align-items:center;flex-direction:column;max-width:120px}.about-button{width:100%;padding:8px 16px;background-color:#e5e7eb;border:none;border-radius:4px;color:#4b5563;font-size:16px;cursor:pointer}.about-button:hover{background-color:#d1d5db}.example-desktop-img{width:100%;border-radius:8px}.image-grid-container{flex:1;overflow-y:auto;padding:24px}.image-grid{display:flex;flex-direction:column;gap:24px;width:100%;max-width:800px;margin:0 auto}.spacer{height:calc(50vh - 350px);min-height:24px}.image-button{position:relative;width:100%;padding-top:75%;overflow:hidden;border-radius:8px;border:none;cursor:pointer;transition:transform .2s;max-height:600px;background-color:#1a1a1a}.image-button:hover,.image-button:focus,.image-button.selected{transform:scale(1.03)}.image-button:focus{box-shadow:0 0 5px #213547;outline:none;outline-color:unset}.image-button img,.image-button-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}@media (min-width: 2560px){.info-panel{width:500px}.image-grid{max-width:1200px;gap:35px}.image-button{max-height:900px}.spacer{height:calc(50vh - 450px)}}@media (min-width: 3500px){.info-panel{width:750px}.image-grid{max-width:1600px;gap:50px}.image-button{max-height:1200px}.spacer{height:calc(50vh - 650px)}}.error-container{min-height:100vh;display:flex;justify-content:center;align-items:center}.error-content{text-align:center;padding:2rem;max-width:600px}.error-title{font-size:6rem;color:#1a1a1a;margin:0;line-height:1;font-weight:400}.error-message{font-size:1.5rem;color:#1a1a1a;margin:1rem 0 2rem}.error-details{margin-bottom:2rem;text-align:left}.error-details-title{font-size:1.2rem;color:#1a1a1a;margin-bottom:1rem}.error-steps-list{list-style-type:none;padding:0;counter-reset:error-step-counter;display:flex;flex-direction:column}.error-step{color:#1a1a1a;margin-bottom:1rem;font-size:1rem;display:flex;align-items:center}.error-step-number{background-color:#1a1a1a;color:#f3f4f6;width:24px;height:24px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;margin-right:10px;flex-shrink:0;font-size:.875rem}.error-step-non-number{background-color:#1a1a1a;color:#f3f4f6;width:8px;height:8px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;margin-right:10px;flex-shrink:0;font-size:.875rem}.error-button{background-color:#1a1a1a;color:#f3f4f6;border:none;padding:1rem 2rem;border-radius:2rem;font-size:1rem;cursor:pointer;transition:opacity .2s ease}.error-button:hover{opacity:.9}.error-button:focus{outline:none;box-shadow:0 0 0 2px #f3f4f6,0 0 0 4px #1a1a1a}.artwork-drawer{position:absolute;left:0;right:0;bottom:0;background-color:#000000b3;color:#fff;background-image:radial-gradient(circle,#0000001a,#0006);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 12px #0003;transition:transform .3s ease-out,background-color .3s ease-in-out;z-index:15;top:100%;padding-bottom:env(safe-area-inset-bottom)}.artwork-drawer-handler{width:100%;height:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}.artwork-drawer-handler:active{cursor:grabbing}.artwork-drawer-handler-line{width:40px;height:4px;background-color:#5c5c5c;border-radius:4px;margin-top:4px}.artwork-drawer-content{overflow-y:hidden;margin-top:8px}.artwork-image-grid{overflow-x:auto;display:flex;gap:16px;height:100%;align-items:center;padding-left:16px;padding-right:16px}.artwork-image-container{flex:0 0 auto;width:120px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.artwork-drawer-text-caption{margin-top:4px;font-size:14px}.artwork-image{width:100%;max-height:120px;background-color:#1a1a1a;object-fit:contain}#root{text-align:center}
