/* 내 위치 button (index.html #btn-locate, main.js). Last in the map button row, beside 전체 일정 and 레이어:
   a round icon button of the same glass look. Phones 44px; computers 40px like the row's other buttons,
   whose `.ctl-icon { padding: 0 14px }` would otherwise stretch this one into an oval.
   data-state: off (the row's icon colour) | finding (the icon fades in and out) | on (teal, filled centre). */
#btn-locate {
  flex: none;
  inline-size: var(--tap); block-size: var(--tap);
  min-inline-size: 0; padding: 0;
  border-radius: 50%;
}
#btn-locate svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
#btn-locate .loc-core { fill: none; }
#btn-locate[data-state="finding"] svg { opacity: 0.45; animation: locate-seek 0.9s ease-in-out infinite alternate; }
#btn-locate[data-state="on"] { color: var(--accent); }
#btn-locate[data-state="on"] .loc-core { fill: currentColor; }
@keyframes locate-seek { to { opacity: 1; } }

@container app (min-width: 861px) {
  #btn-locate { inline-size: var(--tap-desk); block-size: var(--tap-desk); min-block-size: var(--tap-desk); padding: 0; }
}

/* The toast's [새 창에서 열기] (Notion embed): a 44px tap area in a toast that stays one line tall. */
.toast .toast-link {
  display: inline-flex; align-items: center;
  min-block-size: var(--tap); margin-block: calc((var(--tap) - 1.4em) / -2);
  padding-inline: 4px;
  color: inherit; font-weight: var(--fw-semi);
  text-decoration: underline; text-underline-offset: 3px;
}
