.editor-main .editor-footer { gap:8px; flex-wrap:wrap; padding:8px 12px; }
.editor-footer-controls { display:flex; align-items:center; gap:8px; margin-left:auto; }
.editor-mode-bar { display:flex; align-items:center; gap:0; border:1px solid #cbd5e1; border-radius:6px; overflow:hidden; }
.editor-mode-bar button,.editor-preview-size button { padding:5px 10px; border:0; background:transparent; color:#475569; font:inherit; font-size:12px; cursor:pointer; }
.editor-mode-bar button + button { border-left:1px solid #cbd5e1; }
.editor-mode-bar button.active,.editor-preview-size button.active { background:#3f4c8f; color:white; }
.editor-mode-bar button:focus-visible,.editor-preview-size button:focus-visible { outline:2px solid #3f4c8f; outline-offset:-3px; }
.editor-preview-size { display:flex; justify-content:flex-end; gap:6px; margin-bottom:10px; }
.editor-preview-size button { border:1px solid #cbd5e1; border-radius:5px; background:white; }
.editor-main .editor-paste-option.active { background:#f0f5ff; border:1px solid #e1e9f7; color:#56698a; }
.editor-main .editor-paste-option { width:auto; height:24px; box-sizing:border-box; padding:2px 7px; white-space:nowrap; font-size:12px; }
.editor-main fieldset.editor-toolbar { margin:0; min-width:0; min-height:38px; box-sizing:border-box; padding:5px 8px; gap:2px; flex-wrap:nowrap; overflow-x:auto; border:0; border-bottom:1px solid #e2e8f0; }
.editor-main .editor-toolbar > .toolbar-group { flex-shrink:0; gap:2px; }
.editor-main .editor-toolbar .toolbar-btn:not(.editor-paste-option) { width:28px; height:28px; }
.editor-main .editor-toolbar .toolbar-separator { flex-shrink:0; height:20px; margin:0 2px; }
.editor-main .editor-toolbar .toolbar-font-size { width:48px; height:26px; box-sizing:border-box; padding:2px 3px; font-size:12px; }
.editor-main .editor-toolbar .color-picker-dropdown { position:fixed; z-index:1000; box-sizing:border-box; max-height:60vh; overflow-y:auto; }
.editor-main fieldset:disabled { opacity:.45; }
.editor-structure-tools select { width:72px; height:26px; box-sizing:border-box; font-size:12px; padding:2px 3px; border:1px solid #cbd5e1; border-radius:5px; background:white; }
.editor-structure-tools select[aria-label="문단 스타일"] { width:66px; }
.editor-structure-tools .toolbar-btn { width:auto; padding:5px 7px; white-space:nowrap; font-size:12px; }
.editor-custom-color { display:flex; align-items:center; gap:6px; padding:8px; border-bottom:1px solid #e2e8f0; margin-bottom:8px; }
.editor-custom-color input[type=color] { width:32px; height:30px; padding:0; border:0; background:none; cursor:pointer; }
.editor-custom-color input[type=text] { width:84px; padding:4px; border:1px solid #cbd5e1; border-radius:4px; font:12px monospace; }
.editor-custom-color button { padding:4px 6px; font-size:12px; border:1px solid #cbd5e1; border-radius:4px; background:white; white-space:nowrap; }
.editor-html-pane { padding:12px; }
.editor-html-pane p { font-size:12px; color:#64748b; margin:6px 0 10px; }
.editor-html-pane textarea { display:block; width:100%; box-sizing:border-box; min-height:420px; resize:vertical; border:1px solid #cbd5e1; border-radius:6px; padding:14px; font:13px/1.7 Consolas,monospace; background:#f8fafc; color:#0f172a; tab-size:2; }
.editor-preview-pane { padding:16px; background:#e8edf4; }
.editor-preview-pane iframe { display:block; width:100%; height:600px; border:0; background:white; margin:auto; border-radius:6px; }
.editor-preview-pane.is-mobile iframe { max-width:390px; }
.editor-content h2 { font-size:1.5em; font-weight:700; margin:1em 0 .5em; }
.editor-content h3 { font-size:1.25em; font-weight:700; margin:1em 0 .5em; }
.editor-content ul,.editor-content ol { padding-left:1.6em; margin:.5em 0; }
.editor-content ul { list-style:disc; } .editor-content ol { list-style:decimal; }
.editor-content blockquote { border-left:3px solid #cbd5e1; padding-left:12px; color:#475569; margin:12px 0; }
.editor-content table { border-collapse:collapse; max-width:100%; }
.editor-content table[style*="table-layout"] th,.editor-content table[style*="table-layout"] td { overflow-wrap:anywhere; }
.editor-table-backdrop { position:fixed; inset:0; z-index:1100; background:rgba(15,23,42,.3); display:flex; align-items:center; justify-content:center; padding:12px; }
.editor-table-panel { width:560px; max-width:100%; max-height:85vh; overflow:auto; box-sizing:border-box; padding:18px; background:#fff; color:#18243b; border:1px solid #cbd5e1; border-radius:10px; box-shadow:0 12px 40px #0f172a33; font-size:13px; }
.editor-table-heading,.editor-table-bottom { display:flex; align-items:center; gap:8px; justify-content:space-between; }
.editor-table-heading { margin-bottom:14px; font-size:16px; }
.editor-table-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin-bottom:14px; }
.editor-table-fields label { display:grid; grid-template-columns:minmax(0,1fr) 100px; align-items:center; gap:6px; min-width:0; white-space:nowrap; text-align:right; }
.editor-table-fields input:not([type=checkbox]),.editor-table-fields select { width:100px; min-width:0; height:30px; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:4px; padding:3px 6px; background:white; color:#18243b; }
.editor-table-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border-top:1px solid #e2e8f0; padding:12px 0; }
.editor-table-panel button { border:1px solid #cbd5e1; background:#fff; border-radius:5px; padding:6px 8px; cursor:pointer; color:inherit; }
.editor-table-panel button:hover { background:#f1f5f9; }
.editor-table-bottom { justify-content:flex-end; }
.editor-table-bottom .editor-table-delete { color:#b91c1c; margin-right:auto; }
.editor-table-bottom .editor-table-apply { background:#3f4c8f; color:white; }
.editor-table-panel :focus-visible { outline:2px solid #3f4c8f; outline-offset:2px; }
.editor-table-preview { margin:0 0 14px; border:1px solid #e2e8f0; border-radius:6px; overflow:hidden; }
.editor-table-preview-heading { padding:6px 10px; background:#f8fafc; color:#64748b; font-size:12px; }
.editor-table-preview-content { display:block; width:100%; min-height:120px; max-height:220px; overflow:auto; padding:8px; box-sizing:border-box; background:#fff; color:#18243b; font:13px/1.5 sans-serif; }
.editor-table-preview-content table { display:table; margin:0; border-collapse:collapse; max-width:100%; }
.editor-table-preview-content th,.editor-table-preview-content td { overflow-wrap:anywhere; white-space:pre-wrap; }
.editor-pane { position:relative; }
.editor-table-resizers { position:absolute; pointer-events:none; z-index:5; outline:1px solid #93b4e8; }
.editor-table-resizers[hidden] { display:none; }
.editor-table-resize-handle { position:absolute; border:0; padding:0; margin:0; background:transparent; pointer-events:auto; touch-action:none; }
.editor-table-resize-handle.is-column,.editor-table-resize-handle.is-width { top:0; height:100%; width:8px; transform:translateX(-50%); cursor:col-resize; }
.editor-table-resize-handle.is-row { left:0; width:100%; height:8px; transform:translateY(-50%); cursor:row-resize; }
.editor-table-resize-handle:hover,.editor-table-resize-handle:focus-visible { background:#3b82f655; outline:none; }
.editor-table-resize-handle.is-corner { right:-6px; bottom:-6px; width:12px; height:12px; border:1px solid #fff; border-radius:2px; background:#3f4c8f; cursor:nwse-resize; z-index:2; }
.editor-table-resizers.is-resizing { user-select:none; }
.editor-table-context-menu { position:fixed; z-index:120001; min-width:130px; padding:4px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#18243b; box-shadow:0 6px 20px #0f172a26; }
.editor-table-context-menu button { display:block; width:100%; border:0; border-radius:4px; padding:8px 12px; background:#fff; color:#b91c1c; text-align:left; font:13px/1.5 sans-serif; cursor:pointer; }
.editor-table-context-menu button:hover,.editor-table-context-menu button:focus-visible { background:#f1f5f9; outline:2px solid #3f4c8f; outline-offset:-2px; }
@media(max-width:540px) { .editor-table-fields { grid-template-columns:1fr; gap:8px; } .editor-table-fields label { grid-template-columns:minmax(0,1fr) 48%; } .editor-table-fields input:not([type=checkbox]),.editor-table-fields select { width:100%; } }
.editor-content .image-wrapper[data-range-selected="true"]::before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:rgba(59,130,246,.32);
    box-shadow:inset 0 0 0 2px rgba(37,99,235,.7);
    pointer-events:none;
    z-index:1;
}
.editor-content th,.editor-content td { border:1px solid #cbd5e1; padding:6px 10px; }
@media(max-width:500px) { .editor-preview-pane { padding:8px; } .editor-main .editor-stats { gap:8px; } }
