/* 메뉴: 둥근 바탕 없이 글자만 확대하고 유리빛이 한 번 지나간다. */
html[data-theme="pro"] #app .top nav a { border-radius: 0; background: transparent; transform-origin: center; transition: transform 160ms ease; }
html[data-theme="pro"] #app .top nav a:is(:hover, :focus-visible) { background: transparent; transform: scale(1.08); color: var(--ink); }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  html[data-theme="pro"] #app .top nav a:is(:hover, :focus-visible) {
    background: linear-gradient(110deg, var(--ink) 38%, #8b7952 45%, #e5d4ab 50%, #8b7952 55%, var(--ink) 62%) 100% 50% / 260% 100% no-repeat;
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: yb-nav-glass 650ms ease both;
  }
}
/* 지도 마커의 빛은 버튼 안에서만 흐른다. 지역별 아우라는 별도 레이어 그대로. */
.mk-area { position: relative; overflow: hidden; isolation: isolate; }
.mk-area::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; background: linear-gradient(110deg, transparent 36%, #ffffff24 44%, #ffffffa0 50%, #ffffff24 56%, transparent 64%) 100% 50% / 260% 100% no-repeat; }
.mk-area:is(:hover, :focus-visible)::after { animation: yb-marker-glass 650ms ease both; }
@keyframes yb-nav-glass { from { background-position: 100% 50%; } to { background-position: 0% 50%; } }
@keyframes yb-marker-glass { 0% { opacity: 0; background-position: 100% 50%; } 12%, 85% { opacity: .9; } 100% { opacity: 0; background-position: 0% 50%; } }
/* '신규' 전용 표시. 업무 상태용 검정 배지와 구분하며 사실 판단은 is_new 그대로 둔다. */
html[data-theme="pro"] #app .badge.new-listing { display: inline-flex; align-items: center; gap: 4px; min-height: 0; height: 19px; padding: 0 6px; border: 1px solid #ecb469; border-radius: 5px; background: #ffe7b8; color: #653000; font-size: 11.5px; font-weight: 800; line-height: 1; letter-spacing: 0; box-shadow: none; white-space: nowrap; vertical-align: 1px; }
html[data-theme="pro"] #app .badge.new-listing::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #c35c0a; flex: none; }
@media (prefers-reduced-motion: no-preference) { .badge.new-listing { animation: yb-new-arrive 480ms ease-out both; } }
@keyframes yb-new-arrive { from { box-shadow: 0 0 0 3px #e9a04740; } to { box-shadow: 0 0 0 0 #e9a04700; } }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="pro"] #app .top nav a { transition: none; }
  html[data-theme="pro"] #app .top nav a:is(:hover, :focus-visible) { transform: none; background: transparent; color: var(--ink); animation: none; }
  .mk-area::after, .badge.new-listing { animation: none !important; }
}
