.gesture-panel{border-bottom:1px solid #d5b18424;background:linear-gradient(110deg,#27241d85,#151a19);position:relative;z-index:9}.gesture-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 22px}.gesture-heading{display:flex;align-items:center;gap:10px;min-width:0}.gesture-heading strong{font-size:15px;font-weight:500;white-space:nowrap}.gesture-heading>span:last-child{font-size:13px;color:#959e91}.gesture-orb{width:10px;height:10px;border-radius:50%;background:#6b7266;box-shadow:0 0 0 5px #9eac8b0b;flex-shrink:0}.gesture-panel[data-state=active] .gesture-orb{background:#cfe3a8;box-shadow:0 0 14px #cfe3a870}.gesture-toggle{color:#edc39d;border:1px solid #cfaa7c50;border-radius:6px;padding:8px 13px;font-size:14px;white-space:nowrap;background:#d2ae7910}.gesture-toggle:hover{background:#d2ae7925}.gesture-body{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:0 22px 19px}.gesture-camera{aspect-ratio:4/3;border-radius:10px;position:relative;background:#0b100e;overflow:hidden;border:1px solid #d0dab522;align-self:start}.gesture-camera video,.gesture-camera canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.gesture-camera canvas{pointer-events:none;z-index:1}.gesture-local{position:absolute;bottom:0;left:0;right:0;background:#0c130dbd;color:#c2c9b5;text-align:center;font-size:11px;padding:5px;z-index:2}#gesture-camera-empty{position:absolute;inset:0;display:grid;place-content:center;color:#697766;font-size:13px}.gesture-guide{min-width:0}.gesture-feedback{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:25px}.gesture-feedback strong{font-size:15px;font-weight:500;color:#e7e5d5}.gesture-feedback>span{font:11px/1.5 ui-monospace,monospace;color:#8b9e80;white-space:nowrap}.gesture-meter{height:2px;background:#ffffff0b;margin:7px 0 13px;overflow:hidden}.gesture-meter span{display:block;height:100%;width:0;background:#d4e5ae;transition:width .08s linear}.gesture-moves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.gesture-moves span{font-size:12px;line-height:1.65;color:#909b88}.gesture-moves b{display:block;font-size:13px;font-weight:500;color:#d2d5bc}.gesture-guide p{font-size:12px;color:#8b967f;margin-top:10px;line-height:1.7}.gesture-actions{display:flex;align-items:center;gap:14px;margin-top:9px;flex-wrap:wrap}.gesture-actions button,.gesture-actions a{font-size:13px;color:#dfc79f;padding:3px 0}.gesture-actions>span{font-size:11px;color:#727f6d;margin-left:auto}.gesture-panel[data-state=error] #gesture-status{color:#f0bd96}.gesture-panel[data-state=paused] .gesture-orb{background:#b7a276}.gesture-toggle:focus-visible,.gesture-actions button:focus-visible{outline:2px solid #dfc799;outline-offset:4px}.gesture-panel[data-state=starting] .gesture-orb{background:#d1b07e;animation:gesture-pulse 1.2s ease-in-out infinite}@keyframes gesture-pulse{50%{opacity:.35}}
@media(max-width:1100px){.gesture-heading>span:last-child{display:none}.gesture-body{grid-template-columns:145px minmax(0,1fr);gap:15px}.gesture-moves{grid-template-columns:repeat(2,minmax(0,1fr))}.gesture-feedback{display:block}.gesture-feedback>span{display:block}.gesture-camera{margin-top:3px}}
@media(max-width:700px){.gesture-bar{padding:12px 15px}.gesture-heading strong{font-size:14px}.gesture-toggle{font-size:13px;padding:8px 11px}.gesture-body{padding:0 15px 15px;grid-template-columns:100px minmax(0,1fr);gap:12px}.gesture-feedback strong{font-size:14px}.gesture-moves{gap:8px}.gesture-moves b{font-size:12px}.gesture-moves span{font-size:11px}.gesture-local{font-size:9px;padding:4px 0}.gesture-guide p{font-size:11px}.gesture-actions{gap:12px}.gesture-actions>span{display:none}.gesture-feedback>span{font-size:10px}}
.gesture-panel[data-state=active][data-swipe=return] .gesture-camera::after{content:"";position:absolute;inset:8% 36% 22%;border-left:1px dashed #d5e8ada0;border-right:1px dashed #d5e8ada0;background:#d5e8ad0a;pointer-events:none;z-index:1}
@media(prefers-reduced-motion:reduce){.gesture-meter span{transition:none}.gesture-panel[data-state=starting] .gesture-orb{animation:none}}
