/* Share my location (locate.js): the composer's pin. Lit in ink, like the
 * dictation mic, when the next message carries the person's location: that
 * is the indicator. While a position is read it breathes. Tokens only. */
.composer-options .locate-pin { min-width: 32px; color: var(--sv-ink-tertiary); }
.composer-options .locate-pin:hover { color: var(--sv-ink); }
.composer-options .locate-pin.on,
.composer-options .locate-pin.on:hover { color: var(--sv-surface-raised, #fff); background: var(--sv-emphasis-surface); border-radius: 999px; }
.composer-options .locate-pin.busy > .icon { animation: locate-read 1.2s ease-in-out infinite; }
@keyframes locate-read { 50% { opacity: 0.4; } }
@media (prefers-reduced-motion: reduce) {
  .composer-options .locate-pin.busy > .icon { animation: none; }
}
@media (max-width: 760px), (hover: none) and (pointer: coarse) {
  .composer-options .locate-pin { min-width: 44px; min-height: 44px; }
  .composer-options .locate-pin:not(.on) { color: var(--sv-ink); }
  .composer-options .locate-pin > .icon { width: 22px; height: 22px; stroke-width: 2.25; }
}
