.interaction-bar button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 55%,transparent)}
.touch-guide{position:absolute;top:6px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:20px;max-width:95%;white-space:nowrap;pointer-events:none;font-size:10px;line-height:1.4;letter-spacing:.3px;background:var(--ui-glass);color:var(--ink);z-index:4;box-shadow:0 2px 12px rgb(43 33 42 / .06)}
.touch-halo{position:absolute;width:30px;height:30px;left:var(--touch-x);top:var(--touch-y);transform:translate(-50%,-50%);border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-soft) 40%,transparent);background:color-mix(in srgb,var(--accent-soft) 25%,transparent);pointer-events:none;z-index:5;opacity:0;transition:opacity .2s,box-shadow .2s}
.viewer.is-touching .touch-halo{opacity:.85}
.viewer[data-touch-mode=pet],.viewer[data-touch-mode=squeeze]{cursor:pointer}
.viewer[data-touch-mode=rock]{cursor:grab}
.viewer[data-touch-mode=rock].is-touching{cursor:grabbing}
.reaction-bubble{font-size:11px;padding:7px 12px;box-shadow:0 3px 12px rgb(43 33 42 / .1)}
@media(max-width:700px){.touch-guide{font-size:8px;padding:6px 9px;top:0}.touch-halo{width:24px;height:24px}.interaction-bar button{font-size:10px}.viewer-hint{display:none}}
@media(prefers-reduced-motion:reduce){.touch-halo{transition:none}}

.ground-shadow{transform:translate(calc(-50% + var(--motion-x,0px)),-50%) scale(var(--motion-shadow-scale,1));opacity:var(--motion-shadow-opacity,1)}
