/* DX Froala — 코드 블럭 (에디터·글보기 공통). 그림자 없음.
   디자인: 어두운 창 + 맥 신호등 + 우상단 Copy 버튼. 토큰 색: highlight.js github-dark (BSD-3-Clause) */
html body pre.dxcode{position:relative !important;display:block !important;box-sizing:border-box !important;margin:14px 0 !important;padding:46px 0 6px !important;overflow:hidden !important;background:#212421 !important;color:#e6e8e3 !important;border:0 !important;border-radius:8px !important;box-shadow:none !important;text-align:left}
html body pre.dxcode::before{content:"" !important;display:block !important;position:absolute !important;left:20px !important;top:18px !important;width:62px !important;height:12px !important;box-shadow:none !important;border-radius:0 !important;background:radial-gradient(circle 6px at 6px 6px,#ff5f56 97%,transparent 100%) 0 0/12px 12px no-repeat,radial-gradient(circle 6px at 6px 6px,#ffbd2e 97%,transparent 100%) 20px 0/12px 12px no-repeat,radial-gradient(circle 6px at 6px 6px,#27c93f 97%,transparent 100%) 40px 0/12px 12px no-repeat !important}
html body pre.dxcode::after{content:none !important;display:none !important}
html body pre.dxcode>.dx-copy-btn{display:none !important}
html body pre.dxcode code,html body pre.dxcode code.hljs{display:block !important;box-sizing:border-box !important;margin:0 !important;padding:2px 20px 16px !important;background:transparent !important;color:inherit !important;font-family:"D2Coding",Consolas,"Courier New",Menlo,monospace !important;font-size:13px !important;line-height:1.85 !important;white-space:pre !important;tab-size:4;-moz-tab-size:4;overflow-x:auto !important;border:0 !important;border-radius:0 !important}
.dxcode-h{position:absolute;left:0;right:0;top:0;height:0;margin:0;padding:0;border:0;background:none;overflow:visible;user-select:none}
.dxcode-h>span:first-child{display:none}
.dxcode-c{position:absolute;right:16px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 13px;border:1px solid #3b403b;border-radius:10px;background:#2a2e2a;color:#d9dcd5;font:500 12px/1.2 -apple-system,"Segoe UI","Malgun Gothic",sans-serif;cursor:pointer}
.dxcode-c:hover{background:#353a35;border-color:#4a504a}
.dxcode-c.ok{background:#059669;border-color:#059669;color:#fff}
.dxcode-h>span:nth-child(2):not(.dxcode-c){position:absolute;right:16px;top:14px;font:400 11px/1.2 -apple-system,"Segoe UI","Malgun Gothic",sans-serif;color:#7d837c}
html body pre.dxcode.dxog-sel{outline:2px solid #3b82f6 !important;outline-offset:1px}
html body pre.dxcode.dxcode-pv{margin:0 !important}
/* 토큰 색 (어두운 배경 전용) */
html body pre.dxcode .hljs-doctag,html body pre.dxcode .hljs-keyword,html body pre.dxcode .hljs-meta .hljs-keyword,html body pre.dxcode .hljs-template-tag,html body pre.dxcode .hljs-template-variable,html body pre.dxcode .hljs-type,html body pre.dxcode .hljs-variable.language_{color:#ff7b72}
html body pre.dxcode .hljs-title,html body pre.dxcode .hljs-title.class_,html body pre.dxcode .hljs-title.function_{color:#d2a8ff}
html body pre.dxcode .hljs-attr,html body pre.dxcode .hljs-attribute,html body pre.dxcode .hljs-literal,html body pre.dxcode .hljs-meta,html body pre.dxcode .hljs-number,html body pre.dxcode .hljs-operator,html body pre.dxcode .hljs-variable,html body pre.dxcode .hljs-selector-attr,html body pre.dxcode .hljs-selector-class,html body pre.dxcode .hljs-selector-id{color:#79c0ff}
html body pre.dxcode .hljs-meta .hljs-string,html body pre.dxcode .hljs-regexp,html body pre.dxcode .hljs-string{color:#a5d6ff}
html body pre.dxcode .hljs-built_in,html body pre.dxcode .hljs-symbol{color:#ffa657}
html body pre.dxcode .hljs-code,html body pre.dxcode .hljs-comment,html body pre.dxcode .hljs-formula{color:#8b949e}
html body pre.dxcode .hljs-name,html body pre.dxcode .hljs-quote,html body pre.dxcode .hljs-selector-pseudo,html body pre.dxcode .hljs-selector-tag{color:#7ee787}
html body pre.dxcode .hljs-subst{color:#e6e8e3}
html body pre.dxcode .hljs-section{color:#1f6feb;font-weight:700}
html body pre.dxcode .hljs-bullet{color:#f2cc60}
html body pre.dxcode .hljs-emphasis{font-style:italic}
html body pre.dxcode .hljs-strong{font-weight:700}
html body pre.dxcode .hljs-addition{color:#aff5b4;background:#033a16}
html body pre.dxcode .hljs-deletion{color:#ffdcd7;background:#67060c}

/* ── 코드 블럭 모달 (그림자 없음) ── */
.dxcb-ov{position:fixed;inset:0;z-index:2147483000;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.dxcb-md{width:100%;max-width:760px;max-height:92vh;display:flex;flex-direction:column;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:12px;overflow:hidden;font:14px/1.5 -apple-system,"Segoe UI","Malgun Gothic",sans-serif}
.dxcb-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;font-weight:700;font-size:15px}
.dxcb-x{border:0;background:none;cursor:pointer;font-size:16px;color:#6b7280;padding:4px 8px}
.dxcb-bd{padding:12px 16px;overflow:auto;flex:1}
.dxcb-lb{margin:8px 0 4px;font-size:12px;font-weight:600;color:#374151}
.dxcb-hint{font-weight:400;color:#9ca3af}
.dxcb-ta{display:block;width:100%;box-sizing:border-box;height:220px;resize:vertical;padding:10px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#111827;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;tab-size:4;white-space:pre;overflow:auto}
.dxcb-ta:focus{outline:2px solid #3b82f6;outline-offset:0;background:#fff}
.dxcb-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px}
.dxcb-auto{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:13px}
.dxcb-sel{padding:5px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827;font-size:13px}
.dxcb-sel:disabled{background:#f3f4f6;color:#374151}
.dxcb-badge{font-size:12px;color:#2563eb;font-weight:600}
.dxcb-pv{max-height:200px;overflow:auto;border-radius:8px}
.dxcb-pv .dxcode{margin:0}
.dxcb-empty{padding:18px;text-align:center;color:#9ca3af;font-size:13px;border:1px dashed #d1d5db;border-radius:8px}
.dxcb-ft{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #e5e7eb}
.dxcb-b{padding:7px 18px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:14px;cursor:pointer}
.dxcb-b.pri{background:#2563eb;border-color:#2563eb;color:#fff}
body.dark .dxcb-md,html.dark .dxcb-md{background:#1e293b;color:#e5e7eb;border-color:#334155}
body.dark .dxcb-hd,body.dark .dxcb-ft,html.dark .dxcb-hd,html.dark .dxcb-ft{border-color:#334155}
body.dark .dxcb-ta,html.dark .dxcb-ta{background:#0f172a;color:#e5e7eb;border-color:#334155}
body.dark .dxcb-sel,body.dark .dxcb-b,html.dark .dxcb-sel,html.dark .dxcb-b{background:#0f172a;color:#e5e7eb;border-color:#334155}
body.dark .dxcb-b.pri,html.dark .dxcb-b.pri{background:#2563eb;border-color:#2563eb;color:#fff}
body.dark .dxcb-lb,html.dark .dxcb-lb{color:#cbd5e1}

