:root{font-family:system-ui,Avenir,Helvetica,Arial,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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid rgba(100,108,255,.25);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{max-width:1200px;margin:0 auto;padding:0}.header-section{padding:2rem 2rem 1rem}.tagline-handwritten{font-family:Pacifico,cursive;font-size:2rem;color:#b7410e;margin:1rem 0 .5rem;text-align:center}.tagline-blockchain{font-size:1rem;color:#666;margin-bottom:1.5rem;text-align:center;font-weight:500;letter-spacing:.5px}.left-column{flex:1;display:flex;flex-direction:column;gap:.5rem}.carousel-wrapper{flex:1;display:flex;align-items:stretch;padding:1rem;background-color:#fff5f0;border:2px solid #b7410e;border-radius:8px}.carousel-wrapper .carousel{width:100%;margin:0;display:flex;flex-direction:column;justify-content:center;background:transparent;box-shadow:none;border:none;padding:1rem}.header-section{text-align:center}.status{padding:1rem;background-color:#f0f0f0;border-radius:8px;font-weight:500;margin-bottom:2rem;transition:opacity 1s ease-out;opacity:1}.status-fade-out{opacity:0;pointer-events:none}.main-layout{display:flex;flex-direction:row;align-items:stretch;gap:2rem;padding:0 2rem 2rem}.scene-section{flex:2;background-color:#1a1a1a;border-radius:8px;overflow:hidden;position:relative;height:400px;min-height:40vh;max-height:60vh}.webcam-section{border:2px solid #b7410e;border-radius:8px 8px 0 0;padding:1rem;background-color:#fff5f0;text-align:center}#debug-info{position:absolute;top:10px;left:10px;background:#000000b3;color:#fff;padding:10px;font-family:monospace;font-size:12px;border-radius:5px;max-width:300px;z-index:10}#webcam{width:100%;max-width:640px;border-radius:8px}@media (max-width: 768px){.top-banner{font-size:.75rem;padding:.5rem 1rem;gap:.5rem}.header-section{padding:1rem}.tagline-handwritten{font-size:1.5rem}.tagline-blockchain{font-size:.875rem}.header-section{padding:1rem;margin-bottom:0}.main-layout{flex-direction:column;height:calc(100vh - 120px);gap:0;padding:0}.left-column{order:2;flex:none;height:50vh}.carousel-wrapper{border-radius:0;border:none;border-top:2px solid #b7410e}.scene-section{order:1;flex:none;width:100%;height:50vh;min-height:auto;max-height:none;border-radius:0}.webcam-section{flex:none;width:100%;border:none;border-radius:0;padding:0;background-color:transparent;margin-top:0}.webcam-section .status{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;z-index:10;margin-bottom:0}.webcam-section button{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10;padding:12px 24px;font-size:1rem;border-radius:50px;min-width:140px}.webcam-section .videoView{width:100%;height:100%;position:relative}.webcam-section video,.webcam-section canvas{width:100%!important;height:100%!important;object-fit:cover;border-radius:0}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.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}
