.dbht{
    --dbht-border:var(--dbas-border);
    --dbht-bg:var(--dbas-bg);
    --dbht-soft:var(--dbas-soft);
    --dbht-text:var(--dbas-text);
    --dbht-muted:var(--dbas-muted);
    --dbht-primary:var(--dbas-accent);
    --dbht-danger:#b32d2e;
    --dbht-success:#1f8f4e;
    --dbht-success-dark:#176b3a;
    box-sizing:border-box;
    width:100%;
    color:var(--dbht-text);
    font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.dbht *{box-sizing:border-box}
.dbht__topbar{margin:0 0 10px}
.dbht__main-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:6px;border:1px solid rgba(0,0,0,.08);border-radius:9px;background:rgba(255,255,255,.42)}
.dbht__quick{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 9px;border:1px solid #b7bcc1;border-radius:7px;background:#fff;color:#2c3338;box-shadow:0 1px 1px rgba(0,0,0,.03);cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}
.dbht__quick span{font-size:14px;line-height:1;color:#ff5270}
.dbht__quick:hover{border-color:#8c8f94;background:#f8fbfd;box-shadow:0 2px 6px rgba(0,0,0,.08);transform:translateY(-1px)}
.dbht__quick:focus-visible{outline:2px solid var(--dbht-primary);outline-offset:2px}
.dbht__layout-switch{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:2px;border:1px solid var(--dbht-border);border-radius:7px;background:var(--dbht-soft)}
.dbht__layout-label{padding:0 5px;color:var(--dbht-muted);font-size:12px}
.dbht__layout-btn{min-height:30px;padding:4px 9px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--dbht-text);cursor:pointer;font:inherit;font-size:12px;white-space:nowrap}
.dbht__layout-btn:hover{background:#fff;border-color:#c3c4c7}
.dbht__layout-btn.is-active{border-color:var(--dbht-primary);background:var(--dbht-primary);color:#fff}
.dbht__workspace{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:14px;align-items:stretch;overflow-x:auto}
.dbht__pane{display:flex;min-width:0;height:70vh;max-height:70vh;min-height:360px;flex-direction:column;overflow:hidden;border:1px solid var(--dbht-border);border-radius:10px;background:var(--dbht-bg)}
.dbht__pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--dbht-border);background:var(--dbht-soft)}
.dbht__pane-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.dbht__toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid var(--dbht-border);background:#fff}
.dbht__tool.is-active{border-color:var(--dbht-primary);background:#e8f2fb;color:#135e96;box-shadow:inset 0 0 0 1px var(--dbht-primary)}
.dbht__more{position:relative;display:inline-flex}
.dbht__more-menu{position:absolute;z-index:20;top:calc(100% + 5px);right:0;min-width:190px;padding:5px;border:1px solid #c3c4c7;border-radius:7px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.dbht__more-menu[hidden]{display:none!important}
.dbht__more-menu button{display:block;width:100%;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--dbht-text);text-align:left;font:inherit;cursor:pointer;white-space:nowrap}
.dbht__more-menu button:hover,.dbht__more-menu button.is-active{background:#f0f6fc;color:#135e96}
.dbht__more-sep{display:block;height:1px;margin:4px 2px;background:#dcdcde}
.dbht__btn,.dbht__tool,.dbht__icon-btn,.dbht__select{min-height:34px;border:1px solid #8c8f94;border-radius:6px;background:#fff;color:var(--dbht-text);cursor:pointer;font:inherit}
.dbht__btn{padding:6px 11px}
.dbht__tool{min-width:34px;padding:5px 8px}
.dbht__icon-btn{min-height:30px;padding:4px 8px;font-size:12px}
.dbht__icon-btn--primary{border-color:var(--dbht-primary);background:var(--dbht-primary);color:#fff}
.dbht__icon-btn--primary:hover{background:#135e96;color:#fff}
.dbht__icon-btn--success{border-color:var(--dbht-success);background:var(--dbht-success);color:#fff}
.dbht__icon-btn--success:hover{border-color:var(--dbht-success-dark);background:var(--dbht-success-dark);color:#fff}
 .dbht__select-wrap{position:relative;display:inline-flex;flex:0 0 145px;width:145px}
.dbht__select{width:145px;padding:4px 28px 4px 8px;appearance:none;-webkit-appearance:none;background:#fff}
.dbht__select-arrow{position:absolute;right:9px;top:50%;transform:translateY(-52%);pointer-events:none;color:#50575e;font-size:13px;line-height:1}
.dbht__btn:hover,.dbht__tool:hover,.dbht__icon-btn:hover{border-color:#50575e;background:#f6f7f7}
.dbht__icon-btn--primary:hover{border-color:var(--dbht-primary);background:#135e96;color:#fff}
.dbht__btn--primary{border-color:var(--dbht-primary);background:var(--dbht-primary);color:#fff}
.dbht__btn--primary:hover{background:#135e96;color:#fff}
.dbht__btn--danger{border-color:var(--dbht-danger);color:var(--dbht-danger)}
.dbht__btn--success{border-color:var(--dbht-success);background:var(--dbht-success);color:#fff}
.dbht__btn--success:hover{border-color:var(--dbht-success-dark);background:var(--dbht-success-dark);color:#fff}
.dbht__visual{flex:1;min-height:0;padding:18px;overflow:auto;outline:none;background:#fff;color:#1d2327;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* Isolate the editable document from theme/page typography. `revert` restores
   browser semantics (headings remain headings, strong remains bold) while
   preventing surrounding WordPress/theme CSS from styling pasted content.
   Inline styles deliberately added inside the editor can still override this. */
.dbht .dbht__visual *{all:revert;box-sizing:border-box}
.dbht__visual:empty:before{content:attr(data-placeholder);color:#8c8f94;pointer-events:none}
.dbht__visual p:first-child,.dbht__visual h1:first-child,.dbht__visual h2:first-child,.dbht__visual h3:first-child{margin-top:0}
.dbht__visual table{width:100%;border-collapse:collapse}
.dbht__visual th,.dbht__visual td{padding:6px 8px;border:1px solid #c3c4c7}
.dbht__code-wrap{display:grid;grid-template-columns:48px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;background:#1e1e1e}
.dbht__lines{overflow:hidden;padding:14px 8px 14px 0;text-align:right;white-space:pre;color:#858585;background:#252526;border-right:1px solid #333;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;user-select:none}
.dbht__code-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#1e1e1e}
.dbht__highlight{position:absolute;z-index:1;top:0;left:0;min-width:100%;min-height:100%;margin:0;padding:14px;border:0;background:transparent;color:#d4d4d4;pointer-events:none;white-space:pre;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;tab-size:2;transform:translate(0,0);will-change:transform}
.dbht__code{position:absolute;z-index:2;inset:0;width:100%;height:100%;min-height:0;border:0!important;outline:none!important;box-shadow:none!important;padding:14px;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:#fff;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;tab-size:2;white-space:pre;overflow:auto}
.dbht__code:empty:before{content:attr(data-placeholder);color:#858585;-webkit-text-fill-color:#858585;pointer-events:none}
.dbht__code:focus{outline:none!important}
.dbht__code::selection{background:rgba(38,79,120,.75);color:transparent;-webkit-text-fill-color:transparent}
.dbht__syn-punct{color:#808080}
.dbht__syn-tag{color:#569cd6}
.dbht__syn-attr{color:#9cdcfe}
.dbht__syn-value{color:#ce9178}
.dbht__syn-comment{color:#6a9955}
.dbht__syn-meta{color:#c586c0}
.dbht__syn-match{display:inline;border-radius:3px;background:rgba(255,213,79,.13);box-shadow:inset 0 0 0 1px rgba(255,213,79,.32)}

.dbht__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.dbht__footer-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.dbht__status{color:var(--dbht-muted);font-size:13px}
.dbht-editor-placeholder{border:1px dashed #8c8f94;padding:8px}
@media (max-width: 900px){
    .dbht__pane{height:70vh;max-height:70vh;min-height:340px}
}
@media (max-width: 600px){
    .dbht__pane-head{align-items:flex-start;flex-direction:column}
    .dbht__pane-actions{justify-content:flex-start}
    .dbht__main-actions .dbht__btn{flex:1 1 calc(50% - 8px)}
    .dbht__footer{align-items:stretch;flex-direction:column}
    .dbht__footer-actions{justify-content:flex-start}
}

.dbht__tool--link{font-size:16px;line-height:1;padding-left:8px;padding-right:8px}
