/* One shared visual cue for clickable surfaces. No cue on decorative cards. */
:is(button,a,[role="button"]).tap-relative{position:relative}
:is(button,a,[role="button"]).tap-target{padding-inline-end:42px;cursor:pointer}
.tap-arrow{position:absolute;inset-inline-end:10px;top:50%;translate:0 -50%;display:grid;place-items:center;width:24px;height:24px;border:1px solid #bca6bd;border-radius:50%;background:#f8eff8;color:#68496f;font:700 17px/1 Arial,sans-serif;pointer-events:none;flex-shrink:0;transition:transform .18s,background .18s}
.tap-target:focus-visible{outline:3px solid #79a84e;outline-offset:4px}
@media(hover:hover){.tap-target:hover>.tap-arrow{background:#d9f5a7;transform:translate(1px,-1px)}}
button.primary.tap-target>.tap-arrow{background:#ffffff20;border-color:#ffffff70;color:#fff}

/* The small controls on the cover need a cue without crowding the scene. */
a.brand.tap-target{padding:0 9px 0 0}
.brand>.tap-arrow{inset-inline-end:-1px;top:4px;translate:0 0;width:10px;height:10px;border:0;background:transparent;font-size:11px;color:#8c6c8c}
button.balance.tap-target{padding-inline-end:26px}
.balance>.tap-arrow{inset-inline-end:6px;width:15px;height:15px;border:0;background:#efdfef;font-size:12px}
.compact-home .island-stage .wish-bubble.tap-target{max-width:43%;padding:8px 32px 8px 9px;border-color:#b6c897;box-shadow:0 3px 0 #d4ddbd}
.wish-bubble>.tap-arrow{inset-inline-end:6px;width:21px;height:21px;background:#d6f4a6;border-color:#a8c982;color:#315139;font-size:15px}
button.island-guide.tap-target{min-height:38px;padding:4px 31px 4px 6px;border:1px solid #d4bfd7;border-radius:11px;background:#f2e6f1;box-shadow:0 2px 0 #dfcddd}
.island-guide>.tap-arrow{inset-inline-end:5px;width:21px;height:21px;font-size:15px}
.island-hud{padding-block:7px}

/* Doors and avatars keep the image width; their cue sits by the caption. */
button.lobby-door.tap-target{padding-inline-end:35px}
.lobby-door>.tap-arrow{top:auto;bottom:10px;translate:0 0;inset-inline-end:9px;width:21px;height:21px;font-size:15px}
button.avatar-card.tap-target{padding-inline-end:9px}
.avatar-card>.tap-arrow{top:auto;bottom:12px;translate:0 0;inset-inline-end:12px}
.avatar-card>.avatar-choice-label{padding-inline-end:30px}
button.quiz-answer.tap-target,button.choice.tap-target,button.elena-reply.tap-target,button.client-answer.tap-target{padding-inline-end:42px}
.avatar-gender button.tap-target{padding-inline-end:32px}
.avatar-gender .tap-arrow,.amount-presets .tap-arrow,.trip-count .tap-arrow{width:18px;height:18px;inset-inline-end:7px;font-size:13px}
@media(max-width:720px){button.avatar-card.tap-target{padding-inline-end:6px}.island-hud{gap:7px}.island-guide strong{font-size:12px}.island-guide .guide-dialog-icon{width:22px;min-width:22px}.island-hud .moodlet{font-size:10px}}
@media(max-width:380px){.island-hud{padding-inline:8px}.island-guide strong{font-size:11px}.island-hud .moodlet>b{display:none}}
@media(prefers-reduced-motion:reduce){.tap-arrow{transition:none}}
