.explorer-hands{z-index:2;width:var(--hands-width,206px);background:var(--surface-glass);border:1px solid var(--surface-glass-border);box-shadow:var(--surface-glass-shadow);backdrop-filter:blur(var(--surface-glass-blur));color:#171715;pointer-events:none;border-radius:22px;padding:10px;animation:.22s cubic-bezier(.2,.8,.2,1) explorer-hands-in;position:absolute;bottom:64px;right:0}.explorer[data-hands] .explorer-zoom{display:none}.explorer-hands-view{aspect-ratio:3/2;background:#f6f5f21f;border-radius:12px;position:relative;overflow:hidden}.explorer-hands video,.explorer-hands canvas{width:100%;height:100%;position:absolute;inset:0}.explorer-hands video{object-fit:cover;filter:grayscale()contrast(1.05);opacity:.3;transform:scaleX(-1)}.explorer-hands-print{opacity:.9}.explorer-hands-status{text-align:center;text-shadow:0 0 12px #f6f5f2e6;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:12px 14px;font-size:13px;line-height:1.2;transition:opacity .16s;display:flex;position:absolute;inset:0}.explorer-hands[data-state=tracking] .explorer-hands-status{opacity:0}.explorer-hands[data-state=loading] .explorer-hands-status:before{content:"";opacity:.8;border:1.5px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-bottom:4px;animation:.8s linear infinite explorer-hands-spin}.explorer-hands[data-state=error] .explorer-hands-status{font-size:12px}html[data-hands-tracking],html[data-hands-tracking] *{cursor:none!important}.explorer-modes button,.explorer-controls button,.explorer-case-close{transition:background .18s,color .18s,transform .2s cubic-bezier(.2,.8,.2,1)}:is(button,[role=button])[data-hand-hover]{transform:scale(1.24)}:is(.explorer-modes,.explorer-controls) button[data-hand-hover]:not([aria-pressed=true]){background:#1717151f}a[data-hand-hover]{text-underline-offset:3px;text-decoration:underline}.explorer-hand-pointers{--hand-ink:#171715;--hand-halo:#fff9;--hand-fill:#1717151a;z-index:60;pointer-events:none;background:0 0;border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.explorer-hand-pointer{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.explorer-hand-pointer span{top:calc(var(--ring-height,34px) / -2);left:calc(var(--ring-width,34px) / -2);width:var(--ring-width,34px);height:var(--ring-height,34px);border:2px solid var(--hand-ink);border-radius:var(--ring-radius,50%);box-shadow:0 0 0 1px var(--hand-halo), 0 2px 12px #0000002e;transition:transform .14s cubic-bezier(.2,.8,.2,1),background-color .14s,width .16s cubic-bezier(.2,.8,.2,1),height .16s cubic-bezier(.2,.8,.2,1),top .16s cubic-bezier(.2,.8,.2,1),left .16s cubic-bezier(.2,.8,.2,1),border-radius .16s;animation:.18s ease-out explorer-hand-in;position:absolute;transform:scale(.8)}.explorer-hand-pointer[data-hover] span{background:var(--hand-fill);transform:scale(1.28)}.explorer-hand-pointer[data-pinched] span{background:var(--hand-ink);transform:scale(.5)}.explorer-hand-pointer[data-snapped] span{background:0 0;transform:none}.explorer-hand-pointer[data-snapped][data-pinched] span{background:var(--hand-fill);transform:scale(.96)}:root:has(dialog.explorer-case[open]) .explorer-hand-pointers{--hand-ink:#fff;--hand-halo:#00000038;--hand-fill:#ffffff29}:is(button,[role=button])[data-hand-press]{transform:scale(.94)}@keyframes explorer-hands-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes explorer-hand-in{0%{opacity:0;transform:scale(.4)}}@keyframes explorer-hands-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.explorer-hands,.explorer-hand-pointer span{transition:none;animation:none}}.explorer-keyboard{z-index:3;left:calc(24px + env(safe-area-inset-left,0px));right:var(--keyboard-right,24px);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--surface-glass);border:1px solid var(--surface-glass-border);max-width:760px;box-shadow:0 18px 50px #00000047, var(--surface-glass-shadow);backdrop-filter:blur(var(--surface-glass-blur));color:#171715;border-radius:26px;flex-direction:column;gap:9px;margin-inline:auto;padding:16px;transition:opacity .2s,transform .22s cubic-bezier(.4,0,1,1);animation:.28s cubic-bezier(.2,.9,.24,1) explorer-keyboard-in;display:flex;position:absolute}.explorer-keyboard[data-leaving]{opacity:0;pointer-events:none;transform:translateY(22px)scale(.98)}.explorer-keyboard-row{justify-content:center;gap:8px;display:flex}.explorer-keyboard-row button{background:#fffc;border-radius:15px;flex:1 1 0;min-width:0;max-width:68px;height:58px;padding:0;font-size:20px;line-height:1;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s,box-shadow .16s;box-shadow:0 1px #00000024,0 2px 6px #0000000f}.explorer-keyboard-row button:hover{background:#fff}.explorer-keyboard-row button[data-hand-hover]{z-index:1;background:#fff;position:relative;transform:translateY(-3px)scale(1.18);box-shadow:0 8px 20px #0000003d}.explorer-keyboard-row button[data-hand-press]{transform:scale(.94)}.explorer-keyboard-row .explorer-key-wide{flex-grow:1.6;max-width:110px}.explorer-keyboard-row .explorer-key-space{flex-grow:6;max-width:400px;font-size:15px}.explorer-keyboard svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.explorer-keyboard-close{color:#fff;background:#171715;border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .16s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 14px #0000004d}.explorer-keyboard-close[data-hand-hover]{transform:scale(1.22)}@keyframes explorer-keyboard-in{0%{opacity:0;transform:translateY(26px)scale(.98)}}@media (prefers-reduced-motion:reduce){.explorer-keyboard,.explorer-keyboard-row button{transition:none;animation:none}}
