function UnsavePlaceConfirm({ name, onCancel, onConfirm }) {
  const ro = (w) => { const c = (w || '').charCodeAt((w || '').length - 1) - 44032; return (c >= 0 && c < 11172 && c % 28 !== 0) ? '을' : '를'; };
  return (
    <div onClick={onCancel} style={{ position: 'fixed', inset: 0, background: 'rgba(20,20,20,.42)', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 32, zIndex: 70 }}>
      <div onClick={ev => ev.stopPropagation()} style={{ background: 'var(--surface-1)', borderRadius: 'var(--radius-card)', padding: 26, textAlign: 'center', boxShadow: 'var(--shadow-float)', maxWidth: 300 }}>
        <div style={{ width: 60, height: 60, borderRadius: '50%', background: 'var(--surface-2)', display: 'flex', alignItems: 'center', justifyContent: 'center', margin: '0 auto 16px' }}><i className="ti ti-bookmark-off" style={{ fontSize: 26, color: 'var(--text-secondary)' }}></i></div>
        <span style={{ font: 'var(--text-heading)', display: 'block', marginBottom: 8 }}>찜을 해제할까요?</span>
        <p style={{ font: 'var(--text-caption)', color: 'var(--text-secondary)', margin: '0 0 18px', lineHeight: 1.6 }}>{name ? <React.Fragment><b style={{ color: 'var(--text-primary)' }}>{name}</b>{ro(name)} 찜 목록에서 빼요.</React.Fragment> : '이 가게를 찜 목록에서 빼요.'}<br />가게 상세에서 다시 찜할 수 있어요.</p>
        <div style={{ display: 'flex', gap: 8 }}>
          <button onClick={onCancel} style={{ flex: 1, padding: '15px 0', font: '600 15px/1 var(--font-family)', border: '1px solid var(--border-strong)', background: 'var(--surface-1)', color: 'var(--text-primary)', borderRadius: 999, cursor: 'pointer' }}>그대로 두기</button>
          <button onClick={onConfirm} style={{ flex: 1, padding: '15px 0', font: '600 15px/1 var(--font-family)', border: 'none', background: 'var(--bg-ink)', color: '#fff', borderRadius: 999, cursor: 'pointer' }}>해제하기</button>
        </div>
      </div>
    </div>
  );
}
window.UnsavePlaceConfirm = UnsavePlaceConfirm;
