/* ============================== MODEL_CM_2026Q4 ==================================
   The Sketch Solid and 3D CommandManager as the owner approved it (2026-10-16; boards SolidCmFeatures, SolidCmTabsDark,
   ModelCmMenus, SolidCmNarrow, View3dCm, SolidCmPhone, SolidCmPhoneMore, View3dPhone; spec r4s/spec.md rev 2):
     - desktop: one bar OUTSIDE #vp-3d, before it in #cad-panel (the sketcher's capture listeners on #vp-3d never see it):
       a header row (File | Edit | Tools, the mode pills, the status readout, the feature-count and units chips), the tab row
       (tabs with an accent underline, quick access at the right) and the strip of grouped commands;
     - touch (html.tye-ts): the same tabs in a tools sheet (#mcm-sheet) opened by the rail's Tools / 3D view buttons, with a
       More page for File and Tools.
   Built by phase_model_cm.js, which sets html.tye-mcm - every rule that hides an old control is scoped to that class, so
   without the script (or with its kill switch, localStorage tye_mcm_off = '1') the old toolbars are back.
   Hidden, never removed: #tye-solid-ribbon keeps its box at no height and invisible (phase_solid_sheets.js reads its display;
   touch_shell.js and the new rows read and click its items), #tye-ribbon-ac and .v3d-hdr leave the layout (the new rows click
   their elements). Mobile material: white sheet / ink #101114 / Inter / radius 12-22, dark #1c1d21 / #f2f3f5; each area keeps
   its colour: Sketch Solid violet, 3D blue. Tokens live on <html> (touch_shell.js clones icons into #ts-casc); the view's
   accent is chosen on the bar / sheet / card itself ([data-view]), never by a class on <html> (cad_3d_theme.js re-applies the
   3D backdrop on every class change there).
   ================================================================================================================ */

html {
  --mcm-sheet: #ffffff; --mcm-ink: #101114; --mcm-ink2: #3b3f46; --mcm-ink3: #636a76;
  --mcm-line: rgba(17, 20, 28, .10); --mcm-press: rgba(17, 20, 28, .07); --mcm-hover: rgba(17, 20, 28, .045); --mcm-field: #f4f5f7;
  --mcm-shadow: 0 10px 30px rgba(17, 20, 28, .12), 0 2px 8px rgba(17, 20, 28, .06);
  --mcm-scrim: rgba(10, 12, 16, .32);
  --mcm-font: Inter, 'Noto Sans Thai', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mcm-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  /* Sketch Solid (violet) and 3D (blue): accent / text on a tint (4.5:1 over the tint on --mcm-field) / tint */
  --mcm-sol: #7c3aed; --mcm-sol-icon: #7c3aed; --mcm-sol-ink: #7c3aed; --mcm-sol-tint: rgba(124, 58, 237, .09);
  --mcm-3d: #185fa5; --mcm-3d-icon: #378add; --mcm-3d-ink: #185fa5; --mcm-3d-tint: rgba(55, 138, 221, .12);
  --mcm-sky: #378add; --mcm-calc: #c2410c; --mcm-mfg: #15803d;   /* (the Tools menu's heading text: 5.2:1 and 5.0:1 on white) */
}
html[data-theme="dark"] {
  --mcm-sheet: #1c1d21; --mcm-ink: #f2f3f5; --mcm-ink2: #c9cdd4; --mcm-ink3: #9aa1ad;
  --mcm-line: rgba(255, 255, 255, .10); --mcm-press: rgba(255, 255, 255, .10); --mcm-hover: rgba(255, 255, 255, .06); --mcm-field: #25272c;
  --mcm-shadow: 0 12px 34px rgba(0, 0, 0, .55), 0 2px 10px rgba(0, 0, 0, .35);
  --mcm-scrim: rgba(0, 0, 0, .55);
  --mcm-sol: #a78bfa; --mcm-sol-icon: #a78bfa; --mcm-sol-ink: #b9a3fc; --mcm-sol-tint: rgba(167, 139, 250, .16);
  --mcm-3d: #7dd3fc; --mcm-3d-icon: #7dd3fc; --mcm-3d-ink: #7dd3fc; --mcm-3d-tint: rgba(125, 211, 252, .14);
  --mcm-sky: #7dd3fc; --mcm-calc: #fb923c; --mcm-mfg: #4ade80;
}
/* the view's accent, chosen where it is used */
[data-mcm-view="solid"] { --mcm-acc: var(--mcm-sol); --mcm-acc-icon: var(--mcm-sol-icon); --mcm-acc-ink: var(--mcm-sol-ink); --mcm-tint: var(--mcm-sol-tint); }
[data-mcm-view="3d"] { --mcm-acc: var(--mcm-3d); --mcm-acc-icon: var(--mcm-3d-icon); --mcm-acc-ink: var(--mcm-3d-ink); --mcm-tint: var(--mcm-3d-tint); }

/* ---------- 0. what the new bar replaces on Sketch Solid and 3D (desktop): hidden, never removed ---------- */
html.tye-mcm:not(.tye-ts) body #cad-panel:not(.tye-auto) #tye-solid-ribbon {
  visibility: hidden !important; pointer-events: none !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important;
  overflow: hidden !important; padding: 0 !important; border: 0 !important;
}
html.tye-mcm:not(.tye-ts) body #cad-panel:not(.tye-auto) #tye-ribbon-ac,
html.tye-mcm:not(.tye-ts) body #cad-panel:not(.tye-auto) #vp-3d > .v3d-hdr { display: none !important; }
/* the dead ORBIT / SOLID chips (no code writes ORBIT; SOLID reports the legacy wireframe flag): the status readout tells the mode */
html.tye-mcm body #cad-panel .v3d-badge { display: none !important; }

/* ---------- 1. the bar (desktop) ---------- */
#mcm-bar { display: none; }
html.tye-mcm:not(.tye-ts) body #cad-panel:not(.tye-auto) > #mcm-bar:is([data-mcm-view="solid"], [data-mcm-view="3d"]) {
  display: block; flex: none; position: relative; z-index: 6; box-sizing: border-box; min-width: 0;
  background: var(--mcm-sheet); border-bottom: 1px solid var(--mcm-line); color: var(--mcm-ink); font-family: var(--mcm-font);
}
#mcm-bar button { font-family: var(--mcm-font); -webkit-tap-highlight-color: transparent; }
/* the header row: File | Edit | Tools, the mode pills, the status readout, the chips */
#mcm-bar .mcm-hdr {
  display: flex; align-items: center; gap: 2px; height: 48px; padding: 0 12px; box-sizing: border-box; min-width: 0;
  border-bottom: 1px solid var(--mcm-line);
}
#mcm-bar .mcm-menus { flex: none; display: flex; align-items: center; gap: 2px; }
#mcm-bar .mcm-menus > .tb-group { position: relative; display: flex; }
#mcm-bar .tb-trigger.mcm-trig {
  height: 34px; margin: 0; padding: 0 12px; gap: 0; border: 0; border-radius: 10px; background: transparent; box-shadow: none;
  color: var(--mcm-ink2); font: 500 14px/1 var(--mcm-font); letter-spacing: 0; cursor: pointer; display: flex; align-items: center;
}
#mcm-bar .tb-trigger.mcm-trig::after { content: none !important; display: none !important; }
#mcm-bar .tb-trigger.mcm-trig:hover, #mcm-bar .tb-group.open > .tb-trigger.mcm-trig { background: var(--mcm-press); color: var(--mcm-ink); }
#mcm-bar .tb-trigger.mcm-trig:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
#mcm-bar .mcm-pills { flex: none; display: flex; gap: 2px; padding: 3px; margin-left: 12px; border-radius: 12px; background: var(--mcm-field); }
#mcm-bar .mcm-pill {
  height: 30px; margin: 0; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; box-shadow: none; cursor: pointer;
  display: flex; align-items: center; gap: 7px; color: var(--mcm-ink2); font: 600 12.5px/1 var(--mcm-font); letter-spacing: .05em; white-space: nowrap;
}
#mcm-bar .mcm-pill > svg { flex: none; }
#mcm-bar .mcm-pill:hover { background: var(--mcm-hover); color: var(--mcm-ink); }
#mcm-bar .mcm-pill.is-on { background: var(--mcm-tint); color: var(--mcm-acc-ink); box-shadow: inset 0 0 0 1.5px var(--mcm-acc); }   /* (the ring: a state cue that is not colour alone, fix round 2) */
#mcm-bar .mcm-pill.is-mute > svg { opacity: .45; }   /* (Shadows while Part Only hides the ground: still a toggle - only its icon dims, its name keeps full contrast) */
#mcm-bar .mcm-pill.is-mute { box-shadow: none; outline: 1.5px dashed currentColor; outline-offset: -3px; }   /* (... and a dashed outline says 'no visible effect' - fix round 2) */
#mcm-bar .mcm-pill.is-off { opacity: .42; cursor: not-allowed; }
#mcm-bar .mcm-pill.is-off:hover { background: transparent; color: var(--mcm-ink2); }
#mcm-bar .mcm-pill:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
#mcm-bar .mcm-pill > .mcm-pl { display: inline; }
/* a narrow header: the pills show their icons only (their names stay in the tooltip and the accessible name) */
#mcm-bar.is-hdr-feat #mcm-feat { display: none; }   /* (a cramped header drops the feature count first, fix round 2) */
#mcm-bar.is-hdr-tight .mcm-pill { padding: 0 9px; }
#mcm-bar.is-hdr-tight .mcm-pill > .mcm-pl { display: none; }
#mcm-bar.is-hdr-tight2 .mcm-status { display: none; }
#mcm-bar.is-hdr-tight2 .mcm-hdr { justify-content: flex-start; }
#mcm-bar.is-hdr-tight2 .mcm-pills { margin-left: 6px; }
#mcm-bar.is-hdr-tight3 #mcm-unit { display: none; }
#mcm-bar .mcm-status {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; margin: 0 4px 0 14px; overflow: hidden; white-space: nowrap;
  color: var(--mcm-ink3); font: 500 11.5px/1 var(--mcm-mono);
}
#mcm-bar .mcm-st-tool { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#mcm-bar .mcm-st-tool b { color: var(--mcm-acc-ink); font-weight: 600; }
#mcm-bar .mcm-st-tool.is-err { color: #c81e17; }
html[data-theme="dark"] #mcm-bar .mcm-st-tool.is-err { color: #ff8a80; }
#mcm-bar .mcm-st-sep { flex: none; width: 1px; height: 14px; background: var(--mcm-line); }
#mcm-bar .mcm-st-read { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#mcm-bar .mcm-st-read:empty, #mcm-bar .mcm-st-read:empty + .mcm-st-sep, #mcm-bar .mcm-st-sep.is-gone { display: none; }
#mcm-bar .mcm-chip {
  flex: none; height: 24px; margin: 0 0 0 6px; padding: 0 8px; border: 0; border-radius: 6px; background: var(--mcm-field); box-shadow: none;
  display: flex; align-items: center; color: var(--mcm-ink2); font: 500 11.5px/1 var(--mcm-mono); white-space: nowrap;
}
#mcm-bar button.mcm-chip { cursor: pointer; }
#mcm-bar button.mcm-chip:hover { background: var(--mcm-press); color: var(--mcm-ink); }
#mcm-bar button.mcm-chip:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: 1px; }
#mcm-bar .mcm-chip.mcm-unit::before { content: ""; width: 6px; height: 6px; border-radius: 3px; background: var(--mcm-sky); margin-right: 6px; }
#mcm-bar .mcm-chip[hidden] { display: none; }

/* the tab row: tabs with an accent underline; quick access at the right */
#mcm-bar .mcm-tabs {
  display: flex; align-items: stretch; height: 40px; padding: 0 0 0 12px; border-bottom: 1px solid var(--mcm-line); box-sizing: border-box;
  overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
}
#mcm-bar .mcm-tabs::-webkit-scrollbar { display: none; }
#mcm-bar .mcm-tablist { flex: none; display: flex; align-items: stretch; }
#mcm-bar .mcm-tab {
  flex: none; display: flex; align-items: center; height: 40px; margin: 0; padding: 0 16px; box-sizing: border-box;
  border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer;
  font: 500 14px/1 var(--mcm-font); color: var(--mcm-ink3); white-space: nowrap;
}
#mcm-bar .mcm-tab:hover { color: var(--mcm-ink); }
#mcm-bar .mcm-tab.is-on { color: var(--mcm-ink); font-weight: 600; border-bottom-color: var(--mcm-acc); }
#mcm-bar .mcm-tab.is-lock { opacity: .42; cursor: not-allowed; }
#mcm-bar .mcm-tab.is-lock:hover { color: var(--mcm-ink3); }
#mcm-bar .mcm-tab:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -4px; border-radius: 8px; }
#mcm-bar.is-tight .mcm-tab { padding: 0 10px; }
#mcm-bar.is-tight2 .mcm-tabs { padding: 0 0 0 6px; }
#mcm-bar.is-tight2 .mcm-qa { padding-right: 6px; }
#mcm-bar.is-tight2 .mcm-tab { padding: 0 7px; font-size: 13px; }
#mcm-bar .mcm-fill { flex: 1 1 auto; min-width: 8px; }
#mcm-bar .mcm-qa { flex: none; display: flex; align-items: center; gap: 2px; position: sticky; right: 0; z-index: 1; padding-right: 12px; background: var(--mcm-sheet); }   /* (the row's right padding lives here: a scrolled tab never shows beside it, fix round 2) */
#mcm-bar .mcm-tabs.mcm-ovr .mcm-qa::before {
  content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: 28px; pointer-events: none;
  background: linear-gradient(to right, transparent, var(--mcm-sheet));
}
#mcm-bar .mcm-q {
  position: relative; width: 32px; height: 32px; margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 10px; background: transparent; box-shadow: none; color: var(--mcm-ink2); cursor: pointer;
}
#mcm-bar .mcm-q:hover { background: var(--mcm-press); color: var(--mcm-ink); }
#mcm-bar .mcm-q.is-on, #mcm-bar .mcm-q[aria-expanded="true"] { background: var(--mcm-tint); color: var(--mcm-acc-icon); }
#mcm-bar .mcm-q.is-on { box-shadow: inset 0 0 0 1.5px var(--mcm-acc); }
#mcm-bar .mcm-q.is-off { opacity: .36; cursor: not-allowed; }
#mcm-bar .mcm-q.is-off:hover { background: transparent; color: var(--mcm-ink2); }
#mcm-bar .mcm-q:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
#mcm-bar .mcm-q > span.mcm-sr, #mcm-sheet .mcm-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#mcm-bar .mcm-q .mcm-qc { position: absolute; right: 3px; bottom: 5px; width: 4px; height: 4px; border-right: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor; transform: rotate(45deg); opacity: .6; pointer-events: none; }
#mcm-bar .mcm-qsep { flex: none; width: 1px; height: 18px; background: var(--mcm-line); margin: 0 6px; }
#mcm-bar .mcm-qa > .mcm-q.is-over, #mcm-bar .mcm-qa > .mcm-qmore:not(.is-shown), #mcm-bar .mcm-qa > .mcm-qsep.is-over { display: none; }

/* the strip: groups of large buttons and stacked small rows, a caption under each group */
#mcm-bar .mcm-panel {
  display: flex; align-items: stretch; height: 104px; padding: 8px 8px 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; box-sizing: border-box;
}
#mcm-bar .mcm-panel.mcm-ovr { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
#mcm-bar .mcm-panel.mcm-ovl { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); }
#mcm-bar .mcm-panel.mcm-ovl.mcm-ovr { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
#mcm-bar .mcm-grp { flex: none; display: flex; flex-direction: column; gap: 4px; padding: 0 10px; border-left: 1px solid var(--mcm-line); }
#mcm-bar .mcm-grp:first-child, #mcm-bar .mcm-grp.is-first { border-left: 0; }
#mcm-bar .mcm-grp.is-merged { display: none; }
#mcm-bar .mcm-btns { flex: 1 1 auto; display: flex; gap: 2px; min-height: 0; }
#mcm-bar .mcm-b {
  position: relative; flex: none; width: max-content; min-width: 68px; max-width: 96px; margin: 0; padding: 8px 4px 6px; box-sizing: border-box;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 5px;
  border: 0; border-radius: 10px; background: transparent; box-shadow: none; cursor: pointer;
  color: var(--mcm-ink); font: 500 12px/1.15 var(--mcm-font); text-align: center; letter-spacing: 0;
}
#mcm-bar .mcm-b > svg, #mcm-bar .mcm-b > .ti { flex: none; width: 24px; height: 24px; color: var(--mcm-ink2); }
#mcm-bar .mcm-b > .ti { font-size: 24px; line-height: 24px; }
#mcm-bar .mcm-b > span.mcm-l { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; }
#mcm-bar .mcm-b:hover { background: var(--mcm-hover); }
#mcm-bar .mcm-b:active { background: var(--mcm-press); }
#mcm-bar .mcm-b.is-on, #mcm-bar .mcm-b[aria-expanded="true"] { background: var(--mcm-tint); }
#mcm-bar .mcm-b.is-on > svg, #mcm-bar .mcm-b.is-on > .ti, #mcm-bar .mcm-b[aria-expanded="true"] > svg { color: var(--mcm-acc-icon); }
#mcm-bar :is(.mcm-b, .mcm-r).is-on { box-shadow: inset 0 0 0 1.5px var(--mcm-acc); }   /* (a toggle that is on, or the tool in use: a ring as well as the tint, fix round 2) */
#mcm-bar .mcm-b:focus-visible, #mcm-bar .mcm-r:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
/* keyboard focus on a LIT control (fix round 3): the accent outline sat in the same 0-2 px band as the on-ring, so a lit
   control looked the same focused and unfocused. Lit: an ink band (2 px, offset -5 px) inside the ring with a 1 px gap of tint
   between them, so the band's neighbour is the tint on both sides (10:1 or more in both themes); unlit controls keep the accent
   outline above. */
#mcm-bar :is(.mcm-pill, .mcm-q, .mcm-b, .mcm-r).is-on:focus-visible { outline: 2px solid var(--mcm-ink); outline-offset: -5px; }
#mcm-bar .mcm-caret, #mcm-sheet .mcm-caret {
  position: absolute; top: 25px; left: calc(50% + 15px); width: 5px; height: 5px; box-sizing: border-box;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: .55; pointer-events: none;
}
/* a command family (SOLIDWORKS's flyout): the face runs the one used last, the small arrow opens the list */
#mcm-bar .mcm-sw { position: relative; flex: none; display: flex; align-items: stretch; }
#mcm-bar .mcm-cb {
  margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; box-shadow: none; cursor: pointer;
  color: var(--mcm-ink3); display: inline-flex; align-items: center; justify-content: center;
}
#mcm-bar .mcm-sw.is-l > .mcm-b { min-width: 76px; }   /* (room for the arrow beside the icon) */
#mcm-bar .mcm-cb.is-l { position: absolute; top: 8px; left: calc(50% + 13px); width: 24px; height: 24px; }
#mcm-bar .mcm-cb.is-l .mcm-caret { top: 8px; left: 9px; opacity: .8; }
#mcm-bar .mcm-cb:not(.is-l) { flex: none; width: 24px; height: 24px; margin-left: 0; }
#mcm-bar .mcm-cb:hover { background: var(--mcm-press); color: var(--mcm-ink); }
#mcm-bar .mcm-cb[aria-expanded="true"] { background: var(--mcm-tint); color: var(--mcm-acc-icon); }
#mcm-bar .mcm-cb:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
#mcm-bar .mcm-col { flex: none; display: flex; flex-direction: column; gap: 0; padding-top: 0; }   /* (rows 24 px, no gap: 72 px in the 73 px row - fix round 3) */
#mcm-bar .mcm-r {
  position: relative; display: flex; align-items: center; gap: 6px; height: 24px; margin: 0; padding: 0 8px 0 4px; box-sizing: border-box;
  border: 0; border-radius: 7px; background: transparent; box-shadow: none; cursor: pointer;
  color: var(--mcm-ink); font: 500 12px/1 var(--mcm-font); white-space: nowrap; text-align: left;
}
#mcm-bar .mcm-r > svg { flex: none; width: 20px; height: 20px; color: var(--mcm-ink2); }
#mcm-bar .mcm-r:hover { background: var(--mcm-hover); }
#mcm-bar .mcm-r.is-on, #mcm-bar .mcm-r[aria-expanded="true"] { background: var(--mcm-tint); }
#mcm-bar .mcm-r.is-on > svg { color: var(--mcm-acc-icon); }
#mcm-bar .mcm-r .mcm-cr { margin-left: -2px; color: var(--mcm-ink3); flex: none; }
#mcm-bar :is(.mcm-b, .mcm-r).is-off { cursor: not-allowed; color: var(--mcm-ink3); }
#mcm-bar :is(.mcm-b, .mcm-r).is-off > svg { opacity: .45; filter: grayscale(1); }
#mcm-bar :is(.mcm-b, .mcm-r).is-off:hover { background: transparent; }
#mcm-bar .mcm-bdg, #mcm-sheet .mcm-bdg {
  font: 600 9.5px/1 var(--mcm-font); font-style: normal; letter-spacing: .04em; padding: 3px 5px; border-radius: 999px; background: var(--mcm-field); color: var(--mcm-ink3);
}
#mcm-bar .mcm-b > .mcm-bdg { position: absolute; top: 4px; right: 2px; }
#mcm-bar .mcm-r > .mcm-bdg { margin-left: 2px; }
#mcm-bar .mcm-cap { font: 600 11px/1 var(--mcm-font); letter-spacing: .06em; text-transform: uppercase; color: var(--mcm-ink3); text-align: center; padding-top: 2px; white-space: nowrap; }
/* the Dimension value box (mirrors the sketcher's own box) */
#mcm-bar .mcm-vbox, #mcm-sheet .mcm-vbox, #mcm-pop .mcm-vbox {
  display: flex; align-items: center; gap: 4px; height: 23px; width: 96px; margin: 0 0 0 4px; padding: 0 8px; box-sizing: border-box;
  border-radius: 7px; background: var(--mcm-field); border: 1px solid var(--mcm-line); color: var(--mcm-ink);
}
#mcm-bar .mcm-vbox input, #mcm-sheet .mcm-vbox input, #mcm-pop .mcm-vbox input {
  flex: 1 1 auto; min-width: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; box-shadow: none;
  color: var(--mcm-ink); font: 500 12px/1 var(--mcm-font); -moz-appearance: textfield;
}
#mcm-bar .mcm-vbox input::-webkit-inner-spin-button, #mcm-bar .mcm-vbox input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#mcm-bar .mcm-vbox:focus-within, #mcm-sheet .mcm-vbox:focus-within, #mcm-pop .mcm-vbox:focus-within { border-color: var(--mcm-acc); }
#mcm-bar .mcm-vbox em, #mcm-sheet .mcm-vbox em, #mcm-pop .mcm-vbox em { font-style: normal; color: var(--mcm-ink3); font: 500 12px/1 var(--mcm-font); }
#mcm-bar .mcm-vbox.is-off, #mcm-sheet .mcm-vbox.is-off { opacity: .5; }
/* a group too wide for the pane folds into one dropdown button that shows the tool in use */
#mcm-bar .mcm-grp:not(.is-folded) > .mcm-gb { display: none; }
#mcm-bar .mcm-grp.is-folded > .mcm-btns { display: none; }
#mcm-bar .mcm-grp.is-folded > .mcm-cap { visibility: hidden; }
#mcm-bar .mcm-grp.mcm-more:not(.is-shown) { display: none; }
#mcm-bar .mcm-grp.mcm-more > .mcm-gb { display: flex; }
#mcm-bar .mcm-grp.mcm-more > .mcm-cap { visibility: hidden; }
#mcm-bar .mcm-panel.is-tight .mcm-grp { padding: 0 4px; }
#mcm-bar .mcm-empty, #mcm-sheet .mcm-empty { padding: 18px 12px; font: 400 13px/1.4 var(--mcm-font); color: var(--mcm-ink3); }

/* ---------- 2. the header menus (voice_ui portals the card to <body>; the ids outrank every .tb-menu rule) ---------- */
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools).tb-menu {
  width: 300px; min-width: 0 !important; box-sizing: border-box; padding: 6px !important; gap: 0 !important; flex-direction: column !important;
  background: var(--mcm-sheet) !important; border: 1px solid var(--mcm-line) !important; border-radius: 18px !important;
  box-shadow: var(--mcm-shadow) !important; overflow: visible !important; max-height: calc(100vh - 16px) !important;
  transform: none !important; animation: none !important; color: var(--mcm-ink); font-family: var(--mcm-font);
}
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mtitle { flex: none; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-scroll { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) :is(.mcm-mtitle, .mcm-hd) {
  display: block !important; margin: 0 !important; padding: 10px 10px 6px !important; border: 0 !important; background: none !important;
  font: 600 12px/1 var(--mcm-font) !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: var(--mcm-ink3) !important;
}
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-hd { padding-top: 4px !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-hd-calc { color: var(--mcm-calc) !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-hd-mfg { color: var(--mcm-mfg) !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi {
  display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important; min-height: 38px !important;
  box-sizing: border-box !important; margin: 0 !important; padding: 0 10px !important; border: 0 !important; border-radius: 12px !important;
  background: transparent !important; box-shadow: none !important; color: var(--mcm-ink) !important; cursor: pointer;
  font: 500 14px/1.2 var(--mcm-font) !important; letter-spacing: 0 !important; text-align: left !important; justify-content: flex-start !important;
}
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi:hover,
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-sub.open > .mcm-subtrig { background: var(--mcm-press) !important; color: var(--mcm-ink) !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi.is-off { color: var(--mcm-ink3) !important; cursor: not-allowed; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi.is-off:hover { background: transparent !important; color: var(--mcm-ink3) !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi:focus-visible { outline: 2px solid var(--mcm-acc, #7c3aed) !important; outline-offset: -2px !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi .mcm-ml { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi kbd {
  margin-left: auto !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  font: 500 12px/1 var(--mcm-font) !important; color: var(--mcm-ink3) !important; white-space: nowrap;
}
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi .mcm-bdg { margin-left: auto; font: 600 9.5px/1 var(--mcm-font); padding: 3px 5px; border-radius: 999px; background: var(--mcm-field); color: var(--mcm-ink3); }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi::before,
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-mi::after { content: none !important; display: none !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-sep { height: 1px !important; margin: 6px 10px !important; background: var(--mcm-line) !important; width: auto !important; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-chev { margin-left: auto; display: inline-flex; color: var(--mcm-ink3); }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-sub { position: relative; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-fly {
  display: none; position: fixed; z-index: 2; left: 0; top: 0; width: 264px; max-height: calc(100vh - 16px); overflow-y: auto; box-sizing: border-box;
  flex-direction: column; padding: 6px; background: var(--mcm-sheet); border: 1px solid var(--mcm-line); border-radius: 16px;
  box-shadow: var(--mcm-shadow); overscroll-behavior: contain;
}
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-sub.open > .mcm-fly { display: flex; }
:is(#mcm-m-file, #mcm-m-edit, #mcm-m-tools) .mcm-flyhd { display: none !important; }

/* ---------- 3. the desktop popover: a flyout's rows, a folded group, More, the View quick flyout ---------- */
#mcm-pop {
  position: fixed; z-index: 2147483646; min-width: 232px; max-width: 320px; max-height: calc(100vh - 16px); overflow-y: auto; box-sizing: border-box;
  padding: 6px; display: flex; flex-direction: column; background: var(--mcm-sheet); color: var(--mcm-ink);
  border: 1px solid var(--mcm-line); border-radius: 18px; box-shadow: var(--mcm-shadow); font-family: var(--mcm-font);
  animation: mcmPop .14s cubic-bezier(.16, 1, .3, 1);
}
#mcm-pop .mcm-ph, #mcm-sheet .mcm-gh { padding: 10px 10px 6px; font: 600 12px/1 var(--mcm-font); letter-spacing: .04em; text-transform: uppercase; color: var(--mcm-ink3); }
#mcm-pop .mcm-pnote, #mcm-sheet .mcm-pnote { padding: 10px; font: 400 13px/1.4 var(--mcm-font); color: var(--mcm-ink3); }
#mcm-pop .mcm-pi {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 38px; margin: 0; padding: 4px 10px; box-sizing: border-box;
  border: 0; border-radius: 12px; background: transparent; box-shadow: none; color: var(--mcm-ink); cursor: pointer; text-align: left;
  font: 500 14px/1.2 var(--mcm-font);
}
#mcm-pop .mcm-pi.has-sub { min-height: 44px; }
#mcm-pop .mcm-pi:hover { background: var(--mcm-press); }
#mcm-pop .mcm-pi:focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
#mcm-pop .mcm-pi.is-on:focus-visible { outline: 2px solid var(--mcm-ink); outline-offset: -5px; }   /* (a lit row: the ink band inside its ring - fix round 3) */
#mcm-pop .mcm-pi.is-act, #mcm-pop .mcm-pi.is-on:has(> svg) { background: var(--mcm-tint); }
#mcm-pop .mcm-pi.is-act > svg, #mcm-pop .mcm-pi.is-on > svg { color: var(--mcm-acc-icon); }
#mcm-pop .mcm-pi > svg { flex: none; width: 24px; height: 24px; color: var(--mcm-ink2); }
#mcm-pop .mcm-pi.is-off { color: var(--mcm-ink3); cursor: not-allowed; }
#mcm-pop .mcm-pi.is-off:hover { background: transparent; }
#mcm-pop .mcm-pi.is-off > svg { opacity: .45; filter: grayscale(1); }
#mcm-pop .mcm-ck, #mcm-sheet .mcm-ck { flex: none; width: 24px; display: inline-flex; justify-content: center; color: var(--mcm-acc-icon); }
#mcm-pop .mcm-pg { display: flex; flex-direction: column; }
#mcm-pop .mcm-ck.mcm-ckr { margin-left: auto; }
#mcm-pop .mcm-pi.is-on:has(> .mcm-ckr) { box-shadow: inset 0 0 0 1.5px var(--mcm-acc); }
#mcm-pop .mcm-pi.is-mute > svg { opacity: .45; }
#mcm-pop .mcm-pi.is-mute:not(:focus-visible) { outline: 1.5px dashed var(--mcm-ink3); outline-offset: -3px; box-shadow: none; }   /* (muted: the dashed outline replaces the ring) */
#mcm-pop .mcm-pl, #mcm-sheet .mcm-pl { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
#mcm-pop .mcm-pl b, #mcm-sheet .mcm-pl b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#mcm-pop .mcm-pl em, #mcm-sheet .mcm-pl em { font-style: normal; font-size: 12px; font-weight: 400; color: var(--mcm-ink3); white-space: normal; }
#mcm-pop .mcm-chev { margin-left: auto; display: inline-flex; color: var(--mcm-ink3); }
#mcm-pop .mcm-pvrow { padding: 4px 10px 6px; }
#mcm-pop .mcm-pvrow .mcm-vbox { width: auto; height: 36px; margin: 0; border-radius: 10px; }
#mcm-pop .mcm-psep { height: 1px; margin: 5px 8px; background: var(--mcm-line); flex: none; }
@keyframes mcmPop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ---------- 4. the tools sheet on touch (html.tye-ts; Sketch Solid and 3D) ---------- */
#mcm-sheet, #mcm-sheet-bg { display: none; }
html.tye-ts body #mcm-sheet-bg.open { display: block; position: fixed; inset: 0; z-index: 9020; background: var(--mcm-scrim); }
html.tye-ts body #mcm-sheet.open {
  display: flex; flex-direction: column; position: fixed; z-index: 9030; box-sizing: border-box;
  left: max(0px, calc(50% - 300px)); right: max(0px, calc(50% - 300px)); bottom: 0;
  max-height: min(74dvh, 640px); padding: 0 0 calc(env(safe-area-inset-bottom, 0px) + 12px);
  background: var(--mcm-sheet); color: var(--mcm-ink); border: 1px solid var(--mcm-line); border-bottom: 0; border-radius: 22px 22px 0 0;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, .18); font-family: var(--mcm-font); outline: none;
  animation: mcmUp .26s cubic-bezier(.32, .72, 0, 1);
}
@keyframes mcmUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html.tye-ts body #mcm-sheet.open, #mcm-pop { animation: none; } }
html.tye-ts body:has(> #mcm-sheet.open) :is(.sk-panel, #rpd-btn, #tye-pro-dock) { visibility: hidden !important; pointer-events: none !important; }
#mcm-sheet button { font-family: var(--mcm-font); -webkit-tap-highlight-color: transparent; }
#mcm-sheet .mcm-grab { flex: none; width: 38px; height: 5px; border-radius: 3px; background: var(--mcm-line); margin: 8px auto 6px; }
#mcm-sheet .mcm-qrow { flex: none; display: flex; gap: 6px; padding: 0 14px 8px; }
#mcm-sheet .mcm-qrow .mcm-qgap { flex: 1 1 auto; }
html.tye-ts body #mcm-sheet .mcm-q {
  position: relative; flex: none; width: 44px; height: 44px; min-height: 44px !important; margin: 0; padding: 0; box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 12px;
  background: var(--mcm-field); box-shadow: none; color: var(--mcm-ink2); cursor: pointer;
}
html.tye-ts body #mcm-sheet .mcm-q.is-on { background: var(--mcm-tint); color: var(--mcm-acc-icon); box-shadow: inset 0 0 0 2px var(--mcm-acc); }
html.tye-ts body #mcm-sheet .mcm-q.is-off { opacity: .38; }
/* the tabs: a segmented track, 44px tall; seven Sketch Solid tabs scroll sideways with an edge fade */
#mcm-sheet .mcm-segw { flex: none; position: relative; margin: 0 14px; }
#mcm-sheet .mcm-seg {
  display: flex; gap: 3px; padding: 3px; border-radius: 12px; background: var(--mcm-field);
  overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain;
}
#mcm-sheet .mcm-seg::-webkit-scrollbar { display: none; }
#mcm-sheet .mcm-seg.is-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; }
html.tye-ts body #mcm-sheet .mcm-seg button {
  flex: none; height: 44px; min-height: 44px !important; min-width: 0; margin: 0; padding: 0 13px; box-sizing: border-box; border: 0; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; background: transparent; box-shadow: none; cursor: pointer;
  font: 500 12.5px/1 var(--mcm-font); color: var(--mcm-ink2); white-space: nowrap;
}
html.tye-ts body #mcm-sheet .mcm-seg.is-grid button { padding: 0 2px; overflow: hidden; text-overflow: ellipsis; }
html.tye-ts body #mcm-sheet .mcm-seg button.is-on { background: var(--mcm-sheet); color: var(--mcm-ink); font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
html.tye-ts[data-theme="dark"] body #mcm-sheet .mcm-seg button.is-on { background: rgba(255, 255, 255, .14); box-shadow: none; }
html.tye-ts body #mcm-sheet .mcm-seg button.is-lock { opacity: .42; }
#mcm-sheet .mcm-segw.mcm-ovr::after, #mcm-sheet .mcm-segw.mcm-ovl::before {
  content: ''; position: absolute; top: 0; bottom: 0; width: 40px; pointer-events: none; border-radius: 12px;
}
#mcm-sheet .mcm-segw.mcm-ovr::after { right: 0; background: linear-gradient(to right, transparent, var(--mcm-sheet)); }
#mcm-sheet .mcm-segw.mcm-ovl::before { left: 0; z-index: 1; background: linear-gradient(to left, transparent, var(--mcm-sheet)); }
#mcm-sheet .mcm-body, #mcm-sheet .mcm-list { position: relative; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 14px 4px; }
#mcm-sheet .mcm-body.mcm-ovb { -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 36px), transparent); }
#mcm-sheet .mcm-gh { padding: 12px 4px 6px; }
#mcm-sheet .mcm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
html.tye-ts body #mcm-sheet .mcm-t {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
  min-height: 72px !important; min-width: 0; margin: 0; padding: 10px 2px 8px; box-sizing: border-box; border: 0; border-radius: 14px;
  background: var(--mcm-field); box-shadow: none; color: var(--mcm-ink); cursor: pointer;
  font: 500 12px/1.15 var(--mcm-font); text-align: center; letter-spacing: 0; -webkit-tap-highlight-color: transparent;
}
html.tye-ts body #mcm-sheet .mcm-t > svg, html.tye-ts body #mcm-sheet .mcm-t > .ti { flex: none; width: 24px; height: 24px; color: var(--mcm-ink2); }
html.tye-ts body #mcm-sheet .mcm-t > .ti { font-size: 24px; line-height: 24px; }
html.tye-ts body #mcm-sheet .mcm-t > span.mcm-l { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; overflow-wrap: anywhere; }
html.tye-ts body #mcm-sheet .mcm-t > small { font-size: 10.5px; color: var(--mcm-ink3); }
html.tye-ts body #mcm-sheet .mcm-t:active { background: var(--mcm-press); }
html.tye-ts body #mcm-sheet .mcm-t.is-on { background: var(--mcm-tint); box-shadow: inset 0 0 0 2px var(--mcm-acc); }   /* (fix round 2: the tint alone was 1.05:1) */
html.tye-ts body #mcm-sheet .mcm-t.is-tog[aria-pressed="true"]::before {
  content: ''; position: absolute; top: 6px; left: 6px; width: 16px; height: 16px; border-radius: 50%; background: var(--mcm-acc); pointer-events: none;
}
html.tye-ts body #mcm-sheet .mcm-t.is-tog[aria-pressed="true"]::after {
  content: ''; position: absolute; top: 9px; left: 11.5px; width: 3.5px; height: 7px; box-sizing: content-box; border: solid var(--mcm-sheet); border-width: 0 2px 2px 0;
  transform: rotate(45deg); pointer-events: none;
}
html.tye-ts body #mcm-sheet .mcm-t.is-on > svg { color: var(--mcm-acc-icon); }
html.tye-ts body #mcm-sheet .mcm-t.is-mute > svg { opacity: .45; }
html.tye-ts body #mcm-sheet .mcm-t.is-off { opacity: .45; }
html.tye-ts body #mcm-sheet .mcm-t > .mcm-bdg { position: absolute; top: 5px; right: 5px; }
html.tye-ts body #mcm-sheet .mcm-t .mcm-caret { top: 25px; }
html.tye-ts body #mcm-sheet .mcm-vrow { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; }
html.tye-ts body #mcm-sheet .mcm-vrow .mcm-vbox { flex: 1 1 auto; width: auto; height: 44px; margin: 0; border-radius: 12px; padding: 0 14px; }
html.tye-ts body #mcm-sheet .mcm-vrow .mcm-vbox input { font-size: 16px; }
html.tye-ts body #mcm-sheet .mcm-vrow .mcm-vcap { flex: none; font: 500 12.5px/1.2 var(--mcm-font); color: var(--mcm-ink2); }
html.tye-ts body #mcm-sheet :is(.mcm-t, .mcm-q, .mcm-seg button, .mcm-row, .mcm-back):focus-visible { outline: 2px solid var(--mcm-acc); outline-offset: -2px; }
html.tye-ts body #mcm-sheet :is(.mcm-t, .mcm-q).is-on:focus-visible { outline: 2px solid var(--mcm-ink); outline-offset: -5px; }   /* (a lit tile under a hardware keyboard: the ink band inside its ring - fix round 3) */
/* a list page (the More page, a calculator family, the saved views) in place of the tiles */
#mcm-sheet .mcm-shd { flex: none; display: flex; align-items: center; gap: 4px; padding: 0 14px 4px 6px; }
#mcm-sheet .mcm-shd b { font: 600 16px/1.2 var(--mcm-font); color: var(--mcm-ink); }
html.tye-ts body #mcm-sheet .mcm-back {
  width: 44px; height: 44px; min-height: 44px !important; margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 22px; background: transparent; box-shadow: none; color: var(--mcm-ink2); cursor: pointer;
}
#mcm-sheet .mcm-lst { display: flex; flex-direction: column; background: var(--mcm-field); border-radius: 14px; overflow: hidden; }
html.tye-ts body #mcm-sheet .mcm-row {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px !important; margin: 0; padding: 4px 14px; box-sizing: border-box;
  border: 0; border-top: 1px solid var(--mcm-line); border-radius: 0; background: transparent; box-shadow: none; color: var(--mcm-ink); cursor: pointer; text-align: left;
  font: 500 15px/1.25 var(--mcm-font);
}
html.tye-ts body #mcm-sheet .mcm-lst > .mcm-row:first-child { border-top: 0; }
html.tye-ts body #mcm-sheet .mcm-row:active { background: var(--mcm-press); }
html.tye-ts body #mcm-sheet .mcm-row > svg { flex: none; width: 22px; height: 22px; color: var(--mcm-ink2); }
html.tye-ts body #mcm-sheet .mcm-row .mcm-chev { margin-left: auto; display: inline-flex; color: var(--mcm-ink3); }
html.tye-ts body #mcm-sheet .mcm-row em.mcm-rem { margin-left: auto; font-style: normal; font-size: 12.5px; color: var(--mcm-ink3); text-align: right; }
html.tye-ts body #mcm-sheet .mcm-row.is-off { color: var(--mcm-ink3); }
html.tye-ts body #mcm-sheet .mcm-row .mcm-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; }
#mcm-sheet .mcm-fnote { padding: 10px 4px 0; font: 400 12.5px/1.45 var(--mcm-font); color: var(--mcm-ink3); }

/* ---------- 4b. the cards fixed at the window's top right start under the bar (phase_model_cm.js placeCards; a dragged card keeps its place) ---------- */
html.tye-mcm:not(.tye-ts) body .mcm-below:not([style*="top:"]) {
  top: var(--mcm-below) !important; max-height: calc(100dvh - var(--mcm-below) - var(--bb-clear, 0px) - 8px) !important;
}
html.tye-mcm:not(.tye-ts) body #v3d-rp.mcm-below:not([style*="top:"]) {   /* (fix round 2: phase_rp_drawer.js fixes it at top 96px with an id rule) */
  top: var(--mcm-below) !important; max-height: calc(100dvh - var(--mcm-below) - 76px) !important;
}

/* ---------- 5. CAD fullscreen: the floating chat card starts under the bar (as the Drawing CM does) ---------- */
html.tye-mcm:not(.tye-ts) body.cad-fullscreen.fs-chat-open:has(#mcm-bar:is([data-mcm-view="solid"], [data-mcm-view="3d"])):has(#vp-3d.active) #left-pane:not([style*="top"]) {
  top: 258px; height: min(78vh, 820px, calc(100vh - 274px));
}
/* END MODEL_CM_2026Q4 */
