/* 경매 판매 알림(sold_toast.js). 움직임 = EFZ obj_auction_sale_toast Draw_64 값 그대로: 들어옴 250 ms(위 → 자리, 3차 감속, 가운데 1.04 튐) · 머묾 5 s · 흐려짐 350 ms ·
   빛 고리 맥박(sin 0.011/ms ≈ 571 ms 주기, 알파 .13~.18 · 반지름 +2) · 불티 6개 700 ms(60° 간격 · 돌며 27 → 40 · 흐려짐) · 칸 튐 400 ms 1.16 → 1 · 동전 둘 560 ms 떠오름.
   판 = 하이랜드 작은 팝업 결(어두운 판 + 1px 금선 #c8aa6e — hq-ui §3 10-24), 크기 = GUI 450 작은 창 값(설정 창 줄 34 · 단추 28 → 판 높이 54 · 칸 38, EFZ 64 · 42 의 0.85배).
   색: 제목 = 금선 색 · 받은 골드 = 경매장 판매 완료 표 초록(#7fd88a, 14-auction .au-tag.k-sold) · 이름 = 등급색(.au-name.gr-*) */
#ui .au-sold { position: absolute; z-index: 45; left: 50%; top: 12px; width: min(340px, calc(100% - 20px)); height: 54px; display: flex; align-items: center; gap: 10px; padding: 0 14px 0 9px;
  border-radius: 12px; background: rgba(13, 15, 19, .92); box-shadow: inset 0 0 0 1px rgba(200, 170, 110, .55), 2px 5px 0 rgba(0, 0, 0, .28); pointer-events: none;
  transform: translate(-50%, var(--sy, 0px)); transition: transform .35s cubic-bezier(.2, .7, .3, 1), opacity .35s linear; animation: au-sold-in .25s linear both; }
#ui .au-sold.out { opacity: 0; }
@keyframes au-sold-in {   /* 1 - (1-t)^3 로 위(-60) → 자리, 크기 1 + sin(πt)·.04 */
  0% { opacity: 0; translate: 0 -60px; scale: 1; } 25% { opacity: .58; translate: 0 -25px; scale: 1.028; } 50% { opacity: .88; translate: 0 -7.5px; scale: 1.04; }
  75% { opacity: .98; translate: 0 -1px; scale: 1.028; } 100% { opacity: 1; translate: 0 0; scale: 1; } }

#ui .au-sold-ic { position: relative; flex: none; display: grid; place-items: center; width: 42px; height: 42px; }
#ui .au-sold-glow { position: absolute; inset: -3px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 226, 150, .32), rgba(255, 226, 150, .14) 70%, transparent);
  animation: au-sold-pulse .571s ease-in-out infinite alternate; }
@keyframes au-sold-pulse { 0% { opacity: .72; transform: scale(.96); } 100% { opacity: 1; transform: scale(1.04); } }
#ui .au-sold-tile { width: 38px; height: 38px; animation: au-sold-tile .4s ease-out both; }
@keyframes au-sold-tile { 0% { transform: scale(1.16); } 100% { transform: scale(1); } }
#ui .au-sold-sp { position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: #fff3c4; box-shadow: 0 0 4px rgba(255, 226, 150, .9);
  opacity: 0; animation: au-sold-sp .7s linear both; }
@keyframes au-sold-sp {   /* 각 = 60k + 0.12°/ms(700 ms 에 84°) · 거리 22 → 33(EFZ 27 → 40 의 0.85배) */
  0% { opacity: .7; transform: rotate(var(--a)) translateX(22px); } 100% { opacity: 0; transform: rotate(calc(var(--a) + 84deg)) translateX(33px); } }

#ui .au-sold-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#ui .au-sold-tx small { font-size: 10px; font-weight: 700; line-height: 12px; color: #c8aa6e; }
#ui .au-sold-tx .au-name { font-size: 12.5px; line-height: 15px; color: #f3f1e8; }

#ui .au-sold-pay { position: relative; flex: none; display: flex; align-items: center; gap: 5px; }
#ui .au-sold-pay img { width: 17px; height: 17px; object-fit: contain; }
#ui .au-sold-pay b { font-size: 13.5px; font-weight: 900; color: #7fd88a; text-shadow: 0 1px 0 rgba(0, 0, 0, .6); }
#ui .au-sold-c { position: absolute; left: 2px; top: 3px; width: 11px; height: 11px; background: center / contain no-repeat; opacity: 0; animation: au-sold-c .56s linear both; }
#ui .au-sold-c.c1 { --dx: 8px; --dy: -18px; } #ui .au-sold-c.c0 { --dx: -8px; --dy: -14px; }
@keyframes au-sold-c { 0% { opacity: .65; transform: translate(0, 0); } 100% { opacity: 0; transform: translate(var(--dx), var(--dy)); } }
