:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;width:100%;overflow:hidden}body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#121212;color:#fff;touch-action:manipulation;user-select:none;-webkit-user-select:none;overscroll-behavior:none}#root{height:100%;width:100%;overflow:hidden}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:active{transform:scale(.98)}input,textarea,button,select,a{-webkit-tap-highlight-color:transparent}.vr-mode *{user-select:none;-webkit-user-select:none}@supports (padding: max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}@media (orientation: landscape){body.vr-mode{touch-action:none}}#root{max-width:100%;width:100%;height:100%;margin:0;padding:0;text-align:center;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:#121212;color:#fff;position:relative}.app-container.vr-mode{background-color:#000}.camera-wrapper{position:relative;width:100%;height:60vh;background-color:#000;overflow:hidden}.camera-container{position:relative;width:100%;height:100%;background-color:#000;overflow:hidden}.camera-canvas{width:100%;height:100%;object-fit:cover}.processed-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5}.camera-permission-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10;transition:opacity .3s ease}.camera-permission-overlay.hidden{opacity:0;pointer-events:none}.camera-permission-message{padding:1.5rem;background-color:#1e1e1e;border-radius:8px;max-width:80%;text-align:center}.camera-permission-message p{margin:.5rem 0;font-size:1rem}.toggle-settings-btn{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;background-color:#00000080;border-radius:50%;color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.3);cursor:pointer;z-index:20}.toggle-settings-btn:hover{background-color:#000000b3}.floating-controls{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;gap:.5rem;width:auto}.enter-vr-button{background-color:#3d5afe;color:#fff;border:none;border-radius:2rem;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;box-shadow:0 4px 8px #0000004d;cursor:pointer}.enter-vr-button:hover{background-color:#5870fe}.vr-view{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;z-index:100;background-color:#000}.eye-view{flex:1;height:100%;box-sizing:border-box}.left-eye{border-right:1px solid #333}.right-eye{border-left:1px solid #333}.eye-canvas{width:100%;height:100%}.settings-wrapper{padding:1rem;background-color:#1e1e1e;flex:1;overflow-y:auto;max-height:40vh;transition:all .3s ease}.settings-panel{max-width:600px;margin:0 auto}.setting-group{margin-bottom:1.5rem;padding:1rem;background-color:#2a2a2a;border-radius:8px}h2{font-size:1.5rem;margin-top:0;margin-bottom:1.5rem;text-align:center}h3{font-size:1.2rem;margin-top:0;margin-bottom:1rem;color:#bbb}.file-uploader{margin-bottom:1rem}.upload-button{background-color:#3d5afe;color:#fff;border:none;border-radius:4px;padding:.6rem 1rem;font-size:.9rem;cursor:pointer;width:100%;margin-bottom:.5rem}.upload-button:hover{background-color:#5870fe}.file-name{font-size:.8rem;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.5rem}.tolerance-slider,.ipd-slider{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}input[type=range]{width:100%;accent-color:#3d5afe}.color-presets{display:flex;gap:.5rem;margin-bottom:1rem}.color-preset-button{width:2rem;height:2rem;border-radius:4px;cursor:pointer}.color-picker{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}input[type=color]{width:3rem;height:2rem;border:none;border-radius:4px;cursor:pointer}.vr-mode-toggle{width:100%;background-color:#ff5722;color:#fff;border:none;border-radius:4px;padding:.8rem;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:.5rem}.vr-mode-toggle:hover{background-color:#ff7043}.vr-mode-toggle.active{background-color:#d84315}.vr-floating-controls{position:fixed;bottom:1rem;right:1rem;z-index:200;display:flex;flex-direction:column;gap:.5rem}.exit-vr-button{background-color:#ff3b30cc;color:#fff;border:none;border-radius:4px;padding:.6rem 1rem;font-size:.9rem;cursor:pointer}.exit-vr-button:hover{background-color:#ff3b30}.hidden{display:none!important}@media (max-height: 500px) and (orientation: landscape){.settings-wrapper{padding:.5rem}.setting-group{margin-bottom:.5rem;padding:.5rem}h2{font-size:1.2rem;margin-bottom:.5rem}h3{font-size:1rem;margin-bottom:.5rem}}@media (max-width: 767px) and (orientation: portrait){.camera-wrapper{height:50vh}.settings-wrapper{max-height:50vh}.toggle-settings-btn{top:.5rem;right:.5rem;width:2rem;height:2rem;font-size:1rem}}@supports (-webkit-touch-callout: none){.app-container{height:-webkit-fill-available}html,body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}}
