/* MotiveMap plugin styles. Everything is scoped under .mm so it sits safely inside any theme. */
@font-face{font-family:"MM Bricolage";src:url(../fonts/BricolageGrotesque-var.woff) format("woff");font-weight:400 800;font-display:swap}
@font-face{font-family:"MM Public Sans";src:url(../fonts/PublicSans-var.woff) format("woff");font-weight:100 900;font-display:swap}

.mm{--mm-bg:#EEF1F4;--mm-surface:#FFFFFF;--mm-ink:#16202B;--mm-muted:#5B6878;--mm-line:#D3DAE2;--mm-accent:#0D6B58;--mm-accent-ink:#FFFFFF;--mm-soft:#DDEDE8;
  --mm-m1:#0D6B58;--mm-m2:#A85F0A;--mm-m3:#4A55A2;--mm-on-m:#FFFFFF;--mm-attn:#B4500A;--mm-attn-soft:#FBEBDD;--mm-mid:#8A96A3;--mm-good:#0D6B58;
  --mm-display:"MM Bricolage","Trebuchet MS",sans-serif;--mm-body:"MM Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-family:var(--mm-body);font-size:16px;line-height:1.55;color:var(--mm-ink);max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:24px;text-align:left}
.mm *,.mm *::before,.mm *::after{box-sizing:border-box}
.mm [hidden]{display:none!important}
.mm p{margin:0;max-width:64ch}
.mm h2,.mm h3{margin:0;font-family:var(--mm-display);font-weight:700;line-height:1.15;color:var(--mm-ink);text-wrap:balance;letter-spacing:0}
.mm .mm-h1{font-size:clamp(1.7rem,4.5vw,2.3rem)}
.mm .mm-h2{font-size:1.45rem}
.mm h3{font-size:1.2rem}
.mm .mm-lede{font-size:1.1rem}
.mm .mm-eyebrow{font-family:var(--mm-display);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mm-accent)}
.mm .mm-muted{color:var(--mm-muted)}
.mm .mm-small{font-size:.875rem}
.mm .mm-stack{display:flex;flex-direction:column;gap:16px}
.mm .mm-card{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:14px;padding:22px}
.mm .mm-note{background:var(--mm-soft);border-radius:10px;padding:12px 14px;font-size:.95rem;max-width:none}
.mm .mm-note.mm-warn{background:var(--mm-attn-soft)}
.mm a{color:var(--mm-accent)}

/* Buttons and form controls */
.mm button{font:inherit;cursor:pointer;color:inherit;margin:0;text-transform:none;letter-spacing:normal;box-shadow:none}
.mm button:focus-visible,.mm input:focus-visible,.mm summary:focus-visible{outline:3px solid var(--mm-accent);outline-offset:2px}
.mm .mm-btn{background:var(--mm-accent);color:var(--mm-accent-ink);border:0;border-radius:8px;padding:12px 22px;font-weight:600;line-height:1.2;align-self:flex-start}
.mm .mm-btn:hover{filter:brightness(1.1)}
.mm .mm-btn:disabled{opacity:.6;cursor:default}
.mm .mm-btn-big{padding:15px 28px;font-size:1.05rem}
.mm .mm-back{background:transparent;border:1px solid var(--mm-line);border-radius:8px;padding:8px 14px;align-self:flex-start;color:var(--mm-ink)}
.mm .mm-label{font-weight:600;font-size:.92rem;display:flex;flex-direction:column;gap:6px}
.mm .mm-input{font:inherit;color:var(--mm-ink);background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:8px;padding:10px 12px;width:100%;max-width:380px}
.mm .mm-check-line{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;max-width:64ch}
.mm .mm-check-line input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--mm-accent)}
.mm .mm-err{color:#A4271A;font-weight:600}
.mm .mm-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Lists */
.mm .mm-steps{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:10px;max-width:64ch}
.mm .mm-facts{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.mm .mm-facts li{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:999px;padding:6px 14px;font-size:.92rem}
.mm .mm-ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mm .mm-ticks li{padding-left:28px;position:relative}
.mm .mm-ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--mm-soft);color:var(--mm-accent);font-weight:700;font-size:.8rem;display:grid;place-items:center;margin-top:2px}

/* Step 1 interview */
.mm .mm-prog{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mm .mm-pyr{display:flex;flex-direction:column;align-items:center;gap:3px;width:66px;flex:none}
.mm .mm-pyr span{height:9px;border-radius:2px;background:var(--mm-line)}
.mm .mm-pyr span.on{background:var(--mm-accent)}
.mm .mm-pyr .t3{width:22px}.mm .mm-pyr .t2{width:44px}.mm .mm-pyr .t1{width:66px}
.mm .mm-stage{font-family:var(--mm-display);font-weight:700}
.mm .mm-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mm .mm-opts.mm-tri{grid-template-columns:1fr}
.mm .mm-opt{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.mm .mm-txt{font-family:var(--mm-display);font-weight:500;font-size:1.2rem;line-height:1.25;flex:1}
.mm .mm-opt button,.mm .mm-fake{border:1px solid var(--mm-accent);border-radius:8px;padding:10px 12px;text-align:left;font-weight:600;font-size:.92rem;transition:opacity .25s;display:block}
.mm .mm-clear{background:var(--mm-accent);color:var(--mm-accent-ink)}
.mm .mm-lean{background:transparent;color:var(--mm-accent)}
.mm .mm-opt .mm-weak,.mm .mm-fake.mm-weak{background:transparent;border:1px dashed var(--mm-line);color:var(--mm-muted);font-weight:500;font-size:.85rem;padding:8px 12px}
.mm .mm-demo{opacity:.75}.mm .mm-demo .mm-txt{font-size:1.05rem}.mm .mm-demo .mm-fake{font-size:.85rem;padding:8px 12px}
.mm .mm-enter .mm-opts,.mm .mm-enter .mm-stem,.mm .mm-enter .mm-prog,.mm .mm-check-run.mm-enter .mm-qtext,.mm .mm-check-run.mm-enter .mm-scale{animation:mm-rise .35s both}
.mm .mm-locked .mm-opt button{pointer-events:none;opacity:.55}

/* Step 1 result */
.mm .mm-tiers{display:flex;flex-direction:column;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.mm .mm-tier{border-radius:10px;padding:14px 18px;color:var(--mm-on-m);display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;min-width:0;animation:mm-rise .5s both;margin:0}
.mm .mm-tier:nth-child(1){width:100%;background:var(--mm-m1);padding-block:22px}
.mm .mm-tier:nth-child(2){width:82%;background:var(--mm-m2);animation-delay:.12s}
.mm .mm-tier:nth-child(3){width:64%;background:var(--mm-m3);animation-delay:.24s;padding-block:10px}
.mm .mm-place{font-family:var(--mm-display);font-weight:700;font-size:2rem;grid-row:1/3;line-height:1}
.mm .mm-tier:nth-child(1) .mm-place{font-size:2.6rem}
.mm .mm-pname{font-family:var(--mm-display);font-weight:700;font-size:1.2rem}
.mm .mm-tier:nth-child(1) .mm-pname{font-size:1.6rem}
.mm .mm-tier .mm-rec{grid-column:2;font-size:.9rem;font-weight:600;opacity:.95}
.mm .mm-group{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mm .mm-group li{background:var(--mm-surface);border:1px solid var(--mm-accent);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;margin:0}
.mm .mm-group .mm-rec{font-size:.9rem;color:var(--mm-muted)}
.mm .mm-group.mm-less li{border:1px dashed var(--mm-line);background:transparent}
.mm .mm-theme{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.mm .mm-theme.mm-minor{background:transparent}
.mm .mm-thead{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.mm .mm-thead h3{font-size:1.3rem}
.mm .mm-fit{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mm-muted)}
.mm .mm-bar{height:10px;border-radius:5px;background:var(--mm-line);display:flex;overflow:hidden}
.mm .mm-bar i{display:block;height:100%}
.mm .mm-legend{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:.85rem;color:var(--mm-muted)}
.mm .mm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline}
.mm .mm-c1{background:var(--mm-m1)}.mm .mm-c2{background:var(--mm-m2)}.mm .mm-c3{background:var(--mm-m3)}
.mm .mm-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.mm .mm-role{border:1px solid var(--mm-line);background:var(--mm-bg);border-radius:8px;padding:10px 12px;font-weight:500;font-size:.95rem;animation:mm-rise .4s both;margin:0}
.mm .mm-save,.mm .mm-unlock{border-color:var(--mm-accent);border-width:2px}
.mm .mm-unlock{background:linear-gradient(180deg,var(--mm-soft),var(--mm-surface) 140px)}

/* Step 2 questionnaire */
.mm .mm-progress{display:flex;align-items:center;gap:12px}
.mm .mm-ptrack{flex:1;height:10px;border-radius:5px;background:var(--mm-line);overflow:hidden}
.mm .mm-pfill{height:100%;width:0;background:var(--mm-accent);border-radius:5px;transition:width .25s}
.mm .mm-plabel{white-space:nowrap;color:var(--mm-muted);min-width:9ch;text-align:right}
.mm .mm-qtext{font-family:var(--mm-display);font-weight:600;font-size:clamp(1.3rem,3.6vw,1.65rem);line-height:1.3;min-height:4.2em;display:flex;align-items:center;max-width:none}
.mm .mm-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.mm .mm-sbtn{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:10px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.mm .mm-sbtn:hover{border-color:var(--mm-accent)}
.mm .mm-sbtn[aria-pressed=true]{background:var(--mm-accent);border-color:var(--mm-accent);color:var(--mm-accent-ink)}
.mm .mm-snum{font-family:var(--mm-display);font-weight:700;font-size:1.25rem;line-height:1}
.mm .mm-slab{font-size:.78rem;line-height:1.2;text-align:center}

/* Report */
.mm .mm-rep-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--mm-line);padding-bottom:16px}
.mm .mm-part{font-family:var(--mm-display);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mm-muted);border-top:3px solid var(--mm-accent);padding-top:10px;margin-top:8px}
.mm .mm-hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mm .mm-hbars li{display:grid;grid-template-columns:minmax(120px,190px) 1fr 2.6em;gap:10px;align-items:center;margin:0;font-size:.92rem}
.mm .mm-hb-track{height:12px;border-radius:6px;background:var(--mm-bg);overflow:hidden}
.mm .mm-hb-fill{display:block;height:100%;border-radius:6px;background:var(--mm-mid)}
.mm .mm-hb-attention .mm-hb-fill,.mm .mm-hb-dot-attention{background:var(--mm-attn)}
.mm .mm-hb-positive .mm-hb-fill,.mm .mm-hb-dot-positive{background:var(--mm-good)}
.mm .mm-hb-dot-medium{background:var(--mm-mid)}
.mm .mm-hb-attention .mm-hb-name{font-weight:700}
.mm .mm-hb-val{font-variant-numeric:tabular-nums;color:var(--mm-muted);text-align:right}
.mm .mm-gtitle{margin-top:8px}
.mm .mm-insight{background:var(--mm-surface);border:1px solid var(--mm-line);border-left:5px solid var(--mm-mid);border-radius:10px}
.mm .mm-ins-attention{border-left-color:var(--mm-attn)}
.mm .mm-ins-positive{border-left-color:var(--mm-good)}
.mm .mm-insight summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:600}
.mm .mm-insight summary::-webkit-details-marker{display:none}
.mm .mm-insight summary::after{content:"+";font-family:var(--mm-display);font-size:1.3rem;line-height:1;color:var(--mm-muted)}
.mm .mm-insight[open] summary::after{content:"–"}
.mm .mm-ins-name{flex:1}
.mm .mm-ins-score{font-variant-numeric:tabular-nums;color:var(--mm-muted);font-weight:500}
.mm .mm-ins-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}

@keyframes mm-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mm *{animation:none!important;transition:none!important}}
@media (max-width:600px){
  .mm .mm-opts{grid-template-columns:1fr}
  .mm .mm-tier:nth-child(2){width:93%}.mm .mm-tier:nth-child(3){width:86%}
  .mm .mm-card{padding:18px}
  .mm .mm-scale{grid-template-columns:1fr;gap:6px}
  .mm .mm-sbtn{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px}
  .mm .mm-slab{font-size:.95rem;text-align:left}
  .mm .mm-hbars li{grid-template-columns:1fr 2.6em;row-gap:4px}
  .mm .mm-hbars .mm-hb-name{grid-column:1/3}
  .mm .mm-hbars .mm-hb-track{grid-column:1}
}
@media print{
  .mm{max-width:none;gap:14px}
  .mm .mm-print,.mm .mm-unlock,.mm .mm-save,.mm .mm-sharpen{display:none!important}
  .mm .mm-tier,.mm .mm-role{animation:none!important}
  .mm .mm-tier,.mm .mm-c1,.mm .mm-c2,.mm .mm-c3,.mm .mm-hb-fill,.mm .mm-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .mm .mm-theme,.mm .mm-insight,.mm .mm-card{break-inside:avoid}
  .mm .mm-insight summary::after{content:""}
}
