.lab{display:grid;gap:24px;margin:28px 0 60px}.lab-tag{display:inline-block;background:#fff8;color:#244b50;padding:10px 16px;border-radius:30px;font-weight:650}.lab-controls,.lab-method,.lab-stage{background:#fffdf8;border:1px solid #dcded5;border-radius:24px;padding:28px}.lab-controls{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.lab h2{margin:4px 0 16px;font-size:clamp(1.3rem,2vw,2rem)}.lab p{line-height:1.65}.lab label{display:grid;gap:8px;font-weight:600}.lab select,.lab button{border:1px solid #aabbbb;border-radius:12px;padding:12px;background:#fffdf8;color:#183c41;font:inherit;cursor:pointer}.lab button:disabled{opacity:.45;cursor:wait}#play{background:#164d54;color:white;min-width:120px}.scrub{flex-basis:100%}.scrub label{display:flex;justify-content:space-between}#progress{width:100%;accent-color:#167e80}.milestones{display:flex;justify-content:space-between}.milestones button{padding:5px 14px}.lab-stage{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;background:linear-gradient(120deg,#edf5f2,#fffdf8 65%)}.map-card{min-width:0}#map{width:100%;height:650px;display:block}#map path.area{stroke:#fff;stroke-width:1.5;transition:fill-opacity .25s}#map text{font-family:inherit;font-size:40px;fill:#193e45}.flow{fill:none;stroke-width:5;stroke-dasharray:15 12;animation:travel 1.4s linear infinite;opacity:.75}@keyframes travel{to{stroke-dashoffset:-54}}.caption{font-size:.82rem;color:#526569}.cluster-row{display:grid;grid-template-columns:80px 1fr 65px;align-items:center;gap:12px;margin:18px 0}.cluster-row meter{width:100%;height:16px}.cluster-row small{text-align:right}.lab-insight{border-top:1px solid #c8d7d1;margin-top:28px;padding-top:24px}.metric{display:flex;gap:16px;align-items:center}.metric strong{font-size:3rem;color:#14757b}.metric span{max-width:170px}#chart{width:100%;margin:12px 0}.lab-insight p,.caption{font-size:.9rem}.lab-lesson{border-left:4px solid #b98542;padding:12px 18px;background:#f6eddd}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:24px 0}.method-grid article{border-top:2px solid #b7cdc8;padding-top:16px}.step{font-size:2rem;color:#9baea7}.lab details{border-top:1px solid #d5dfda;padding-top:20px}.lab summary{cursor:pointer;font-weight:650}#status{margin:0;color:#345b60}.lab :focus-visible{outline:3px solid #bf7d23;outline-offset:4px}@media(max-width:850px){.lab-stage{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,1fr)}#map{height:560px}}@media(max-width:500px){.lab-controls,.lab-stage,.lab-method{padding:18px}.method-grid{grid-template-columns:1fr}.lab-controls label{width:100%}#map{height:460px}.cluster-row{grid-template-columns:75px 1fr 65px}}
@media(prefers-reduced-motion:reduce){.flow{animation:none}#map path.area{transition:none}}
