/* Shared settings hierarchy; colors follow the selected client palette. */
#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-width:620px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--ui-border,#526469);border-radius:16px;background:var(--ui-chrome,#182833);color:var(--ui-text,#eee9d3);box-shadow:0 24px 80px #0008;font:14px/1.5 system-ui}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog)::backdrop{background:#040b13a8}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) h2{margin:0;font-size:24px;letter-spacing:-.025em}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog)>p{margin:6px 0 20px;color:var(--ui-muted,#b5c3c6)}
.ck-settings-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
#visual-theme-dialog .ck-settings-links button{display:flex;flex-direction:column;text-align:left;gap:4px;min-height:90px;margin:0;padding:16px;border:1px solid var(--ui-border,#526469);border-radius:10px;background:var(--ui-raised,#233943);color:var(--ui-text,#eee9d3);cursor:pointer}
#visual-theme-dialog .ck-settings-links strong{font-size:15px;color:var(--ui-accent,#e1d3ab)}
#visual-theme-dialog .ck-settings-links small{font:12px/1.5 system-ui;color:var(--ui-muted,#b5c3c6)}
#visual-theme-dialog .ck-settings-links button:hover{border-color:var(--ui-accent,#e1d3ab)}
.ck-settings-group{border:0;border-top:1px solid var(--ui-border,#526469);padding:16px 0;margin:0}
.ck-settings-group h3{font:600 14px/1.4 system-ui;color:var(--ui-text,#eee9d3);margin:0 0 10px}
.ck-settings-group>summary{cursor:pointer;font:600 14px/1.4 system-ui;color:var(--ui-text,#eee9d3);padding:4px 0}
.ck-settings-group[open]>summary{margin-bottom:14px}
#visual-theme-dialog select,#combat-layout-dialog select{box-sizing:border-box;width:100%;margin:6px 0 8px;padding:10px 12px;border:1px solid var(--ui-border,#526469);border-radius:7px;background:var(--ui-deep,#10232d);color:var(--ui-text,#eee9d3);font:inherit}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) small,.ck-settings-group p{color:var(--ui-muted,#b5c3c6);font-size:12px;line-height:1.6}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) input[type=checkbox]{width:17px;height:17px;accent-color:var(--ui-accent,#e1d3ab);flex-shrink:0}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) label:has(input){display:flex;align-items:center;gap:9px;padding:8px 0;margin:0}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) button{min-height:38px;border:1px solid var(--ui-border,#526469);border-radius:7px;background:var(--ui-raised,#233943);color:var(--ui-accent,#e1d3ab);padding:8px 12px;cursor:pointer;font:inherit}
:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) :is(button,select,summary):focus-visible{outline:2px solid var(--ui-accent,#e1d3ab);outline-offset:3px}
.ck-settings-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:8px}
#visual-theme-dialog .ck-settings-actions button{margin:0}
#combat-layout-dialog fieldset{border:1px solid var(--ui-border,#526469);border-radius:8px;padding:10px 12px;margin:10px 0;display:flex;flex-wrap:wrap;gap:8px 18px}
#combat-layout-dialog fieldset legend{font-size:13px;padding:0 5px}
#combat-layout-dialog fieldset label{display:inline-flex}
#bm-options>div{width:min(330px,calc(100vw - 24px));padding:16px}
#bm-options .ck-settings-group{padding:12px 0}
#bm-options .ck-settings-group:first-child{border-top:0;padding-top:0}
#bm-options .ck-settings-group h3{margin-bottom:5px;font-size:13px}
#bm-options .ck-settings-group>summary{background:transparent!important;border:0;border-radius:0;padding:5px 0;min-height:0;font-size:13px;white-space:normal}
#bm-options .ck-settings-group label{font-size:12px;line-height:1.4}
#bm-options .ck-settings-group input{flex-shrink:0}
#bm-options .bm-modes{margin:4px 0 8px;padding:0;border:0}
#bm-options .bm-service-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px}
#bm-options .ck-settings-more{display:flex;flex-direction:column;gap:8px}
@media(max-width:480px){#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog{padding:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.ck-settings-links{grid-template-columns:1fr;gap:8px}#visual-theme-dialog .ck-settings-links button{min-height:0;padding:12px 14px}}

#combat-layout-dialog>section:first-of-type{border-top:0;padding-top:0}
#combat-layout-dialog label:has(select){display:block}
#combat-layout-dialog .ck-settings-group label{min-height:0}
#combat-layout-dialog .ck-settings-group>summary{background:transparent!important}
#ck-map-settings-dialog h2{margin:0 0 18px;font-size:24px}
#ck-map-settings-dialog label{display:flex;align-items:center;gap:10px;padding:7px 0}
#ck-map-settings-dialog input{accent-color:var(--ui-accent,#e1d3ab)}
#ck-map-settings-dialog button{min-height:38px;padding:8px 14px;border:1px solid var(--ui-border,#526469);border-radius:7px;background:var(--ui-raised,#233943);color:var(--ui-accent,#e1d3ab);cursor:pointer}
#ck-map-settings-dialog .bm-modes{display:flex;gap:8px;margin-bottom:10px}
#ck-map-settings-dialog [aria-pressed=true]{outline:1px solid var(--ui-accent,#e1d3ab)}
#ck-map-settings-dialog .bm-service-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}

:is(#visual-theme-dialog,#combat-layout-dialog,#ck-map-settings-dialog) .ck-settings-dismiss{float:right;min-width:36px;min-height:36px;margin:0 0 8px 14px;padding:0;font-size:22px;line-height:1}
