/* Show expansion, convergence and feedback through motion on the actual paths. */
.dm-enhanced{--dm-accent:#254d43;--dm-soft:#d9e4de}
.dm-status{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d1d8d0;padding:0 0 13px;margin:5px 0 18px;min-height:34px;gap:15px}
.dm-status>div{display:flex;align-items:center;gap:12px}
.dm-status-dot{width:7px;height:7px;border-radius:50%;background:var(--dm-accent);box-shadow:0 0 0 5px #254d4310}
.dm-status b{font:11px Arial,sans-serif;letter-spacing:1px;color:#697970}
.dm-status strong{font-size:14px;font-weight:500;color:var(--dm-accent)}
.dm-hint{font-size:10px;color:#788279}
.dm-enhanced .tv-diamond-space{color:#68796c;font-size:11px;letter-spacing:.08em;margin-bottom:8px}
.view-diamond .dm-enhanced .tv-diamond-canvas{height:clamp(220px,29vh,340px)}
.dm-enhanced .tv-diamond-fills path{fill:#eceee7;transition:fill .65s}
.dm-enhanced .tv-diamond-fills path.is-active{fill:var(--dm-soft)}
.dm-enhanced .tv-diamond-outline{stroke:#789383;stroke-width:1.2;vector-effect:non-scaling-stroke}
.dm-enhanced .tv-diamond-dividers{stroke:#b8c4b6;stroke-width:.8;stroke-dasharray:2 5}
.dm-field{opacity:0;transition:opacity .4s;pointer-events:none}
.dm-field.is-active{opacity:1}
.dm-lane{fill:none;stroke:#789987;stroke-width:1;opacity:.7;vector-effect:non-scaling-stroke}
.dm-particle{fill:var(--dm-accent);stroke:#f3f2ed;stroke-width:1;offset-distance:0%;display:none;filter:drop-shadow(0 0 3px #254d4340)}
.dm-field.is-active .dm-particle{display:block;animation:dm-travel 1.8s cubic-bezier(.35,.05,.65,.95) 1 both;animation-delay:var(--delay)}
.dm-front{stroke:#254d43;stroke-width:2;opacity:.15;display:none;vector-effect:non-scaling-stroke}
.dm-field.is-active .dm-front{display:block;animation:dm-scan 1.8s ease-in-out 1 both}
.dm-junction{fill:#f3f2ed;stroke:#658371;stroke-width:1.5}
.dm-enhanced .tv-diamond-stage-buttons{bottom:16.67%;align-items:center}
.dm-enhanced .tv-diamond-stage{border-radius:0;color:#7d8c80;transition:color .5s,transform .5s;transform:translateY(0)}
.dm-enhanced .tv-diamond-stage small{font-size:11px;letter-spacing:.04em;opacity:.8}
.dm-enhanced .tv-diamond-stage strong{font-size:clamp(23px,2.5vw,39px);margin:9px 0 7px;letter-spacing:.05em;font-weight:500;transition:transform .5s}
.dm-enhanced .tv-diamond-stage>span{font-size:11px;opacity:.8}
.dm-enhanced .tv-diamond-stage.is-active{color:#183e33;transform:translateY(-2px)}
.dm-enhanced .tv-diamond-stage.is-active strong{transform:scale(1.12);font-weight:650}
.dm-enhanced .tv-diamond-stage.is-active small,.dm-enhanced .tv-diamond-stage.is-active>span{opacity:1}
.dm-return-base{fill:none;stroke:#a6b5a8;stroke-width:1;stroke-dasharray:4 6;opacity:.7;vector-effect:non-scaling-stroke}
.dm-return-run{fill:none;stroke:var(--dm-accent);stroke-width:2.2;stroke-dasharray:10 90;animation:dm-feedback 4.2s linear infinite;opacity:.45;vector-effect:non-scaling-stroke}
.dm-return-dot{fill:var(--dm-accent);animation:dm-travel 4.2s linear infinite;opacity:.65}
.dm-enhanced[data-dm-stage="3"] .dm-return-run{opacity:1;stroke-width:3}
.dm-enhanced[data-dm-stage="3"] .dm-return-dot{r:5;opacity:1}
.dm-return-label{position:absolute;bottom:3.6%;left:50%;transform:translateX(-50%);background:var(--paper,#f3f2ed);padding:0 16px;font-size:11px;letter-spacing:.12em;color:#4c6d58;white-space:nowrap}
.dm-enhanced .tv-diamond-iteration{margin:1px 0 16px;font-size:10px;color:#7d897b}
.dm-enhanced .tv-diamond-detail{border-radius:3px;background:#fafbf7;border:1px solid #d5dcd1;border-left:3px solid #254d43;padding:16px 21px;gap:25px;min-height:86px}
.dm-enhanced .tv-diamond-detail span{font-size:10px;color:#597563;letter-spacing:.04em;margin-bottom:7px}
.dm-enhanced .tv-diamond-detail p{font-size:clamp(12px,1vw,16px);line-height:1.7;color:#354b3e}
@keyframes dm-travel{0%{offset-distance:0%;opacity:0}12%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes dm-scan{0%{transform:translateX(var(--from));opacity:0}25%,75%{opacity:.2}100%{transform:translateX(var(--to));opacity:0}}
@keyframes dm-feedback{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.motion-off .dm-particle,.motion-off .dm-front,.motion-off .dm-return-dot,.motion-off .dm-return-run{display:none!important}
@media(prefers-reduced-motion:reduce){.dm-particle,.dm-front,.dm-return-dot,.dm-return-run{display:none!important}}
@media(min-width:751px) and (max-height:800px){.dm-status{padding-bottom:8px;margin:0 0 10px;min-height:26px}.view-diamond .dm-enhanced .tv-diamond-canvas{height:210px}.dm-enhanced .tv-diamond-space{font-size:10px;margin-bottom:4px}.dm-enhanced .tv-diamond-stage strong{font-size:27px;margin:5px 0}.dm-enhanced .tv-diamond-stage small,.dm-enhanced .tv-diamond-stage>span{font-size:10px}.dm-enhanced .tv-diamond-iteration{margin-bottom:8px;font-size:9px}.dm-enhanced .tv-diamond-detail{padding:11px 17px;min-height:70px}.dm-enhanced .tv-diamond-detail p{font-size:12px}.dm-enhanced .tv-diamond-detail span{font-size:9px;margin-bottom:4px}}
@media(max-width:750px){.dm-status{margin:6px 0 16px;gap:8px}.dm-status>div{gap:9px;flex-wrap:wrap}.dm-status strong{font-size:12px}.dm-status b{font-size:10px}.dm-hint{display:none}.view-diamond .dm-enhanced .tv-diamond-canvas{height:225px}.dm-enhanced .tv-diamond-space{font-size:9px;letter-spacing:0}.dm-enhanced .tv-diamond-stage small{font-size:8px;letter-spacing:0}.dm-enhanced .tv-diamond-stage strong{font-size:20px;margin:8px 0}.dm-enhanced .tv-diamond-stage>span{font-size:8px;line-height:1.4}.dm-enhanced .tv-diamond-stage.is-active strong{transform:scale(1.05)}.dm-return-label{font-size:9px;padding:0 10px}.dm-enhanced .tv-diamond-iteration{font-size:9px;margin:3px 0 13px}.dm-enhanced .tv-diamond-detail{padding:15px;gap:12px}.dm-enhanced .tv-diamond-detail p{font-size:12px}.dm-enhanced .tv-diamond-detail span{font-size:9px}}


/* Keep iteration visible as context; the four stages carry the animation. */
.dm-review-heading{margin:0 0 12px}.dm-review-heading h3{margin:0 0 5px;font-size:clamp(15px,1.2vw,20px);font-weight:600;color:#254d43}.dm-review-heading p{margin:0;font-size:clamp(11px,.9vw,14px);line-height:1.65;color:#647769}.dm-return-label{color:#718475;font-size:10px;letter-spacing:.05em}.dm-enhanced .tv-diamond-detail{margin-top:8px}
@media(min-width:751px) and (max-height:800px){.dm-review-heading{margin-bottom:8px}.dm-review-heading h3{font-size:15px}.dm-review-heading p{font-size:11px}.dm-enhanced .tv-diamond-detail{margin-top:3px}}
