/* Myenteric plexus lesson. All rules scoped under .myp-* */
.myp-sc { position: relative; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.myp-note { font-size: 12.5px; color: var(--faint); text-align: center; max-width: 300px; }
.myp-hero img { display: block; width: 300px; max-width: 100%; max-height: 34vh; object-fit: contain; margin: 0 auto; filter: drop-shadow(0 18px 30px rgba(123, 92, 253, .3)); }

/* ---------- the wall, sliced ---------- */
.myp-slab { display: block; width: 100%; max-width: 360px; height: auto; border-radius: 12px; overflow: hidden; }
.myp-l-in { fill: #1A1424; }
.myp-l-lin { fill: #E58A9A; }
.myp-l-sub { fill: #F3C4B8; }
.myp-l-ves { fill: #C63B4E; stroke: #8E2233; stroke-width: 1.5; }
.myp-l-rm { fill: #B86A86; }
.myp-l-cut ellipse { fill: #CF8AA2; stroke: #9C4F6C; stroke-width: 1; }
.myp-l-gap { fill: #8C4A66; }
.myp-l-lm { fill: #9E5575; }
.myp-l-long path { stroke: #C47C99; stroke-width: 2; }
.myp-l-out { fill: #E9D2DA; }
.myp-labs text { fill: #FFFFFF; font: 700 12.5px var(--sans); paint-order: stroke; stroke: rgba(40, 14, 30, .75); stroke-width: 3px; }
.myp-labs text:first-child { fill: var(--dim); stroke: none; }
.myp-nf { fill: none; stroke-width: 2.4; stroke-linecap: round; }
.myp-nf.my { stroke: var(--gold); }
.myp-nk ellipse { stroke: rgba(0, 0, 0, .35); stroke-width: 1; opacity: inherit; }
.myp-nk { opacity: 0; }
.myp-nk.my ellipse { fill: var(--gold); }
.myp-nlabs text { font: 800 13px var(--sans); text-anchor: end; paint-order: stroke; stroke: rgba(30, 10, 24, .85); stroke-width: 3.5px; }
.myp-nlabs text.my { fill: var(--gold); }
.myp-slab.glow-my .myp-nf.my { stroke-width: 3.6; filter: drop-shadow(0 0 5px currentColor); }
.myp-slab.glow-my .myp-nf.my { color: var(--gold); }

/* ---------- the gut, cut open ---------- */
.myp-gut { display: block; width: 100%; max-width: 380px; height: auto; overflow: visible; }
.myp-lumen { fill: rgba(20, 14, 30, .92); }
.myp-wall { fill: #D9798C; stroke: #F0AAB6; stroke-width: 1; }
.myp-ring { fill: none; stroke-width: 9; stroke-linecap: round; transition: stroke-width .2s; }
.myp-ring.a { stroke: var(--gold); }
.myp-ring.b { stroke: var(--violet-bright); }
.myp-gut.plain .myp-ring { stroke: #B8667F; }
.myp-ring.on { stroke-width: 11; }
.myp-gut.plain .myp-ring.on { stroke: var(--gold); }
.myp-dot { stroke: rgba(0, 0, 0, .3); stroke-width: .6; }
.myp-dot.water { fill: #7FB8F0; }
.myp-dot.fat { fill: #F7D774; }
.myp-dot.soak { fill: var(--mint) !important; }
.myp-blip { fill: var(--mint); opacity: .9; animation: mypBlip .7s ease-out forwards; }
@keyframes mypBlip { to { r: 11; opacity: 0; } }
.myp-g { width: 100%; max-width: 300px; }
.myp-g .gt i { background: var(--mint); }

