.evolution{margin-top:32px}.evolution-canvas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.evolution-frame{margin:0;min-width:0}.evolution-frame img{display:block;width:100%;height:240px;object-fit:contain}.evolution-frame figcaption{padding-top:12px;font-size:16px}
.evolution-ui{display:none}.evolution-ready{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:0 32px;align-items:center}.evolution-ready .evolution-canvas{position:relative;display:block;height:clamp(340px,40vw,470px);background:#fdfcf9;border:1px solid var(--line);overflow:hidden}
.evolution-ready .evolution-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .48s ease,visibility .48s;pointer-events:none}
.evolution-ready .evolution-frame.is-current{opacity:1;visibility:visible;z-index:1}
.evolution-ready .evolution-frame img{width:86%;height:84%;object-fit:contain;object-position:center}
.evolution-ready .evolution-frame[data-pair] img{width:94%;height:84%}
.evolution-ready .evolution-frame figcaption{display:none}.evolution-ready .evolution-ui{display:block;min-width:0}.evolution-ready .evolution-status{display:block;margin:0 0 22px}.evolution-ready .evolution-status span{display:block;margin-bottom:10px}.evolution-ready .evolution-note{grid-column:1/-1}
.evolution-status{display:flex;align-items:baseline;gap:24px;margin:24px 0 20px}.evolution-status span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.evolution-status strong{font-size:28px;font-weight:600}
.evolution-controls{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.evolution button{border:1px solid var(--line);background:transparent;padding:9px 16px;min-height:44px;cursor:pointer;font:inherit;color:var(--ink);border-radius:2px}
.evolution button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.evolution button:disabled{opacity:.4;cursor:default}.evolution [data-play]{background:var(--ink);color:var(--paper);min-width:88px}
.evolution-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.evolution-steps button{font-size:15px;text-align:left;padding:10px;line-height:1.6}.evolution-steps button span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.evolution-steps button[aria-pressed=true]{background:var(--sage);border-color:var(--accent)}
.evolution-note{margin-top:20px;color:var(--muted);font-size:14px;line-height:1.8}
.evolution-steps button:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:720px){.evolution-ready{display:block}.evolution-canvas{grid-template-columns:1fr}.evolution-ready .evolution-canvas{height:300px}.evolution-ready .evolution-frame img{width:92%;height:88%}.evolution-ready .evolution-frame[data-pair] img{width:96%;height:88%}.evolution-ready .evolution-status{display:flex;gap:16px;margin:20px 0 16px}.evolution-ready .evolution-status span{margin-bottom:0}.evolution-status strong{font-size:25px}.evolution-controls{gap:8px}.evolution button{padding:9px 12px;font-size:15px}.evolution-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.evolution-steps button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.evolution-ready .evolution-frame{transition:none}}
@media print{.evolution-ready{display:block}.evolution-ready .evolution-canvas{display:grid;height:auto;overflow:visible;grid-template-columns:repeat(2,1fr)}.evolution-ready .evolution-frame{position:static;opacity:1;visibility:visible;display:block}.evolution-ready .evolution-frame img{width:100%;height:220px}.evolution-ready .evolution-frame figcaption{display:block}.evolution-ui{display:none!important}}

.evolution-section,.assembly-section{padding-block:56px}.evolution-section .section-head,.assembly-section .section-head{margin-bottom:28px}@media(max-width:720px){.evolution-section,.assembly-section{padding-block:44px}}

@media(max-width:720px){.evolution-controls{display:grid;grid-template-columns:1fr 1fr}.evolution-controls button{width:100%}}
