/* MIMO / EDITORIAL EDITION : brand styling only; main canvas pixels & export untouched */
body.mimo-theme {
  --mimo-bg: #f4f2ef;
  --mimo-bg-soft: #ffffff;
  --mimo-panel: #ffffff;
  --mimo-panel-2: #f4f2ef;
  --mimo-panel-3: #efedf0;
  --mimo-border: #e5e2e1;
  --mimo-border-strong: #d5d0d2;
  --mimo-text: #19171c;
  --mimo-muted: #565159;
  --mimo-subtle: #77717a;
  --mimo-accent: #b41c60;
  --mimo-accent-2: #b41c60;
  --mimo-accent-soft: #f9ebf0;
  --mimo-title: #19171c;
  --mimo-headline: #19171c;
  --mimo-control-text: #19171c;
  --mimo-control-surface: #ffffff;
  --mimo-control-hover: #f7f5f6;
  --mimo-divider: #e5e2e1;
  --mimo-aside-line: #e5e2e1;
  --mimo-flat-panel: #fff;
  --mimo-flat-panel-2: #f6f4f5;
  --mimo-flat-panel-dark: #fff;
  --mimo-flat-panel-dark-2: #f6f4f5;
  --mimo-ink: #171519;
  --mimo-surface: #fff;
  --mimo-field: #f8f7f6;
  --mimo-button-secondary: #f5f3f4;
  --mimo-worktop: #e9e7e5;
  --mimo-copy: #565159;
  --mimo-rule: #e6e3e2;
  --mimo-logo: #b41c60;
  --mimo-soft-accent: #f9e9f0;
  background: #f4f2ef !important;
  color: #19171c !important;
  font-family: 'Plus Jakarta Sans', 'Noto Sans SC', Arial, sans-serif;
}
body.mimo-theme[data-theme="dark"] {
  --mimo-bg: #101013;
  --mimo-bg-soft: #1b1b20;
  --mimo-panel: #18181c;
  --mimo-panel-2: #222227;
  --mimo-panel-3: #28282d;
  --mimo-border: #35343a;
  --mimo-border-strong: #4a464d;
  --mimo-text: #f9f7f8;
  --mimo-muted: #c4bec5;
  --mimo-subtle: #aaa3ad;
  --mimo-accent: #ff74b1;
  --mimo-accent-2: #ff74b1;
  --mimo-accent-soft: rgba(255,116,177,.14);
  --mimo-title: #f9f7f8;
  --mimo-headline: #f9f7f8;
  --mimo-control-text: #f9f7f8;
  --mimo-control-surface: #222227;
  --mimo-control-hover: #2b292f;
  --mimo-divider: #35343a;
  --mimo-aside-line: #35343a;
  --mimo-flat-panel: #18181c;
  --mimo-flat-panel-2: #26242a;
  --mimo-flat-panel-dark: #18181c;
  --mimo-flat-panel-dark-2: #252329;
  --mimo-ink: #f9f7f8;
  --mimo-surface: #18181c;
  --mimo-field: #232227;
  --mimo-button-secondary: #28272d;
  --mimo-worktop: #101013;
  --mimo-copy: #c4bec5;
  --mimo-rule: #34333a;
  --mimo-logo: #ff74b1;
  --mimo-soft-accent: rgba(255,116,177,.12);
  background: #101013 !important;
  color: #f9f7f8 !important;
}
body.mimo-theme .checkerboard {
  background-color: #fff !important;
  background-image: linear-gradient(45deg,#ecebed 25%,transparent 25%),linear-gradient(-45deg,#ecebed 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ecebed 75%),linear-gradient(-45deg,transparent 75%,#ecebed 75%) !important;
}
/* Editorial app bar: charcoal in both skins creates brand identity */
body.mimo-theme > header {
  height: 70px !important;
  min-height: 70px !important;
  background: #19181c !important;
  border-bottom: 1px solid #343039 !important;
  box-shadow: none !important;
  padding: 0 22px !important;
}
body.mimo-theme > header > .flex:first-child { min-width: 247px; }
body.mimo-theme > header h1.mimo-brand-title {
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-family: 'Plus Jakarta Sans','Noto Sans SC',Arial,sans-serif;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.055em !important;
  line-height: 1.2;
  white-space: nowrap;
  background: none !important;
  color: #fcfafa !important;
  -webkit-text-fill-color: #fcfafa !important;
}
body.mimo-theme > header h1 .mimo-studio-word { font-weight: 500; letter-spacing: .11em; font-size: 12px; margin-left: 2px; }
body.mimo-theme > header h1 .mimo-cn-name {
  font-size: 11px; letter-spacing: .025em; font-weight: 600; color:#ff92bf !important;
  -webkit-text-fill-color: #ff92bf !important; margin-left: 8px;
}
body.mimo-theme > header p { color: #d5cdd4 !important; font-size: 9px !important; letter-spacing: .11em; margin-top: 4px; }
body.mimo-theme .mimo-catmark {
  width: 40px; height: 40px; flex: 0 0 40px;
  border-radius: 9px !important;
  background: #b41c60 !important;
  box-shadow: none !important;
}
body.mimo-theme .mimo-catmark svg { width: 25px; height: 25px; fill: none !important; color: white !important; }
body.mimo-theme .mimo-catmark img { width: 34px; height: 34px; display:block; object-fit:contain; }
body.mimo-theme > header button:not(#btn-shuffle):not(#btn-quick-export):not(#btn-export-dropdown):not([data-export-option]),
body.mimo-theme > header .mimo-theme-switch {
  color: #f0eaef !important;
  background: #29272d !important;
  border: 1px solid #45404a !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.mimo-theme > header button:not(#btn-shuffle):not(#btn-quick-export):not(#btn-export-dropdown):not([data-export-option]):hover { background:#3a323b !important; }
body.mimo-theme > header .mimo-theme-switch { border-radius: 9px !important; padding: 3px; gap: 2px; }
body.mimo-theme > header .mimo-theme-chip {
  background: transparent !important; color: #dad1da !important; border: 0 !important;
  padding: 7px 10px; border-radius: 6px !important; font-size: 10px;
  letter-spacing: .025em; white-space:nowrap;
}
body.mimo-theme > header .mimo-theme-chip.active { background: #fff !important; color: #19171c !important; box-shadow: none !important; }
body.mimo-theme #btn-shuffle,
body.mimo-theme #btn-quick-export,
body.mimo-theme #btn-export-tile,
body.mimo-theme #btn-apply-custom-size,
body.mimo-theme #btn-sticker-fill,
body.mimo-theme #btn-delete-active {
  background: #b41c60 !important;
  background-image: none !important;
  border: 1px solid #b41c60 !important;
  color: white !important;
  box-shadow: none !important;
}
body.mimo-theme #btn-shuffle:hover,
body.mimo-theme #btn-quick-export:hover,
body.mimo-theme #btn-sticker-fill:hover { background: #93164e !important; }
body.mimo-theme #btn-export-dropdown { background:#94174f !important; border-color:#b41c60 !important; border-radius:0 8px 8px 0 !important; }
body.mimo-theme #btn-shuffle,
body.mimo-theme #btn-quick-export { border-radius: 8px !important; }
body.mimo-theme #btn-preview-tile,
body.mimo-theme #btn-save-preset,
body.mimo-theme #btn-load-preset-file { box-shadow:none !important; }
/* Workbench layout: hierarchy, generous neutral surfaces, zero decorative glows */
body.mimo-theme aside {
  background: var(--mimo-bg) !important;
  border-right: 1px solid var(--mimo-rule) !important;
}
body.mimo-theme main { background: var(--mimo-worktop) !important; }
body.mimo-theme main > div:first-child {
  height: 43px !important;
  background: var(--mimo-surface) !important;
  border-color: var(--mimo-rule) !important;
  color: var(--mimo-copy) !important;
}
body.mimo-theme #rendered-items-indicator { color: var(--mimo-ink) !important; font-weight: 700; }
body.mimo-theme #selected-item-label { color: var(--mimo-accent) !important; }
body.mimo-theme #canvas-viewport {
  background: var(--mimo-worktop) !important;
  background-image: none !important;
}
body.mimo-theme #canvas-wrapper {
  background: #fff !important;
  border: 1px solid #d4d1d4 !important;
  box-shadow: 0 14px 42px rgba(19,17,22,.12) !important;
  border-radius: 2px !important;
}
body.mimo-theme[data-theme="dark"] #canvas-wrapper { border-color:#3d393f !important; box-shadow: 0 16px 52px rgba(0,0,0,.37) !important; }
/* Left settings: organized editorial rules instead of stacked candy cards */
body.mimo-theme aside > section,
body.mimo-theme aside #sticker-mode-panel,
body.mimo-theme aside #seamless-module-panel,
body.mimo-theme aside #shared-common-panel {
  margin: 0 !important;
  padding: 20px 19px !important;
  border: none !important;
  border-bottom: 1px solid var(--mimo-rule) !important;
  border-radius: 0 !important;
  background: var(--mimo-surface) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.mimo-theme aside > section::before { display: none !important; }
body.mimo-theme aside > section:last-child { margin: 0 !important; }
body.mimo-theme aside h2,
body.mimo-theme aside #shared-common-panel .uppercase,
body.mimo-theme aside > section > label.font-semibold,
body.mimo-theme aside > section > .uppercase,
body.mimo-theme aside #seamless-module-panel h2,
body.mimo-theme aside #sticker-mode-panel h2 {
  color: var(--mimo-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
}
body.mimo-theme aside p,
body.mimo-theme aside .text-slate-400,
body.mimo-theme aside .text-slate-500,
body.mimo-theme aside .text-slate-600,
body.mimo-theme aside .text-slate-700,
body.mimo-theme aside .text-rose-300,
body.mimo-theme aside .text-amber-200,
body.mimo-theme aside .text-sky-200,
body.mimo-theme aside .text-pink-200,
body.mimo-theme aside .text-indigo-300,
body.mimo-theme aside .text-emerald-300 {
  color: var(--mimo-copy) !important;
}
body.mimo-theme aside .text-slate-200,
body.mimo-theme aside .text-slate-300,
body.mimo-theme aside label,
body.mimo-theme aside .text-xs,
body.mimo-theme aside .text-\\[11px\\] { color: var(--mimo-ink) !important; }
body.mimo-theme aside .font-mono { font-family:'Plus Jakarta Sans','Noto Sans SC',sans-serif !important; }
body.mimo-theme aside [id^="val-"],
body.mimo-theme aside [id^="scale-val-"],
body.mimo-theme aside [id^="weight-val-"],
body.mimo-theme aside #sticker-safety-val,
body.mimo-theme aside #sticker-random-angle-val,
body.mimo-theme aside #sticker-random-size-val { color:var(--mimo-ink) !important; font-weight:700; }
body.mimo-theme aside .text-\\[10px\\] { line-height:1.5; }
body.mimo-theme aside #element-count-badge {
  background: var(--mimo-field) !important; color: var(--mimo-copy) !important;
  border: 1px solid var(--mimo-rule) !important;
}
body.mimo-theme aside #shared-common-panel { padding-top: 13px !important; padding-bottom: 13px !important; }
body.mimo-theme aside #shared-common-panel > div {
  border: 0 !important; border-radius:0 !important; background:transparent !important; padding:0 !important;
}
body.mimo-theme aside #shared-common-panel .uppercase { color: var(--mimo-accent) !important; font-size: 10px !important; letter-spacing: .15em !important; font-weight: 800 !important; }
body.mimo-theme aside #shared-common-panel p { margin-top: 6px; }
body.mimo-theme aside #seamless-module-panel,
body.mimo-theme aside #sticker-mode-panel { background: var(--mimo-surface) !important; border-left: 3px solid transparent !important; }
body.mimo-theme aside #seamless-module-panel:has(#toggle-seamless-module:checked),
body.mimo-theme aside #sticker-mode-panel:has(#toggle-sticker-mode:checked) {
  border-left-color: var(--mimo-accent) !important;
  background:var(--mimo-surface) !important;
}
body.mimo-theme aside .mimo-module-title-en {
  color: var(--mimo-subtle) !important; font-size: 9px; font-weight: 800; letter-spacing: .14em; margin-left: 6px;
}
body.mimo-theme aside #seamless-module-panel > div > div > p,
body.mimo-theme aside #sticker-mode-panel > div > div > p { font-size: 10px !important; margin-top:6px; }
body.mimo-theme aside span[data-mimo-kicker] {
  display:block; font-size:9px; font-weight:800; color:var(--mimo-accent) !important;
  letter-spacing:.18em; line-height:1.35; margin-bottom:7px; text-transform:uppercase;
}
body.mimo-theme aside [data-mimo-section="assets"] h2,
body.mimo-theme aside [data-mimo-section="assets"] > div:first-child > label { font-size:13px !important; }
/* Flat fields, thin borders, one purposeful accent */
body.mimo-theme aside #drop-zone {
  border: 1px dashed var(--mimo-border-strong) !important;
  background: var(--mimo-field) !important;
  border-radius: 8px !important;
  padding: 17px !important;
}
body.mimo-theme aside #drop-zone:hover { border-color: var(--mimo-accent) !important; background:var(--mimo-accent-soft) !important; }
body.mimo-theme aside #elements-list > div {
  background: var(--mimo-surface) !important;
  border: 1px solid var(--mimo-rule) !important;
  border-radius: 8px !important;
  box-shadow:none !important;
}
body.mimo-theme aside #elements-list > div:hover { border-color:var(--mimo-accent) !important; }
body.mimo-theme aside .bg-slate-900\/60,
body.mimo-theme aside .bg-slate-900\/90,
body.mimo-theme aside .bg-slate-900\/40,
body.mimo-theme aside .bg-slate-950\/60,
body.mimo-theme aside .bg-slate-950\/65,
body.mimo-theme aside .bg-slate-950\/70,
body.mimo-theme aside .bg-slate-950\/90,
body.mimo-theme aside .bg-slate-800,
body.mimo-theme aside .bg-slate-900,
body.mimo-theme aside .bg-slate-950 { background:var(--mimo-field) !important; }
body.mimo-theme aside .rounded-xl,
body.mimo-theme aside .rounded-lg,
body.mimo-theme aside .rounded-2xl { box-shadow:none !important; }
body.mimo-theme aside input[type="number"],
body.mimo-theme aside input[type="text"],
body.mimo-theme aside select {
  color:var(--mimo-ink) !important;
  background:var(--mimo-field) !important;
  border:1px solid var(--mimo-border-strong) !important;
  min-height:36px !important;
  border-radius:7px !important;
}
body.mimo-theme aside input[type="range"] { accent-color: var(--mimo-accent) !important; }
body.mimo-theme aside .layout-mode-btn,
body.mimo-theme aside .sizemode-btn,
body.mimo-theme aside .rot-mode-btn,
body.mimo-theme aside .canvas-preset-btn,
body.mimo-theme aside .dpi-preset-btn {
  background:var(--mimo-field) !important;
  color:var(--mimo-ink) !important;
  border:1px solid var(--mimo-rule) !important;
  border-radius:7px !important;
  box-shadow:none !important;
}
body.mimo-theme aside .layout-mode-btn.active,
body.mimo-theme aside .sizemode-btn.active,
body.mimo-theme aside .rot-mode-btn.active,
body.mimo-theme aside .canvas-preset-btn.active,
body.mimo-theme aside .dpi-preset-btn.bg-indigo-600 {
  background:var(--mimo-accent-soft) !important;
  color:var(--mimo-accent) !important;
  border-color:var(--mimo-accent) !important;
  box-shadow:none !important;
}
body.mimo-theme aside button:hover { transform:none !important; box-shadow:none !important; }
body.mimo-theme aside button:focus-visible,
body.mimo-theme aside select:focus-visible,
body.mimo-theme aside input:focus-visible,
body.mimo-theme #btn-theme-light:focus-visible,
body.mimo-theme #btn-theme-dark:focus-visible { outline:2px solid var(--mimo-accent) !important; outline-offset:2px; }
body.mimo-theme aside #btn-sticker-fill {
  background:#b41c60 !important; color:#fff !important; border:1px solid #b41c60 !important;
  min-height:43px !important; border-radius:7px !important; font-size:12px !important;
  font-weight:800 !important; letter-spacing:.01em;
}
body.mimo-theme aside #btn-sticker-randomize {
  background:var(--mimo-button-secondary) !important;
  color:var(--mimo-ink) !important;
  border:1px solid var(--mimo-rule) !important;
  min-height:39px !important; border-radius:7px !important;
  font-weight:700 !important;
}
/* Legacy export/outline hint: readable on paper and noir, not pale mint on pale pink */
body.mimo-theme aside .bg-emerald-950\/15 {
  background: var(--mimo-field) !important;
  color: var(--mimo-copy) !important;
  border-color: var(--mimo-rule) !important;
}
body.mimo-theme aside .bg-emerald-950\/15.text-emerald-200 {
  color: var(--mimo-copy) !important;
}
body.mimo-theme aside #sticker-extra-controls [class*="text-emerald-200"]:not(h2) {
  color: var(--mimo-copy) !important;
}
body.mimo-theme aside #btn-sticker-fill:disabled,
body.mimo-theme aside #btn-sticker-randomize:disabled { opacity:.55 !important; cursor:wait; }
body.mimo-theme aside #toggle-seamless-module + span,
body.mimo-theme aside #toggle-sticker-mode + span { border-color:var(--mimo-border-strong) !important; }
body.mimo-theme aside #toggle-seamless-module:checked + span,
body.mimo-theme aside #toggle-sticker-mode:checked + span { background:#b41c60 !important; }
/* Values and buttons keep labels visually differentiated but never rely only on color */
body.mimo-theme #btn-preview-tile,
body.mimo-theme #btn-save-preset,
body.mimo-theme #btn-load-preset-file { color:#f4eef1 !important; }
body.mimo-theme #btn-sticker-fill { color:white !important; }
body.mimo-theme #sticker-perf-status { color:var(--mimo-copy) !important; }
/* Toast: legible white / ink with editorial magenta marker; dark mode pale text */
body.mimo-theme #toast-container > .mimo-toast {
  color:#19171c !important; background:#fff !important; border:1px solid #ded9dc !important;
  box-shadow:0 10px 28px rgba(22,15,20,.16) !important; border-radius:8px !important;
}
body.mimo-theme #toast-container > .mimo-toast[data-kind="error"] {
  color:#721b42 !important; background:#fff7fa !important; border-color:#b41c60 !important;
}
body.mimo-theme[data-theme="dark"] #toast-container > .mimo-toast {
  color:#faf8f9 !important; background:#222126 !important; border-color:#57525b !important;
}
body.mimo-theme[data-theme="dark"] #toast-container > .mimo-toast[data-kind="error"] {
  color:#ffd9e9 !important; background:#321d29 !important; border-color:#ff74b1 !important;
}
body.mimo-theme #toast-container .mimo-toast-icon { background:#b41c60 !important; border-radius:6px !important; color:#fff !important; }
body.mimo-theme #toast-container .mimo-toast-message { color:inherit !important; }
body.mimo-theme #modal-tiling > div,
body.mimo-theme #export-menu { background:var(--mimo-surface) !important; border-color:var(--mimo-rule) !important; }
body.mimo-theme #export-menu button { color:var(--mimo-ink) !important; }
body.mimo-theme #export-menu button:hover { background:var(--mimo-accent-soft) !important; }
body.mimo-theme #export-menu [class*="text-slate-"] { color:var(--mimo-copy) !important; }
body.mimo-theme #export-menu .font-medium { color:var(--mimo-ink) !important; }
body.mimo-theme #loading-overlay { background:rgba(12,12,16,.72) !important; }
body.mimo-theme #loading-text { color:#f9f7f8 !important; }
body.mimo-theme .custom-scrollbar { scrollbar-color:var(--mimo-border-strong) transparent !important; }
body.mimo-theme .custom-scrollbar::-webkit-scrollbar-thumb { background:var(--mimo-border-strong) !important; }
@media (max-width:1250px){
  body.mimo-theme > header { gap:10px; padding:0 12px !important; }
  body.mimo-theme > header .mimo-cn-name { display:none; }
  body.mimo-theme > header > .flex:first-child { min-width:175px; }
  body.mimo-theme > header .mimo-theme-chip { padding:7px 7px; }
}
@media (prefers-reduced-motion:reduce){
  body.mimo-theme button { transition:none !important; }
}
