/* Map Studio tuning section, "Contrast" editor theme: black data area, large tabular digits,
   tall cells, big grouped controls with one accent colour. Active only with
   data-table-theme=contrast; the Dark and Light themes are unchanged. No map data is affected. */
#mapStudioRoot[data-table-theme=contrast]{
 --ms-shell:#0a0a0b;--ms-panel:#151517;--ms-raised:#232326;--ms-text:#f5f5f6;--ms-muted:#b9b9bf;--ms-border:#46464c;
 --ms-accent:#c62a31;--ms-focus:#ff8a8f;--ms-warning-bg:#3d3112;--ms-warning-text:#ffe2a3;
 --ms-cell:#000;--ms-cell-text:#fafafa;--ms-axis:#141416;--ms-axis-text:#fff;--ms-grid-line:#38383d;--ms-hover:#26262b;
 --ms-axis-hover:#2e2e34;--ms-selected:#2b4b84;--ms-selected-text:#fff;--ms-mod-bg:#3b0d12;--ms-mod-text:#ff6b6b;
 --ms-hex-user:#11331c;--ms-hex-pack:#0f2a47;--ms-hex-user-line:#6fd18a;--ms-hex-pack-line:#6fb3ff;
 --ms-cell-font:max(var(--ms-table-font),15px);--ms-digits:"Cascadia Mono","Roboto Mono",Consolas,monospace;
 color-scheme:dark;
}

/* Data area: black background, centred large digits, clear grid */
#mapStudioRoot[data-table-theme=contrast] .ms-viewport{background:#000;color:var(--ms-text);color-scheme:dark}
#mapStudioRoot[data-table-theme=contrast] .ms-grid{border-spacing:0;font:500 var(--ms-cell-font)/1.2 var(--ms-digits);font-size:var(--ms-cell-font)!important;font-variant-numeric:tabular-nums}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td{min-width:68px;background:#000;border-right:1px solid var(--ms-grid-line);border-bottom:1px solid var(--ms-grid-line)}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td button{min-height:36px;padding:6px 10px;background:#000;color:var(--ms-cell-text);font:500 var(--ms-cell-font)/1.2 var(--ms-digits);text-align:center;letter-spacing:.02em}
#mapStudioRoot[data-table-theme=contrast] .ms-grid th{padding:8px 10px;font:600 calc(var(--ms-cell-font) - 1px)/1.2 var(--ms-digits);background:var(--ms-axis);color:var(--ms-axis-text);border-right:1px solid var(--ms-grid-line);border-bottom:1px solid var(--ms-grid-line)}
#mapStudioRoot[data-table-theme=contrast] .ms-grid thead th{background:#1a1a1d;color:#ececee;text-align:center}
#mapStudioRoot[data-table-theme=contrast] .ms-grid thead th:first-child{text-align:left;color:#c9c9cf}
#mapStudioRoot[data-table-theme=contrast] .ms-grid tbody th{background:#0e0e10;text-align:left}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td button:hover{background:#1f1f24!important}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td button.selected{background:var(--ms-selected)!important;color:#fff!important;border-color:transparent;box-shadow:none}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td button.selected.ms-cell-cursor{background:#3a6ad0!important;box-shadow:none}
#mapStudioRoot[data-table-theme=contrast] .ms-grid th.ms-axis-focus{background:#3a6ad0;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-grid [data-cell].ms-cell-cursor{box-shadow:inset 0 0 0 2px #fff}
#mapStudioRoot[data-table-theme=contrast] .ms-grid td button.changed{font-weight:700}
#mapStudioRoot[data-table-theme=contrast] .ms-inline-editor{background:#fff;color:#000;font:700 var(--ms-cell-font)/1.2 var(--ms-digits)}

/* Hexdump: same cell style plus a byte-bar and ASCII column (rendered only in this theme) */
#mapStudioRoot[data-table-theme=contrast] .ms-hex td{min-width:62px;padding:7px 10px;text-align:center;color:var(--ms-cell-text);font:500 var(--ms-cell-font)/1.2 var(--ms-digits)}
#mapStudioRoot[data-table-theme=contrast] .ms-hex td.ms-in-map{box-shadow:inset 0 0 0 1px #6c6c74}
#mapStudioRoot[data-table-theme=contrast] .ms-hex td.ms-hex-cursor{outline:2px solid #fff;outline-offset:-3px;background:var(--ms-selected)}
#mapStudioRoot[data-table-theme=contrast] .ms-hex .ms-hex-side,
#mapStudioRoot[data-table-theme=contrast] .ms-hex .ms-hex-side-head{position:static;background:#000;border-right:0;padding:6px 16px;text-align:left;white-space:nowrap}
#mapStudioRoot[data-table-theme=contrast] .ms-hex-bars{display:inline-flex;align-items:flex-end;gap:2px;height:30px;margin-right:16px;vertical-align:middle}
#mapStudioRoot[data-table-theme=contrast] .ms-hex-bars i{display:block;width:7px;background:#8d8d96}
#mapStudioRoot[data-table-theme=contrast] .ms-hex-ascii{display:inline-block;vertical-align:middle;color:#e9e9ec;font:600 var(--ms-cell-font)/1 var(--ms-digits);letter-spacing:.22em;white-space:pre}

/* Toolbar: tall grouped buttons, one accent for the active state */
#mapStudioRoot[data-table-theme=contrast] .ms-stage-toolbar{gap:8px;padding:10px 12px;background:#111113;border-bottom:1px solid #2c2c31}
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group{gap:0;border:1px solid #3b3b41;border-radius:6px;background:#1d1d20}
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group button{min-width:40px;height:40px;padding:0 10px;background:#1d1d20;color:#f2f2f3;border-right:1px solid #33333a;font-size:15px;font-weight:700}
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group button:hover:not(:disabled):not(.active){background:#2a2a30;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group button.active,
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group button.active:hover{background:var(--ms-accent);color:#fff;border-color:var(--ms-accent)}
#mapStudioRoot[data-table-theme=contrast] .ms-stage-group button:disabled{opacity:.35}

/* Map tabs, header and view switch */
#mapStudioRoot[data-table-theme=contrast] .ms-open-tabs{background:#0d0d0f;border-bottom:1px solid #2c2c31}
#mapStudioRoot[data-table-theme=contrast] .ms-open-tab{font-size:14px;color:#d6d6da;background:#0d0d0f}
#mapStudioRoot[data-table-theme=contrast] .ms-open-tab.active{background:#1b1b1e;color:#fff;box-shadow:inset 0 3px 0 var(--ms-accent)}
#mapStudioRoot[data-table-theme=contrast] .ms-maphead{background:#0d0d0f;padding:14px 16px;border-bottom:1px solid #2c2c31}
#mapStudioRoot[data-table-theme=contrast] .ms-maphead h3{font-size:22px;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-maphead p{font-size:14px;color:var(--ms-muted)}
#mapStudioRoot[data-table-theme=contrast] .ms-viewbar{gap:12px;padding:10px 12px;background:#111113;border-bottom:1px solid #2c2c31}
#mapStudioRoot[data-table-theme=contrast] .ms-tabs{gap:0;border:1px solid #3b3b41;border-radius:6px;overflow:hidden}
#mapStudioRoot[data-table-theme=contrast] .ms-tabs button{padding:10px 18px;border:0;border-right:1px solid #33333a;border-radius:0;background:#1d1d20;color:#f2f2f3;font-size:16px}
#mapStudioRoot[data-table-theme=contrast] .ms-tabs button:last-child{border-right:0}
#mapStudioRoot[data-table-theme=contrast] .ms-tabs button.active{background:var(--ms-accent);color:#fff;border-color:var(--ms-accent)}
#mapStudioRoot[data-table-theme=contrast] .ms-table-options{gap:18px;padding:10px 14px;background:#111113;border-bottom:1px solid #2c2c31;font-size:14px}
#mapStudioRoot[data-table-theme=contrast] .ms-table-options select{font-size:14px;padding:6px 10px}
#mapStudioRoot[data-table-theme=contrast] :is(.btn-primary){background:var(--ms-accent);border-color:var(--ms-accent);color:#fff}

/* Map list layout: folder rows (chevron, folder icon, count pill), one-line map rows
   "ADDRESS Name ... CxR" in monospace. Address and size spans exist in every theme but show only here. */
#mapStudioRoot:not([data-table-theme=contrast]) :is(.ms-map-addr,.ms-map-dims){display:none}
#mapStudioRoot[data-table-theme=contrast] .ms-layout{grid-template-columns:max(var(--ms-sidebar-width,320px),400px) minmax(0,1fr)}
#mapStudioRoot[data-table-theme=contrast] .ms-sidebar{background:#1b1b1d;border-color:#2e2e33}
#mapStudioRoot[data-table-theme=contrast] #msSearch{min-height:44px;font-size:16px;background:#111113;border:1px solid #3b3b41}
#mapStudioRoot[data-table-theme=contrast] .ms-sidebar-head{font-size:14px;color:#fff;letter-spacing:.08em}
#mapStudioRoot[data-table-theme=contrast] .ms-tree{margin:0 -12px;padding:0;background:#000;border-top:1px solid #2a2a2e}
#mapStudioRoot[data-table-theme=contrast] .ms-tree details{margin:0;border:0}
#mapStudioRoot[data-table-theme=contrast] .ms-tree summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;list-style:none;background:#1e1e21;color:#fff;font:700 15px/1.25 system-ui,"Segoe UI",sans-serif;border-bottom:1px solid #2c2c31}
#mapStudioRoot[data-table-theme=contrast] .ms-tree summary::-webkit-details-marker{display:none}
#mapStudioRoot[data-table-theme=contrast] .ms-tree summary::before{content:"";flex:0 0 7px;height:7px;margin:0 4px 0 2px;border-right:2px solid #a9a9b0;border-bottom:2px solid #a9a9b0;transform:rotate(-45deg)}
#mapStudioRoot[data-table-theme=contrast] .ms-tree details[open]>summary::before{transform:rotate(45deg);margin-top:-4px}
#mapStudioRoot[data-table-theme=contrast] .ms-tree details[open]>summary{background:#57575c}
#mapStudioRoot[data-table-theme=contrast] .ms-group-name{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mapStudioRoot[data-table-theme=contrast] .ms-group-name::before{content:"";flex:0 0 20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d6d6da' d='M2.5 6A1.5 1.5 0 0 1 4 4.5h5.4l2.1 2.2H20A1.5 1.5 0 0 1 21.5 8.2v10.3A1.5 1.5 0 0 1 20 20H4a1.5 1.5 0 0 1-1.5-1.5z'/%3E%3C/svg%3E") center/20px no-repeat}
#mapStudioRoot[data-table-theme=contrast] .ms-tree summary .ms-group-count{float:none;margin-left:auto;min-width:40px;padding:3px 10px;border-radius:999px;background:#4d4d53;color:#fff;font:700 13px/1.35 system-ui,"Segoe UI",sans-serif;text-align:center}
#mapStudioRoot[data-table-theme=contrast] .ms-tree details[open]>summary .ms-group-count{background:#fff;color:#111}
#mapStudioRoot[data-table-theme=contrast] .ms-tree-children{margin:0;padding:0;border:0;background:#000}
#mapStudioRoot[data-table-theme=contrast] .ms-tree-children>details>summary{padding-left:26px}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;margin:0;padding:7px 12px 7px 10px;border:0;border-bottom:1px solid #1d1d20;border-radius:0;background:#000;color:#f2f2f4;font:600 14px/1.3 var(--ms-digits);text-align:left;white-space:nowrap}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem::before{content:"";flex:0 0 16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='10' height='10' fill='none' stroke='%23b9b9bf' stroke-width='1.2' stroke-dasharray='1.8 1.4'/%3E%3Crect x='6.5' y='6.5' width='8' height='8' rx='1' fill='%23000' stroke='%23ececef' stroke-width='1.4'/%3E%3C/svg%3E") center/16px no-repeat}
#mapStudioRoot[data-table-theme=contrast] .ms-map-addr{flex:0 0 auto;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-map-name{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;-webkit-line-clamp:unset}
#mapStudioRoot[data-table-theme=contrast] .ms-map-dims{flex:0 0 auto;margin-left:auto;padding-left:8px;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-map-meta{display:none}
#mapStudioRoot[data-table-theme=contrast] :is(.ms-map-change-flag,.ms-map-review-flag){flex:0 0 auto;margin:0;font:700 10px/1.3 system-ui,sans-serif}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem:hover{background:#1c1c20;color:#fff}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem.active{background:#2b2b31;color:#fff;box-shadow:inset 3px 0 var(--ms-accent)}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem.ms-map-modified{background:#000;color:var(--ms-mod-text)}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem.ms-map-modified :is(.ms-map-addr,.ms-map-dims){color:var(--ms-mod-text)}
#mapStudioRoot[data-table-theme=contrast] .ms-mapitem.ms-map-modified.active{background:#2b2b31}
#mapStudioRoot[data-table-theme=contrast] .ms-tree-more{margin:6px 10px}

/* Right inspector */
#mapStudioRoot[data-table-theme=contrast] .ms-inspector{background:#111113;font-size:14px}

/* Selection hint: the Contrast theme uses the additive click model, other themes keep theirs. */
#mapStudioRoot[data-table-theme=contrast] .ms-hint-default,#mapStudioRoot:not([data-table-theme=contrast]) .ms-hint-contrast{display:none}
