/* The encounter owns scrolling; its MAC image never becomes a shrinking flex item. */
.encounter.has-mac{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.encounter-open .coach{display:none}
.has-mac .reflection{flex:none;overflow:visible;max-height:none;display:block;min-height:auto}
.has-mac #macPanel{display:block}
.has-mac .mac-art{float:none;width:100%;height:auto;aspect-ratio:3/2;margin:9px 0 11px;align-self:auto}
.has-mac #macImage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.mac-art.has-dialogue .mac-pawn-preview{display:none}
.mac-art.has-dialogue{isolation:isolate}
.mac-detail-view{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none;border-radius:inherit;background:#e7dac3}
.mac-detail-view[hidden]{display:none}
.mac-detail-view .mac-detail-image{position:absolute;display:block;max-width:none;height:auto;aspect-ratio:3/2;object-fit:contain;pointer-events:none}
.mac-detail-caption{position:absolute;left:9px;bottom:9px;max-width:calc(100% - 18px);padding:5px 8px;border-radius:7px;background:#fff8e7ed;color:#64533f;font:600 10px/1.3 'Segoe UI',sans-serif;box-shadow:0 2px 10px #47321b22}
.is-detail-view .mac-enlarge{top:9px;bottom:auto;z-index:4}
.is-dialogue-editing .mac-detail-view{display:none}
.mac-lens-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 3px;min-height:32px;font:10px/1.35 'Segoe UI',sans-serif;color:#84745d}
.mac-lens-controls[hidden]{display:none}
.mac-lens-note{max-width:40%;font-size:9px}
.mac-lens-toggle{max-width:66%;min-height:32px;padding:6px 8px;border:1px solid #ddceb8;border-radius:8px;background:#fffaf0;color:#766047;font:inherit;text-align:right;cursor:pointer}
.mac-lens-toggle:hover{background:#fff5df;border-color:#ba9574}
.mac-lens-toggle:disabled{cursor:default;opacity:.6}
.mac-lens-toggle:focus-visible{outline:2px solid #528b82;outline-offset:2px}
.has-mac #macProgress{font-size:9px;letter-spacing:0;font-weight:400}
.has-mac #macNext[hidden]{display:none}
.md-overlay{position:absolute;pointer-events:none;z-index:3}
.md-token{position:absolute;display:grid;justify-items:center;align-content:center;gap:1px;width:44px;min-height:60px;padding:0;border:0;border-radius:12px;background:transparent;color:#5c4c3c;transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.md-token .md-person{width:36px;height:51px;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 2px 3px #30211066)}
.md-token-name{display:block;white-space:nowrap;font:600 8px/1.3 'Segoe UI',sans-serif;padding:2px 4px;border-radius:5px;background:#fff9e6ed;box-shadow:0 1px 4px #5037232b}
.md-token.is-selected{z-index:4}
.is-dialogue-editing{cursor:crosshair;touch-action:none}
.is-dialogue-editing .mac-enlarge{display:none}
.is-dialogue-editing .md-token{pointer-events:auto;cursor:grab;touch-action:none}
.is-dialogue-editing .md-token.is-selected{background:#fff9e438;outline:1px solid var(--role-color);outline-offset:2px}
.is-dialogue-dragging,.is-dialogue-dragging .md-token{cursor:grabbing}
.md-token:focus-visible{outline:2px solid var(--role-color);outline-offset:3px}
.mac-dialogue{margin:11px 0 7px;padding:10px 0 0;border-top:1px solid #e4d7c5;font:11px/1.45 'Segoe UI',sans-serif;color:#77634f}
.md-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mac-dialogue button{font:inherit;border:1px solid #ddceb8;border-radius:8px;background:#fffaf0;color:#766047;cursor:pointer;min-height:34px;padding:7px 9px}
.mac-dialogue button:hover{border-color:#ba9574;background:#fff5df}
.mac-dialogue button:disabled{cursor:default;opacity:.45}
.mac-dialogue button:focus-visible{outline:2px solid #528b82;outline-offset:2px}
.mac-dialogue .md-edit{font-weight:600;background:#f0e4d2}
.md-count{font-size:9px;color:#ad9378;margin-right:auto}
.md-perspective{display:flex;gap:3px}
.md-perspective button{font-size:9px;min-height:30px;padding:5px 7px}
.md-perspective button[aria-pressed=true]{border-color:#7c968a;background:#e4eee6;color:#405e51}
.md-palette{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:9px}
.is-editing .md-palette{display:grid}
.mac-dialogue .md-role{display:grid;justify-items:center;align-content:center;gap:3px;padding:7px 3px;min-height:79px;font-size:9px;line-height:1.2;text-align:center}
.md-role .md-person{width:29px;height:42px}
.md-role[aria-pressed=true]{border-color:var(--role-color);box-shadow:inset 0 0 0 1px var(--role-color);background:#fff6e5}
.md-categories{display:none;gap:6px;margin-top:10px}.is-editing .md-categories{display:flex}.md-categories button{flex:1;min-height:40px}.md-categories button[aria-pressed=true]{background:#d9f1e6;border-color:#65a591}.md-role[hidden]{display:none!important}
.md-family{margin-top:12px;padding:9px 0;border-top:1px solid #e1d3bd}.md-family summary{cursor:pointer;min-height:38px;display:flex;align-items:center;font-weight:650;color:#624b36}.md-family-note{font-size:11px;line-height:1.45}.md-family-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.md-family-fields label,.md-family-response{display:grid;gap:4px;font:11px/1.4 system-ui;color:#76624d}.md-family select{width:100%;min-width:0;min-height:42px;border:1px solid #d7c8af;border-radius:9px;background:#fffaf1;font:12px system-ui;color:#594530;padding:8px}.md-family select:focus-visible{outline:2px solid #538f81}.md-family-question{font:17px/1.4 Georgia,serif}.md-family-advice{font-weight:650}.md-family-aside,.md-family small{font:11px/1.45 system-ui;color:#897153}.md-family-response{margin-top:12px}.md-family-response[hidden]{display:none}.md-family-response-line{font:15px/1.4 Georgia,serif;color:#496c62}
.mac-dialogue .md-question{font:12px/1.45 Georgia,serif;color:#80664e;margin:9px 0 5px}
.md-edit-help{display:none;align-items:center;gap:8px;margin-top:7px}
.is-editing .md-edit-help{display:flex}
.md-edit-help small{font-size:9px;line-height:1.5;color:#a18a6e;flex:1}
.mac-dialogue .md-remove{font-size:9px;min-height:30px;padding:5px 7px}
.md-observer{display:flex;align-items:center;gap:8px;font-size:9px;margin-top:8px;color:#727f74}
.md-observer-person{display:block;flex:none;width:23px;height:31px;border:1px dashed #a6b5a9;border-radius:7px;padding:3px;background:#edf1e9}
.md-observer-person .md-person{width:100%;height:100%}

@media(max-width:600px){
  body.encounter-open .encounter.has-mac{display:block;left:12px;right:12px;top:74px;bottom:16px;width:auto;max-height:none;height:auto;overflow-y:auto;padding:14px 16px;z-index:6}
  body.group-session.encounter-open .session-panel{top:74px;bottom:auto;max-height:104px;overflow-y:auto;z-index:7}
  body.group-session.encounter-open .encounter.has-mac{top:188px}
  .has-mac .reflection{flex:none;overflow:visible;max-height:none;display:block;margin:8px 0 0;padding:0;min-height:auto}
  .has-mac #macPanel{display:block}
  .has-mac .mac-art{float:none;width:100%;height:auto;aspect-ratio:3/2;margin:8px 0 10px}
  .has-mac #macImage{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
  .has-mac .encounter-top{margin-bottom:5px}
  .has-mac>h2{font-size:21px;margin:8px 0 6px}
  .has-mac>p{font-size:10px;line-height:1.4;margin:0 0 8px}
  .has-mac .reflection h3{font-size:20px;margin:9px 0 6px}
  .has-mac .reflection #reflectionText{font-size:16px;line-height:1.4}
  .mac-dialogue{margin-top:10px}
  .md-token .md-person{width:34px;height:48px}
  .md-token-name{font-size:8px}
  .has-mac #macNext{display:block;margin-top:9px}
}

.inner-progress span.explored{background:#dfebe0;color:#497660;border-color:#b7d1bc}

@media(max-height:500px) and (min-width:601px){
  body.encounter-open .encounter.has-mac{display:block;right:12px;top:50px;bottom:12px;width:340px;max-height:none;overflow-y:auto}
  .has-mac .mac-art{float:none;width:100%;height:auto}
  .has-mac #macImage{height:auto;aspect-ratio:3/2}
}
