.qol-dialog { box-sizing:border-box; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 24px); overflow:auto; margin:auto; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--surface); color:var(--text); box-shadow:var(--shadow-3,var(--shadow)); font-size:16px; }
.qol-dialog::backdrop { background:rgba(0,0,0,.55); }
.qol-dialog h2 { margin:0 0 16px; font-size:var(--fs-title-sm,20px); }
.qol-dialog p { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 0 20px; }
.qol-dialog label { display:block; font-size:inherit; color:var(--text); }
.qol-dialog input { display:block; width:100%; min-height:44px; margin-top:8px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); font-size:inherit; }
.qol-dialog-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:20px; }
.qol-dialog-actions .btn { min-width:80px; min-height:var(--h-lg,52px); font-size:inherit; }
.qol-dialog .qol-dialog-danger { background:var(--bad); color:#fff; border-color:var(--bad); }
.tv-mode .qol-dialog { font-size:20px; }
.toast [data-toast-action] { min-height:44px; margin-left:12px; padding:6px 12px; color:inherit; background:transparent; border:1px solid currentColor; border-radius:12px; font:inherit; }
@media(max-height:420px) { .qol-dialog { padding:16px; } .qol-dialog-actions { margin-top:12px; } }
/* 시스템 테마 및 명시적 테마 선택. 토큰은 대화상자에만 한정한다. */
[data-theme="dark"] .qol-dialog { --surface:#182033; --surface-2:#242d42; --text:#f1f4f9; --muted:#b9c3d6; --line:#39445a; color-scheme:dark; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) .qol-dialog { --surface:#182033; --surface-2:#242d42; --text:#f1f4f9; --muted:#b9c3d6; --line:#39445a; color-scheme:dark; } }

/* 확대 노트의 알림은 헤더·설정 위가 아닌 하단 도구 바로 위에 놓는다. */
#figureDialog > .toast { top:auto; bottom:80px; left:50%; max-width:calc(100vw - 32px); white-space:normal; overflow:visible; z-index:50; }
