:root {
  --mai-hue: 145;
  --mai-accent: hsl(var(--mai-hue) 62% 38%);
  --mai-accent-soft: hsl(var(--mai-hue) 70% 94%);
  --mai-bg: #fffdf8;
  --mai-surface: rgba(255,255,255,.92);
  --mai-text: #20262b;
  --mai-muted: #59636b;
  --mai-radius: 18px;
  --mai-shadow: 0 12px 38px rgba(31,45,55,.13);
  --mai-motion: 220ms;
}

html[data-mai-color="red"]    { --mai-hue: 2; }
html[data-mai-color="orange"] { --mai-hue: 28; }
html[data-mai-color="yellow"] { --mai-hue: 46; --mai-accent: #765d00; }
html[data-mai-color="green"]  { --mai-hue: 145; }
html[data-mai-color="blue"]   { --mai-hue: 211; }
html[data-mai-color="indigo"] { --mai-hue: 245; }
html[data-mai-color="violet"] { --mai-hue: 283; }

html[data-mai-season="spring"] { --mai-bg:#fffafc; --mai-accent-soft:#f7edf5; }
html[data-mai-season="summer"] { --mai-bg:#f7fcff; --mai-accent-soft:#e9f7fb; }
html[data-mai-season="autumn"] { --mai-bg:#fffaf1; --mai-accent-soft:#faeedc; }
html[data-mai-season="winter"] { --mai-bg:#f7f9fc; --mai-accent-soft:#eaf0f7; }

body.mai-healing-enabled { background-color:var(--mai-bg); color:var(--mai-text); transition:background-color var(--mai-motion) ease; }
body.mai-healing-enabled :where(a:not(.btn), .link) { color:var(--mai-accent); }
body.mai-healing-enabled :where(.btn-primary, button[type="submit"], input[type="submit"]) {
  background:var(--mai-accent); border-color:var(--mai-accent); color:#fff;
}
body.mai-healing-enabled :where(a,button,input,select,textarea):focus-visible {
  outline:3px solid var(--mai-accent); outline-offset:3px;
}

.mai-healing-panel { position:fixed; z-index:2147483000; right:16px; bottom:16px; font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; color:#20262b; }
.mai-healing-toggle { width:52px; height:52px; float:right; border:0; border-radius:50%; cursor:pointer; background:linear-gradient(135deg,#ef5350,#ffb300,#43a047,#1e88e5,#5e35b1); color:#fff; box-shadow:var(--mai-shadow); font-size:24px; }
.mai-healing-card { display:none; width:min(330px,calc(100vw - 32px)); margin-bottom:10px; padding:18px; background:var(--mai-surface); border:1px solid rgba(0,0,0,.1); border-radius:var(--mai-radius); box-shadow:var(--mai-shadow); backdrop-filter:blur(14px); }
.mai-healing-panel[data-open="true"] .mai-healing-card { display:block; animation:mai-in var(--mai-motion) ease-out; }
.mai-healing-title { margin:0 0 4px; font-size:17px; font-weight:750; }
.mai-healing-note { margin:0 0 14px; color:#59636b; }
.mai-healing-label { display:block; margin:12px 0 7px; font-weight:700; }
.mai-healing-colors,.mai-healing-seasons { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; }
.mai-healing-seasons { grid-template-columns:repeat(4,1fr); }
.mai-color { width:34px; height:34px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #8b949b; cursor:pointer; }
.mai-color[aria-pressed="true"],.mai-season[aria-pressed="true"] { box-shadow:0 0 0 3px var(--mai-accent); }
.mai-season { padding:7px 3px; border:1px solid #aeb7bd; border-radius:10px; background:#fff; cursor:pointer; }
.mai-checks { display:grid; gap:8px; margin-top:14px; }
.mai-checks label { display:flex; gap:8px; align-items:center; }
.mai-reset { width:100%; margin-top:14px; padding:8px; border:1px solid #9aa4aa; border-radius:10px; background:#fff; cursor:pointer; }

html.mai-high-contrast { --mai-bg:#fff; --mai-surface:#fff; --mai-text:#000; --mai-muted:#222; }
html.mai-high-contrast body :where(p,span,li,label,h1,h2,h3,h4,h5,h6) { text-shadow:none; }
html.mai-calm *, html.mai-calm *::before, html.mai-calm *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.001ms!important; }
@keyframes mai-in { from { opacity:0; transform:translateY(8px); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.001ms!important; scroll-behavior:auto!important; transition-duration:.001ms!important; } }
@media print { .mai-healing-panel { display:none!important; } }


/* MASTERAI_HEALING_BUTTON_FIX_V112
   Keep the healing control above the site's existing three floating buttons. */
.mai-healing-panel {
  position: fixed !important;
  right: 18px !important;
  bottom: 190px !important;
  z-index: 2147483647 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.mai-healing-toggle {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
@media (max-width: 640px) {
  .mai-healing-panel { right: 12px !important; bottom: 176px !important; }
}
#mai-healing-toast{position:fixed;z-index:2147483647;right:18px;bottom:260px;padding:11px 16px;border-radius:999px;background:#122033;color:#fff;font:700 14px/1.3 system-ui;box-shadow:0 8px 24px #0004;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}
#mai-healing-toast.show{opacity:1;transform:none}
html[data-mai-color] body{background:linear-gradient(135deg,var(--mai-accent-soft),var(--mai-bg)) fixed!important}
.mai-color[aria-pressed="true"],.mai-season[aria-pressed="true"]{transform:scale(1.08);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--mai-accent)!important}

/* MASTERAI_HEALING_OS_V200 */
html[data-mai-color="red"]    { --mai-bg1:#721c24; --mai-bg2:#a12b38; --mai-accent:#ff7b86; }
html[data-mai-color="orange"] { --mai-bg1:#743000; --mai-bg2:#a64d00; --mai-accent:#ffad66; }
html[data-mai-color="yellow"] { --mai-bg1:#594500; --mai-bg2:#806500; --mai-accent:#ffe16a; }
html[data-mai-color="green"]  { --mai-bg1:#0e4f35; --mai-bg2:#14744b; --mai-accent:#66e1a7; }
html[data-mai-color="blue"]   { --mai-bg1:#123e68; --mai-bg2:#17649a; --mai-accent:#70c7ff; }
html[data-mai-color="indigo"] { --mai-bg1:#28235f; --mai-bg2:#443b91; --mai-accent:#aaa2ff; }
html[data-mai-color="violet"] { --mai-bg1:#57205f; --mai-bg2:#81318c; --mai-accent:#e6a1ef; }

html[data-mai-season="spring"] { --mai-season:rgba(255,190,220,.28); --mai-warm:rgba(255,255,255,.10); }
html[data-mai-season="summer"] { --mai-season:rgba(89,218,255,.25);  --mai-warm:rgba(255,225,115,.13); }
html[data-mai-season="autumn"] { --mai-season:rgba(255,154,70,.28);  --mai-warm:rgba(255,216,128,.11); }
html[data-mai-season="winter"] { --mai-season:rgba(178,220,255,.24); --mai-warm:rgba(255,255,255,.08); }

html:not(.mai-high-contrast) body.mai-healing-enabled {
  min-height:100vh;
  color:#fff !important;
  background:
    radial-gradient(circle at 12% 8%,var(--mai-season),transparent 34%),
    radial-gradient(circle at 88% 18%,var(--mai-warm),transparent 30%),
    linear-gradient(145deg,var(--mai-bg1),var(--mai-bg2)) fixed !important;
}
html:not(.mai-high-contrast) body.mai-healing-enabled :where(
  main,section,article,header,footer,nav,
  h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,li,dt,dd
) { color:#fff; }
html:not(.mai-high-contrast) body.mai-healing-enabled :where(
  [class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"],
  [class*="tile"],[class*="Tile"],[class*="stat"],[class*="Stat"],
  [class*="metric"],[class*="Metric"],[class*="kpi"],[class*="KPI"]
) {
  background:rgba(5,15,30,.62) !important;
  background-image:none !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(12px);
}
html:not(.mai-high-contrast) body.mai-healing-enabled :where(
  [class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"],
  [class*="tile"],[class*="Tile"],[class*="stat"],[class*="Stat"],
  [class*="metric"],[class*="Metric"],[class*="kpi"],[class*="KPI"]
) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,li,dt,dd) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html:not(.mai-high-contrast) body.mai-healing-enabled :where(a:not(.btn)) {
  color:#fff !important;
  text-decoration-color:var(--mai-accent);
}
html:not(.mai-high-contrast) body.mai-healing-enabled :where(input,textarea,select,option) {
  background:#fff !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}
html:not(.mai-high-contrast) body.mai-healing-enabled :where(.btn-primary,button[type="submit"],input[type="submit"]) {
  background:#fff !important;
  color:var(--mai-bg1) !important;
  -webkit-text-fill-color:var(--mai-bg1) !important;
  border:2px solid #fff !important;
  font-weight:800;
}
html:not(.mai-high-contrast) .mai-healing-card {
  background:rgba(255,255,255,.96) !important;
  color:#111 !important;
}
html:not(.mai-high-contrast) .mai-healing-card :where(h1,h2,h3,p,span,label) {
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}
@media (prefers-reduced-motion:no-preference) {
  html:not(.mai-calm) body.mai-healing-enabled { transition:background .45s ease,color .25s ease; }
}
