/* Settings share the platform palette while keeping controls easy to scan. */
#modal-bg.show{z-index:450}
#modal-bg.show~#codex-fab{display:none}
#modal:has(#cm-settings){width:min(1040px,96vw);max-height:92dvh}
#modal:has(#cm-settings) .modal-bd{padding:0}
.cm-settings{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:440px}
.cm-settings-tabs{padding:16px 10px;background:#faf6ef;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
.cm-settings-tabs button{font:inherit;font-size:15px;line-height:1.5;text-align:left;border:1px solid transparent;background:transparent;color:var(--dim);padding:10px 12px;border-radius:8px;cursor:pointer}
.cm-settings-tabs button:hover{background:#f1e7d9}
.cm-settings-tabs [aria-selected=true]{background:#f3e4d3;color:#844627;border-color:#e2c9ae;font-weight:650}
.cm-settings-tabs button:focus-visible{outline:2px solid #98502e;outline-offset:1px}
.cm-settings-content{min-width:0;padding:20px 24px}
.cm-settings-content [hidden]{display:none!important}
.cm-settings-content h3{font-size:22px;margin-bottom:8px}
.cm-settings-content h4{font-size:17px;margin:0 0 7px}
.cm-settings-content p{margin:5px 0 12px;overflow-wrap:anywhere}
.cm-settings-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.cm-settings-highlight{padding:14px 16px;margin:14px 0 18px;border:1px solid #e4d3bd;border-radius:9px;background:#fcf8f1}
.cm-settings-highlight p{font-size:14px;line-height:1.7}
.cm-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:16px}
.cm-settings-form .field{min-width:0}
.cm-settings-form input,.cm-settings-form select{width:100%}
.cm-settings-wide{grid-column:1/-1}
.cm-settings-content fieldset{border:0;min-width:0}
.cm-settings-content fieldset:disabled input,.cm-settings-content fieldset:disabled select{color:var(--dim);background:#f6f2eb;opacity:1}
.cm-settings-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 5px}
.cm-settings-actions .btn{white-space:normal}
.cm-settings-check{display:flex;gap:9px;align-items:center;font-size:14px;line-height:1.6}
.cm-settings-check input{width:17px;height:17px;flex:none}
.cm-settings-status{font-size:14px;line-height:1.6;color:#37674d;min-height:0}
.cm-settings-status:empty{display:none}
.cm-settings-content .cm-error,.cm-settings-error{color:#8e2a1c}
.cm-settings-error{padding:14px;background:#fff7f1;border:1px solid #e6c6b7;border-radius:8px}
.cm-ui-preview{background:linear-gradient(135deg,#f6edde,#faf7f2);border:1px solid var(--border);border-radius:9px;line-height:1.7;margin:8px 0 16px}
.cm-ui-preview strong{color:#794522;font-size:1.1em}
.cm-ui-preview p{font-size:1em;margin:4px 0}
.cm-ui-preview span{font-size:.88em;color:var(--dim)}
.cm-settings-profile{display:flex;gap:14px;align-items:center;margin:16px 0}
.cm-settings-profile>div{min-width:0;overflow-wrap:anywhere}
.cm-settings-profile p{margin:3px 0}
.cm-settings-badges{display:flex;flex-wrap:wrap;gap:6px}
.cm-settings-list{padding-left:22px;line-height:1.8}
.cm-settings-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.cm-settings-versions>div{display:flex;gap:12px;justify-content:space-between;padding:7px 0;border-bottom:1px solid #ede3d6}
.cm-settings-versions dt{color:var(--dim);flex:none}
.cm-settings-versions dd{overflow-wrap:anywhere;text-align:right;font-size:14px;font-family:var(--mono)}
.cm-settings-footnote{font-size:13px;color:var(--dim);margin-right:auto}
@media(max-width:700px){
 .cm-settings{grid-template-columns:minmax(0,1fr);min-height:0}
 .cm-settings-tabs{flex-direction:row;flex-wrap:wrap;gap:5px;border-right:0;border-bottom:1px solid var(--border);padding:10px}
 .cm-settings-tabs button{font-size:14px;padding:7px 9px;flex:1 0 auto;text-align:center}
 .cm-settings-content{padding:16px}
 .cm-settings-form,.cm-settings-versions{grid-template-columns:minmax(0,1fr)}
 .cm-settings-content h3{font-size:20px}
 .cm-settings-footnote{display:none}
}
/* Normal/compact deliberately preserve the current platform defaults. */
html[data-cm-font=large]{--cm-font-body:17px;--cm-font-small:15px;--cm-font-nav:16px;--cm-font-heading:18px}
html[data-cm-font=xlarge]{--cm-font-body:18px;--cm-font-small:16px;--cm-font-nav:17px;--cm-font-heading:19px}
html[data-cm-font=large],html[data-cm-font=xlarge]{--fs-base:var(--cm-font-body);--fs-sm:var(--cm-font-small);--fs-md:var(--cm-font-body)}
html[data-cm-font]:not([data-cm-font=normal]) body,
html[data-cm-font]:not([data-cm-font=normal]) input,
html[data-cm-font]:not([data-cm-font=normal]) select,
html[data-cm-font]:not([data-cm-font=normal]) textarea,
html[data-cm-font]:not([data-cm-font=normal]) .field label,
html[data-cm-font]:not([data-cm-font=normal]) .rw-workbench>p,
html[data-cm-font]:not([data-cm-font=normal]) .rw-workbench textarea,
html[data-cm-font]:not([data-cm-font=normal]) .rw-workbench label,
html[data-cm-font]:not([data-cm-font=normal]) #rw-detail,
html[data-cm-font]:not([data-cm-font=normal]) .modal-bd{font-size:var(--cm-font-body)}
html[data-cm-font]:not([data-cm-font=normal]) #main .hint,
html[data-cm-font]:not([data-cm-font=normal]) .field .hint,
html[data-cm-font]:not([data-cm-font=normal]) .page-desc,
html[data-cm-font]:not([data-cm-font=normal]) .tbl td,
html[data-cm-font]:not([data-cm-font=normal]) .rw-scroll td,
html[data-cm-font]:not([data-cm-font=normal]) .btn.sm{font-size:var(--cm-font-small)}
html[data-cm-font]:not([data-cm-font=normal]) #sidebar .nav-item>span:not(.badge),
html[data-cm-font]:not([data-cm-font=normal]) .nav-group-name,
html[data-cm-font]:not([data-cm-font=normal]) .cm-settings-tabs button,
html[data-cm-font]:not([data-cm-font=normal]) .btn{font-size:var(--cm-font-nav)}
html[data-cm-font]:not([data-cm-font=normal]) #sidebar .nav-group-label,
html[data-cm-font]:not([data-cm-font=normal]) #sidebar .nav-tools-heading{font-size:var(--cm-font-heading)}
html[data-cm-density=comfortable] #main .card{padding:20px}
html[data-cm-density=comfortable] .field{margin-bottom:18px}
html[data-cm-density=comfortable] .btn{min-height:42px}
html[data-cm-density=comfortable] .btn.sm{min-height:37px}
html[data-cm-density=comfortable] #sidebar .nav-item{min-height:48px}
html[data-cm-density=comfortable] .tbl td,html[data-cm-density=comfortable] .rw-scroll td{padding-top:12px;padding-bottom:12px}

/* Manuals follow the readable platform typography; wide evidence tables scroll locally. */
#modal:has(#md-view){width:min(1080px,96vw)}
#md-view{font-size:16px;overflow-wrap:anywhere}
#md-view p,#md-view ul,#md-view ol,#md-view blockquote{font-size:1em!important}
#md-view h1{font-size:1.55em!important}
#md-view h2{font-size:1.3em!important}
#md-view h3{font-size:1.12em!important}
#md-view h4{font-size:1em!important}
#md-view code,#md-view pre{font-size:.9em!important}
#md-view table{font-size:.94em!important;min-width:560px}
#md-view .manual-table{overflow-x:auto;max-width:100%;margin:10px 0}
#md-view h2,#md-view h3{scroll-margin-top:12px}
