/* Layout only; controls, colours, and icons use the shared website theme. */
#diffchecker { display:flex; flex-direction:column; min-height:0; background:#fff; }
#diffchecker [hidden] { display:none!important; }
#diffchecker .dc-toolbar { flex-shrink:0; min-height:48px; }
#diffchecker .dc-file-heading { min-width:0; width:50%; min-height:48px; }
#diffchecker .dc-file-heading+.dc-file-heading { border-left:1px solid var(--bs-border-color,#dee2e6); }
#diffchecker .dc-summary { min-width:0; }
#diffchecker .dc-file-name { margin-left:auto; max-width:25%; }
#diffchecker .dc-file-heading:last-child .dc-file-name { margin-left:0; }
#diffchecker .dc-editors { position:relative; flex:1; min-height:0; display:flex; background:#1e1e1e; }
#dc-diff { position:absolute; inset:0; }
#diffchecker .dc-loading { position:absolute; inset:0; z-index:6; }
#diffchecker .dc-input-panel { width:50%; min-width:0; min-height:0; display:flex; position:relative; }
#diffchecker textarea { width:100%; flex:1; resize:none; border:0; outline:0; padding:12px; background:#1e1e1e; color:#d4d4d4; font:15px/1.6 Consolas,monospace; }
#diffchecker .dc-input-editor { position:absolute; inset:0; }
#diffchecker.dc-ready .dc-input-panel { display:none; }
#diffchecker.dc-paused .dc-input-panel { display:flex; }
#diffchecker.dc-paused #dc-diff { display:none; }
#diffchecker .dropdown-menu { min-width:250px; max-height:calc(100dvh - 165px); overflow:auto; }
#diffchecker .dropdown-item { border-radius:var(--bs-border-radius); }
#diffchecker .dropdown-item:not(:disabled):is(:hover,:focus-visible) { background:var(--bs-gray-200,#e9ecef); color:var(--bs-dropdown-link-color,#253545); }
#diffchecker .dropdown-menu .dropdown-item { height:auto; min-height:0; font-size:13px; justify-content:flex-start; }
#diffchecker #dc-feedback { flex-shrink:0; max-height:25dvh; overflow:auto; white-space:pre-line; }
#diffchecker:fullscreen { height:100dvh; }
@media(max-width:1199.98px) {
 #diffchecker .dc-file-name { display:none; }
 #diffchecker .dc-file-action:not([data-action="copy"]) { display:none!important; }
}
@media(max-width:767.98px) {
 #diffchecker .dc-file-action { display:none!important; }
 #diffchecker .dc-toolbar { min-height:52px; }
 #diffchecker .dc-file-heading { width:auto; min-height:52px; padding-left:4px!important; padding-right:4px!important; }
 #diffchecker .dc-file-heading:last-child { flex:1; border-left:0; gap:4px!important; }
 #diffchecker .dc-summary { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 #diffchecker .dc-desktop-control { display:none; }
 #diffchecker .dc-editors { flex-direction:column; }
 #diffchecker .dc-input-panel,#diffchecker.dc-ready .dc-input-panel { display:flex; width:100%; flex:1; }
 #diffchecker .dc-input-panel[data-panel="modified"] { border-top:1px solid #555; }
 #diffchecker:not(.dc-show-comparison) #dc-diff { display:none; }
 #diffchecker.dc-show-comparison .dc-input-panel { display:none; }
 #diffchecker textarea { font-size:16px; }
 #diffchecker .dc-input-panel::before { content:attr(data-panel); position:absolute; right:18px; bottom:8px; z-index:2; color:#aaa; font-size:12px; pointer-events:none; }
}
@media(max-width:359.98px) {
 #diffchecker .dc-toolbar .btn { padding-left:6px; padding-right:6px; }
 #diffchecker .dc-file-heading>.dropdown .btn span { display:none; }
}

/* Per-change merge controls sit in Monaco's existing split gutter. */
#diffchecker .dc-merge-layer { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:5; }
#diffchecker .dc-merge-block { position:absolute; display:flex; gap:2px; transform:translateX(-50%); pointer-events:auto; }
#diffchecker .dc-merge-button { width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--bs-border-radius-sm); }
#diffchecker .dc-merge-button .svg-icon { width:16px; height:16px; }
#diffchecker .dc-arrow-left { transform:rotate(180deg); }
#diffchecker .dc-merge-button:focus-visible { outline:2px solid var(--bs-primary); outline-offset:1px; }
