/* HoloDesk V0.4 Smart Gesture: floating-only, raw camera remains unobstructed */
.hand-cursor{--dwell-angle:0deg;--ring:#6bffd8;overflow:visible!important}
.cursor-progress{position:absolute;inset:-7px;border-radius:50%;border:4px solid transparent;
 background:conic-gradient(var(--ring) 0 var(--dwell-angle),transparent var(--dwell-angle) 360deg) border-box;
 mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));pointer-events:none}
.hand-cursor.dwell-active{border-color:#a9ffe5;box-shadow:0 0 18px #5bffd08f}
.hand-cursor.grab-active{border-color:#ffc57a;--ring:#ffcf8b;box-shadow:0 0 18px #ffb476b3}
.workspace .gesture-guide{position:absolute;z-index:31;right:18px;top:73px;width:260px;border:1px solid #80e3d5a6;
 border-radius:10px;padding:10px 11px;background:rgba(6,29,38,.73);backdrop-filter:blur(11px);
 box-shadow:0 8px 30px #0005;color:#e2fff9;pointer-events:auto}
.gesture-guide[hidden],.smart-quick-menu[hidden]{display:none!important}
.gesture-guide-top{display:flex;gap:7px;align-items:center;font:800 10px var(--display)}
.guide-dot{height:8px;width:8px;border-radius:50%;background:#7dffdb;box-shadow:0 0 9px #7dffdb}
#gestureState{margin-left:auto;font:800 8px var(--display);color:#a5e5d8}
.gesture-guide-bottom{display:flex;align-items:center;gap:9px;margin-top:9px}
#gestureAction{flex:1;font:700 10px/1.4 var(--font);color:#c4e3de}
#gestureModeBtn{flex:none;background:#19495a;border:1px solid #65bea9;border-radius:5px;padding:6px 7px;
 font:800 9px var(--display);color:#baffdf}
.workspace .smart-quick-menu{position:absolute;top:130px;left:94px;z-index:32;width:305px;
 background:rgba(4,28,36,.83);backdrop-filter:blur(17px);border:1px solid #74d6caa6;
 border-radius:11px;padding:11px;box-shadow:0 10px 30px #0008;color:#e2fff4}
.quick-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font:800 10px var(--display);letter-spacing:.4px}
.quick-title button{border:0;background:transparent;color:#dbfff0;font:800 17px var(--display);padding:1px 5px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.quick-grid button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;
 min-height:65px;border:1px solid #4b8f8f;border-radius:7px;background:#16414b;color:#acffe4;
 font:800 23px var(--display)}
.quick-grid button:hover,.quick-grid button.gesture-hover{background:#286765;border-color:#aaffdf}
.quick-grid small{font:800 9px var(--display);color:#e1fff4}
.quick-hint{display:block;color:#a4cec5;font:700 9px var(--font);line-height:1.4;margin-top:9px}
.workspace .holo-panel.gesture-dragging{
 left:var(--gesture-left)!important;top:var(--gesture-top)!important;right:auto!important;bottom:auto!important;
 transform:none!important;transition:none!important;z-index:24!important;outline:2px solid #ffd28e;outline-offset:2px}
.workspace .holo-panel.gesture-dragging .panel-header{background:#906537b0!important}
@media(max-width:710px){
 .workspace .gesture-guide{right:8px;top:52px;width:188px;padding:7px 8px}
 .gesture-guide-top{font-size:8px}#gestureState{font-size:7px}
 #gestureAction{font-size:9px}#gestureModeBtn{font-size:8px;padding:5px}
 .workspace .smart-quick-menu{left:57px;top:100px;width:calc(100vw - 67px);max-width:295px}
 .quick-grid button{min-height:56px;font-size:18px}
 .workspace .holo-panel.gesture-dragging{
  top:var(--gesture-top)!important;left:var(--gesture-left)!important;
  right:auto!important;bottom:auto!important;transform:none!important}
}
@media(max-height:610px){
 .workspace .gesture-guide{top:10px;right:198px}
 .workspace .smart-quick-menu{top:66px}
}
@media(prefers-reduced-motion:reduce){.cursor-progress{transition:none}}
/* Preserve the released position; removing the active grab state must not snap to the original CSS layout. */
.workspace .holo-panel.gesture-positioned{
 left:var(--gesture-left)!important;top:var(--gesture-top)!important;
 right:auto!important;bottom:auto!important;transform:none!important;transition:none!important;z-index:23!important}
/* When the gesture palette is open, avoid stacking panels over the camera/menu. */
.workspace.quick-menu-open .holo-panel{visibility:hidden!important}
@media(max-width:710px){.workspace .smart-quick-menu{top:145px}}
