.dsdk-engine{position:relative;line-height:1.5;font-family:var( --dsdk-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" );font-feature-settings:var(--dsdk-font-feature-settings, normal);font-variation-settings:var(--dsdk-font-variation-settings, normal)}.dsdk-engine .dsdk-controls-hud-root{position:absolute;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;background:var(--dsdk-controls-hud-bg, rgba(0, 0, 0, .35));color:var(--dsdk-controls-hud-fg, rgba(255, 255, 255, .85));font-family:inherit;line-height:1;user-select:none;-webkit-user-select:none;touch-action:none;transition:opacity .1s ease-out;pointer-events:auto}.dsdk-engine .dsdk-controls-hud-root[data-suppressed=true]{opacity:.4;pointer-events:none}.dsdk-engine .dsdk-controls-hud-root[data-touch-active=true] .dsdk-controls-hud-grid,.dsdk-engine .dsdk-controls-hud-root[data-touch-active=true] .dsdk-controls-hud-mouse-hint,.dsdk-engine .dsdk-controls-hud-touch-hint{display:none}.dsdk-engine .dsdk-controls-hud-root[data-touch-active=true] .dsdk-controls-hud-touch-hint{display:flex;align-items:stretch;gap:8px}.dsdk-engine .dsdk-controls-hud-header{display:flex;align-items:baseline;gap:8px}.dsdk-engine .dsdk-controls-hud-toggle-btn{margin-left:auto;align-self:center}.dsdk-engine .dsdk-controls-hud-mode-switch{display:inline-flex;border:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25));border-radius:4px;overflow:hidden;flex:none}.dsdk-engine .dsdk-controls-hud-mode-btn{appearance:none;-webkit-appearance:none;font:inherit;font-size:var(--dsdk-controls-hud-mode-btn-font-size, 12px);color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));background:transparent;border:0;padding:4px 10px;cursor:pointer;box-sizing:border-box;line-height:1;opacity:.65;transition:background .08s ease-out,opacity .08s ease-out}.dsdk-engine .dsdk-controls-hud-mode-btn+.dsdk-controls-hud-mode-btn{border-left:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25))}.dsdk-engine .dsdk-controls-hud-mode-btn:hover{opacity:1;background:var(--dsdk-controls-hud-key-hover-bg, rgba(255, 255, 255, .18))}.dsdk-engine .dsdk-controls-hud-mode-btn:focus{outline:none}.dsdk-engine .dsdk-controls-hud-mode-btn[data-active=true]{opacity:1;background:var(--dsdk-controls-hud-key-pressed-bg, rgba(70, 130, 220, .85));color:var(--dsdk-controls-hud-fg, rgba(255, 255, 255, .95));cursor:default}.dsdk-engine .dsdk-controls-hud-input-switch{display:none;align-items:center;gap:6px;padding:0 2px;font-size:var(--dsdk-controls-hud-caption-font-size, 10px);opacity:.7}.dsdk-engine .dsdk-controls-hud-input-switch[data-visible=true]{display:flex}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-input-switch{display:none}.dsdk-engine .dsdk-controls-hud-input-switch-label{color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));opacity:.75;flex:none}.dsdk-engine .dsdk-controls-hud-input-btn{appearance:none;-webkit-appearance:none;font:inherit;font-size:inherit;color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));background:transparent;border:0;padding:0 2px;cursor:pointer;box-sizing:border-box;line-height:1;opacity:.7;border-bottom:1px solid transparent;transition:opacity .08s ease-out,border-color .08s ease-out}.dsdk-engine .dsdk-controls-hud-input-btn:hover{opacity:1}.dsdk-engine .dsdk-controls-hud-input-btn[data-active=true]{opacity:1;border-bottom-color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));cursor:default}.dsdk-engine .dsdk-controls-hud-input-btn:focus{outline:none}.dsdk-engine .dsdk-controls-hud-toggle-btn{appearance:none;-webkit-appearance:none;color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));background:var(--dsdk-controls-hud-key-bg, rgba(255, 255, 255, .12));border:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25));border-radius:4px;cursor:pointer;box-sizing:border-box;padding:0;flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .08s ease-out,background .08s ease-out}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-toggle-btn{background:transparent;border:0;width:28px;height:28px;opacity:.65}.dsdk-engine .dsdk-controls-hud-toggle-btn:hover{opacity:1;background:var(--dsdk-controls-hud-key-hover-bg, rgba(255, 255, 255, .18))}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-toggle-btn:hover{background:transparent}.dsdk-engine .dsdk-controls-hud-toggle-btn:focus,.dsdk-engine .dsdk-controls-hud-toggle-btn:active{outline:none;background:transparent}.dsdk-engine .dsdk-controls-hud-toggle-btn:before{content:"";display:block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transition:transform .12s ease-out}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=false] .dsdk-controls-hud-toggle-btn:before{transform:translateY(-1px) rotate(45deg)}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-toggle-btn:before{transform:translateY(1px) rotate(-135deg)}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true]{padding:4px;border-radius:6px;--dsdk-controls-hud-mode-btn-font-size: 14px}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-mode-btn{padding:6px 14px}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-header{gap:0}.dsdk-engine .dsdk-controls-hud-root[data-collapsed=true] .dsdk-controls-hud-body{display:none}.dsdk-engine .dsdk-controls-hud-body{display:flex;align-items:stretch;gap:8px}.dsdk-engine .dsdk-controls-hud-grid{display:grid;gap:4px;justify-content:start;flex:none;grid-template-columns:repeat(3,56px)}.dsdk-engine .dsdk-controls-hud-mouse-hint{display:flex;align-items:stretch;pointer-events:none}.dsdk-engine .dsdk-controls-hud-mouse{flex:1 1 auto;width:68px;display:flex;flex-direction:column;border:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25));border-radius:34px 34px 8px 8px;background:var(--dsdk-controls-hud-key-bg, rgba(255, 255, 255, .08));overflow:hidden;box-sizing:border-box}.dsdk-engine .dsdk-controls-hud-mouse-top{display:flex;flex:0 0 45%;border-bottom:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25))}.dsdk-engine .dsdk-controls-hud-mouse-btn{flex:1 1 50%;background:transparent;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-size:var(--dsdk-controls-hud-mouse-label-font-size, 8px);letter-spacing:.01em;line-height:1;color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:clip;transition:background .08s ease-out,opacity .08s ease-out}.dsdk-engine .dsdk-controls-hud-mouse-lmb{border-right:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25))}.dsdk-engine .dsdk-controls-hud-mouse-btn[data-pressed=true]{background:var(--dsdk-controls-hud-key-pressed-bg, rgba(70, 130, 220, .85));opacity:1}.dsdk-engine .dsdk-controls-hud-mouse-body{flex:1 1 auto}.dsdk-engine .dsdk-controls-hud-key{appearance:none;-webkit-appearance:none;font:inherit;color:var(--dsdk-controls-hud-key-fg, rgba(255, 255, 255, .85));background:var(--dsdk-controls-hud-key-bg, rgba(255, 255, 255, .12));border:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .25));border-radius:4px;min-width:32px;min-height:32px;padding:4px 6px;cursor:pointer;transition:background .08s ease-out,transform .06s ease-out,border-color .08s ease-out;position:relative;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.dsdk-engine .dsdk-controls-hud-key-label{font-size:var(--dsdk-controls-hud-key-label-font-size, 14px);font-weight:500;line-height:1}.dsdk-engine .dsdk-controls-hud-key-caption{font-size:var(--dsdk-controls-hud-caption-font-size, 10px);opacity:.65;line-height:1;white-space:nowrap}.dsdk-engine .dsdk-controls-hud-key:hover{background:var(--dsdk-controls-hud-key-hover-bg, rgba(255, 255, 255, .18))}.dsdk-engine .dsdk-controls-hud-key[data-pressed=true]{background:var(--dsdk-controls-hud-key-pressed-bg, rgba(70, 130, 220, .85));border-color:var(--dsdk-controls-hud-key-pressed-border, rgba(70, 130, 220, .95));transform:translateY(1px)}.dsdk-engine .dsdk-controls-hud-key[data-latched=true]:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--dsdk-controls-hud-latch-color, rgba(255, 255, 255, .9))}.dsdk-engine .dsdk-controls-hud-key[data-role=toggle]{background:var(--dsdk-controls-hud-toggle-bg, rgba(255, 200, 100, .18));border-color:var(--dsdk-controls-hud-toggle-border, rgba(255, 200, 100, .35))}.dsdk-engine .dsdk-controls-hud-key[data-role=toggle][data-pressed=true]{background:var(--dsdk-controls-hud-toggle-pressed-bg, rgba(255, 200, 100, .6));border-color:var(--dsdk-controls-hud-toggle-pressed-border, rgba(255, 200, 100, .95))}.dsdk-engine .dsdk-controls-hud-touch-screen{position:relative;flex:none;height:113px;border:1px solid var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .35));border-radius:4px;background:var(--dsdk-controls-hud-key-bg, rgba(255, 255, 255, .08));box-sizing:border-box;overflow:hidden;pointer-events:none}.dsdk-engine .dsdk-controls-hud-touch-screen[data-screen=primary]{width:176px}.dsdk-engine .dsdk-controls-hud-touch-screen[data-screen=secondary]{width:68px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:6px 4px;gap:8px}.dsdk-engine .dsdk-controls-hud-touch-divider{position:absolute;top:8px;bottom:8px;left:50%;width:0;border-left:1px dashed var(--dsdk-controls-hud-key-border, rgba(255, 255, 255, .3))}.dsdk-engine .dsdk-controls-hud-touch-finger{position:absolute;top:50%;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px;transform:translate(-50%,-50%)}.dsdk-engine .dsdk-controls-hud-touch-finger[data-position=left]{left:25%}.dsdk-engine .dsdk-controls-hud-touch-finger[data-position=right]{left:75%}.dsdk-engine .dsdk-controls-hud-touch-finger[data-position=center]{left:50%}.dsdk-engine .dsdk-controls-hud-touch-finger-dot{width:14px;height:14px;border-radius:50%;background:var(--dsdk-controls-hud-key-pressed-bg, rgba(70, 130, 220, .85));border:1px solid var(--dsdk-controls-hud-key-pressed-border, rgba(70, 130, 220, .95));box-shadow:0 0 0 4px #4682dc40}.dsdk-engine .dsdk-controls-hud-touch-finger-label{font-size:var(--dsdk-controls-hud-caption-font-size, 10px);line-height:1;opacity:.85;white-space:nowrap}.dsdk-engine .dsdk-controls-hud-touch-gesture{display:flex;flex-direction:column;align-items:center;gap:4px}.dsdk-engine .dsdk-controls-hud-touch-gesture[data-gesture=two-finger]{padding-top:12px}.dsdk-engine .dsdk-controls-hud-touch-gesture-icon{display:flex;align-items:center;gap:6px}.dsdk-engine .dsdk-controls-hud-touch-gesture[data-gesture=pinch] .dsdk-controls-hud-touch-gesture-icon{gap:2px}.dsdk-engine .dsdk-controls-hud-touch-pinch-arrows{font-size:var(--dsdk-controls-hud-caption-font-size, 10px);line-height:1;opacity:.8}.dsdk-engine .dsdk-controls-hud-touch-gesture-label{font-size:var(--dsdk-controls-hud-caption-font-size, 10px);line-height:1;opacity:.75;white-space:nowrap}.dsdk-engine .dsdk-joystick-container{position:absolute;touch-action:none;pointer-events:none;user-select:none;-webkit-user-select:none}.dsdk-engine .dsdk-joystick-container.dsdk-is-hidden{opacity:0;pointer-events:none}.dsdk-engine .dsdk-joystick-base{position:absolute;border-radius:50%;background:var(--dsdk-joystick-base-color, rgba(255, 255, 255, .2));border:2px solid var(--dsdk-joystick-base-border, rgba(255, 255, 255, .4));box-sizing:border-box;display:flex;align-items:center;justify-content:center}.dsdk-engine .dsdk-joystick-knob{position:absolute;border-radius:50%;background:var(--dsdk-joystick-knob-color, rgba(255, 255, 255, .5));transition:background .1s;box-sizing:border-box}.dsdk-engine .dsdk-joystick-knob.dsdk-is-active{background:var(--dsdk-joystick-knob-active-color, rgba(100, 150, 255, .7))}.dsdk-engine .dsdk-poi-layer{position:absolute;inset:0;pointer-events:none;font-family:inherit;-webkit-user-select:none;user-select:none;transition:opacity .3s ease,visibility .3s ease}.dsdk-engine .dsdk-poi-layer.dsdk-is-layer-hidden{opacity:0;visibility:hidden}.dsdk-engine .dsdk-poi-layer.dsdk-is-layer-hidden .dsdk-poi-marker{pointer-events:none}.dsdk-engine .dsdk-poi-marker{outline:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;position:absolute;transform:translate3d(-9999px,-9999px,0);width:20px;height:20px;will-change:transform;cursor:pointer;opacity:1;pointer-events:auto;touch-action:none;-webkit-touch-callout:none}.dsdk-engine .dsdk-poi-marker.dsdk-is-hidden{opacity:0;visibility:hidden}.dsdk-engine .dsdk-poi-marker.dsdk-is-occluded{opacity:.5;visibility:visible}.dsdk-engine .dsdk-poi-marker__dot{position:absolute;top:50%;left:50%;margin:-2px;display:block;width:4px;height:4px;border-radius:50%;background:#fdfdfd;box-shadow:0 0 0 1px var(--dsdk-poi-border, rgba(38, 38, 38, .8)),0 0 0 4px var(--dsdk-poi-border-accent, rgba(38, 38, 38, .4))}.dsdk-engine .dsdk-poi-marker.dsdk-is-selected .dsdk-poi-marker__dot{background:#262626;box-shadow:0 0 0 1px var(--dsdk-poi-border, rgba(253, 253, 253, .8)),0 0 0 4px var(--dsdk-poi-border-accent, rgba(253, 253, 253, .4))}.dsdk-engine .dsdk-poi-marker__label{position:absolute;top:50%;left:100%;padding:4px 8px;color:#fff;font-family:inherit;font-weight:500;font-size:14px;line-height:20px;margin:-14px 4px;border-radius:10px;background:var(--dsdk-poi-label-bg, rgba(38, 38, 38, .5));box-shadow:0 0 0 1px var(--dsdk-poi-border, rgba(38, 38, 38, .8)),0 0 0 4px var(--dsdk-poi-border-accent, rgba(38, 38, 38, .4));white-space:nowrap}.dsdk-engine .dsdk-poi-marker.dsdk-is-selected .dsdk-poi-marker__label{background:#262626;box-shadow:0 0 0 1px var(--dsdk-poi-border, rgba(253, 253, 253, .8)),0 0 0 4px var(--dsdk-poi-border-accent, rgba(253, 253, 253, .4))}.dsdk-engine .dsdk-poi-marker.dsdk-is-right .dsdk-poi-marker__label{left:auto;right:100%}.dsdk-engine .dsdk-poi-layer.dsdk-is-dragging .dsdk-poi-marker{pointer-events:none}.dsdk-engine.dsdk-is-transforming .dsdk-poi-marker{pointer-events:none;cursor:inherit}.dsdk-engine .dsdk-poi-layer.dsdk-is-interaction-disabled .dsdk-poi-marker{pointer-events:none;cursor:default}
