.gesture-test-page{min-height:100vh;background:var(--background);color:var(--foreground);padding:2rem}.gesture-test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.gesture-test-header h1{font-size:2rem;font-weight:700;margin:0}.back-button{padding:.75rem 1.5rem;background:var(--primary);color:var(--primary-foreground);border-radius:8px;text-decoration:none;font-weight:600;transition:opacity .2s}.back-button:hover{opacity:.9}.gesture-test-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;max-width:1400px;margin:0 auto}.camera-container{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:4/3;isolation:isolate;transform-style:preserve-3d}.camera-video{object-fit:cover;z-index:1}.camera-canvas,.camera-video{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform}.camera-canvas{pointer-events:none;z-index:100;opacity:1;transform:translateZ(0)}.error-overlay,.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.8);color:white;z-index:10}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.info-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.info-panel h2{font-size:1.5rem;font-weight:700;margin:0}.info-panel h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.legend{display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-box{width:30px;height:30px;border-radius:4px;border:3px solid}.legend-box.green{border-color:#00ff00;background:rgba(0,255,0,.2)}.legend-box.red{border-color:#ff0000;background:rgba(255,0,0,.2)}.active-keypoints ul,.gestures-list ul,.instructions ul{list-style:none;padding:0;margin:0}.active-keypoints li,.gestures-list li{padding:.5rem;background:rgba(0,255,0,.1);border-left:3px solid #00ff00;margin-bottom:.5rem;border-radius:4px;font-weight:600;color:#00ff00}.instructions li{padding:.5rem;background:var(--muted);margin-bottom:.5rem;border-radius:4px}.no-gestures{color:var(--muted-foreground);font-style:italic}@media (max-width:1024px){.gesture-test-content{grid-template-columns:1fr}}