.learning-lab{margin:28px 0 40px;padding:24px 0;border-block:1px solid #dadce0;color:#202124;max-width:980px;line-height:1.75}
.learning-lab h2{font-size:24px;font-weight:500;margin:0 0 8px;line-height:1.5}
.learning-lab .lab-intro{font-size:15px;color:#5f6368;max-width:740px;margin:0 0 16px}
.lab-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}
.lab-controls button,.lab-controls select{font-family:inherit;font-size:14px;line-height:1.4;min-height:42px;padding:9px 12px;border:1px solid #dadce0;border-radius:6px;color:#3c4043;background:#fff;cursor:pointer}
.lab-controls button:disabled{opacity:.4;cursor:default}.lab-controls .lab-play{background:#1a73e8;color:white;border-color:#1a73e8}
.lab-controls label{font-size:13px;color:#5f6368;display:flex;align-items:center;gap:8px}.lab-controls .lab-count{font-size:13px;color:#5f6368;margin-left:auto}
.lab-workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,.9fr);gap:28px;align-items:center}
.lab-map{max-width:440px;width:100%;margin:auto}.lab-map svg{width:100%;height:auto;display:block;overflow:visible}
.lab-map text{font-family:inherit;fill:#3c4043;font-size:15px}.lab-map .lab-node{fill:#fff;stroke:#dadce0;stroke-width:1.5}.lab-map .lab-node.current{stroke:#1a73e8;stroke-width:2.5}.lab-map .lab-node.blocked{stroke:#b3261e}
.lab-map .lab-route{fill:none;stroke:#dadce0;stroke-width:2}.lab-map .lab-route.traveled{stroke:#1a73e8;stroke-width:3}.lab-map .lab-route.rejected{stroke:#b3261e}.lab-map .lab-point{fill:#1a73e8;stroke:white;stroke-width:3}
.lab-state h3{font-size:20px;line-height:1.5;margin:0 0 12px}.lab-state p{font-size:15px;line-height:1.85;margin:0 0 14px}.lab-state .lab-effect{border-top:1px solid #dadce0;padding-top:12px;color:#185abc}
.lab-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.lab-ledger div{padding-top:10px;border-top:1px solid #dadce0;font-size:13px;color:#5f6368}.lab-ledger strong{display:block;color:#202124;font-size:20px;font-weight:500;margin-top:3px}
.lab-limit{font-size:12px!important;color:#5f6368;margin-top:18px!important;line-height:1.7}.lab-limit a{color:#185abc}
.git-snapshots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0}.git-snapshot{min-width:0;border-top:2px solid #dadce0;padding-top:12px}.git-snapshot.is-changed{border-top-color:#1a73e8}.git-snapshot h3{font-size:15px;margin:0 0 3px;line-height:1.5}.git-snapshot .git-path{font-size:11px;color:#5f6368;overflow-wrap:anywhere;margin-bottom:15px}.git-document{background:#fff;padding:16px;border:1px solid #dadce0;border-radius:5px;min-height:146px;box-shadow:3px 3px 0 #eef0f2}.git-document p{font-size:12px;color:#5f6368;margin:0 0 12px}.git-document code{font-size:14px;white-space:normal;overflow-wrap:anywhere;line-height:1.8;color:#202124}.git-document .git-lines{display:grid;gap:7px;margin-top:14px}.git-lines i{height:3px;background:#e8eaed;display:block;width:90%}.git-lines i+ i{width:65%}.git-snapshot .git-version{font-size:12px;color:#185abc;margin-top:10px;min-height:21px}.git-operation{font-family:monospace;font-size:14px;background:#f1f3f4;padding:10px 14px;border-radius:4px;margin:16px 0;overflow-wrap:anywhere}.git-explain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.git-explain h3{font-size:19px;margin:0 0 8px}.git-explain p{font-size:15px;margin:0;line-height:1.85}.git-result{padding-left:20px;border-left:2px solid #1a73e8}.learning-lab :focus-visible{outline:2px solid #1a73e8;outline-offset:3px}
@media(max-width:620px){.learning-lab{padding:20px 0}.learning-lab h2{font-size:22px}.lab-workspace{grid-template-columns:1fr;gap:16px}.lab-map{max-width:360px}.lab-controls{gap:6px}.lab-controls .lab-count{width:100%;margin:2px 0 0}.lab-controls label{width:100%}.lab-controls select{flex:1;max-width:100%;min-width:0}.git-snapshots{gap:10px;grid-template-columns:1fr}.git-snapshot{display:grid;grid-template-columns:100px minmax(0,1fr);gap:0 12px;align-items:start}.git-snapshot h3{grid-column:1;grid-row:1}.git-snapshot .git-path{grid-column:1;grid-row:2;margin-top:5px}.git-document{grid-column:2;grid-row:1/4;min-height:0;padding:12px}.git-document p{margin-bottom:5px}.git-document .git-lines{display:none}.git-snapshot .git-version{grid-column:1;grid-row:3}.git-explain{grid-template-columns:1fr;gap:16px}.git-result{padding-left:14px}}
