/* 보드팩토리 알림 · 확인 · 입력 창 (assets/js/bf-dialog.js) — 브라우저 기본 alert · confirm · prompt 대신 */
.bf-dlg { --g-ink: var(--bfc-ink, var(--bf-color-text, #1f2937)); --g-muted: var(--bfc-muted, var(--bf-color-muted, #6b7280)); --g-line: var(--bfc-line, var(--bf-color-border, #e5e7eb)); --g-bg: var(--bfc-surface, var(--bf-color-bg, #fff)); --g-primary: var(--bfc-primary, var(--bf-color-primary, #3e9fde)); --g-radius: var(--bfc-radius, var(--bf-radius, 12px));
    position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center; padding: 16px; background: rgba(15, 23, 42, .45); font-family: inherit; animation: bf-dlg-fade .12s ease-out; }
.bf-dlg__box { width: min(420px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 24px 22px 18px; border-radius: var(--g-radius); background: var(--g-bg); color: var(--g-ink); box-shadow: 0 20px 50px rgba(0, 0, 0, .22); animation: bf-dlg-pop .14s ease-out; }
.bf-dlg__icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 12px; border-radius: 50%; background: color-mix(in srgb, var(--g-primary) 14%, transparent); color: var(--g-primary); }
.bf-dlg__icon svg { width: 22px; height: 22px; }
.bf-dlg.is-confirm .bf-dlg__icon { background: color-mix(in srgb, #f59e0b 16%, transparent); color: #d97706; }
.bf-dlg__msg { margin: 0; font-size: 15px; line-height: 1.65; white-space: pre-wrap; word-break: keep-all; overflow-wrap: anywhere; }
.bf-dlg__input { display: block; width: 100%; height: 42px; margin-top: 14px; padding: 0 12px; border: 1px solid var(--g-line); border-radius: calc(var(--g-radius) - 4px); background: var(--g-bg); color: var(--g-ink); font: inherit; font-size: 15px; box-sizing: border-box; }
.bf-dlg__input:focus { outline: 2px solid color-mix(in srgb, var(--g-primary) 40%, transparent); border-color: var(--g-primary); }
.bf-dlg__btns { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.bf-dlg__btn { min-width: 76px; height: 40px; padding: 0 16px; border: 1px solid var(--g-line); border-radius: calc(var(--g-radius) - 4px); background: var(--g-bg); color: var(--g-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.bf-dlg__btn:hover { border-color: var(--g-primary); color: var(--g-primary); }
.bf-dlg__btn.is-primary { border-color: var(--g-primary); background: var(--g-primary); color: #fff; }
.bf-dlg__btn.is-primary:hover { filter: brightness(1.06); color: #fff; }
.bf-dlg__btn:focus-visible { outline: 2px solid var(--g-primary); outline-offset: 2px; }
@keyframes bf-dlg-fade { from { opacity: 0; } }
@keyframes bf-dlg-pop { from { opacity: 0; transform: translateY(6px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .bf-dlg, .bf-dlg__box { animation: none; } }
@media (max-width: 480px) { .bf-dlg { align-items: end; } .bf-dlg__btns .bf-dlg__btn { flex: 1; } }
