/* Bridge Lab shares the solid maker-workshop surfaces of the other labs. */
html,body{background:#f5f4ef}
.app-shell{max-width:1540px}
.hero h1{font-size:clamp(34px,4vw,54px);line-height:1.04}
.challenge-chip{background:#263449;border:1px solid #263449;border-radius:16px;box-shadow:none}
.panel,.step,.canvas-panel{background:#fff;border:1px solid #d8ddd9;box-shadow:none;border-radius:16px}
.step.active{border-color:#6085ab;box-shadow:none}
.step.active b,.step-number{background:#315d80}
.mission-bar{box-shadow:none}
.tool-btn,.weight-preset,.beam-size-chips button{background:#f7f8f6;border-color:#d8ddd9;box-shadow:none}
.tool-btn.active,.weight-preset.active,.beam-size-chips button.active{background:#e8f0f2;border-color:#315d80;box-shadow:none}
.coach-box,.result-coach{background:#f3f6f4;border-color:#d6e0dc;box-shadow:none}
.kid-test-actions .big-test{background:#e7b34f!important;color:#2f281e!important;border:1px solid #cb9840!important;box-shadow:none!important}
.canvas-stage,#bridgeSvg{background:#f6f7f4;box-shadow:none}
.challenge-flag{background:#263449;border-radius:10px;box-shadow:none}
.member-back{opacity:0;filter:none}
.member,.node,.support-symbol,.load-crate,.failure-x{filter:none!important}
.node{stroke:#354e67;stroke-width:4}
.node.support{fill:#e7b34f}
.scene-caption{fill:#56616a}
.canvas-toolbar,.panel-inline,.canvas-status,.force-legend{background:#fff}
.result-hero,.simple-metrics>div,.result-card,.learn-panel,.learn-cards article{background:#fff;box-shadow:none;border-color:#d8ddd9}
@media(max-width:700px){.app-shell{padding:12px}.workspace{display:block}.build-panel,.canvas-panel,.result-panel{position:static;margin-bottom:12px}#bridgeSvg{min-height:0}}

/* Stable touch dragging and clearly staged member failure. */
#bridgeSvg{touch-action:none}.node{cursor:grab;touch-action:none}.node:active{cursor:grabbing}
.failure-piece{stroke-linecap:round;pointer-events:none;transform-box:fill-box;transform-origin:center;opacity:.65;transform:translate(10px,var(--fall)) rotate(17deg)}
.failure-piece.fresh-break{animation:beam-fall .4s cubic-bezier(.2,.65,.35,1) both}
.failure-right.fresh-break{animation-delay:.06s}
@keyframes beam-fall{0%{opacity:1;transform:translate(0,0) rotate(0)}65%{opacity:1;transform:translate(7px,var(--fall)) rotate(13deg)}100%{opacity:.65;transform:translate(10px,var(--fall)) rotate(17deg)}}
@media(prefers-reduced-motion:reduce){.failure-piece{animation:none}}

.node-hit{cursor:grab;touch-action:none}

.build-id{max-width:1540px;margin:24px auto 8px;text-align:right;color:#7d8791;font:800 10px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em}

.kid-explainer{display:flex;gap:12px;padding:15px;margin:16px 0;background:#f0f5ee;border:1px solid #cbd9c9;border-radius:14px;color:#263449}
.kid-explainer-icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;background:#d7e9d8;border-radius:9px;font-weight:900}
.kid-explainer h3{font-size:0.9375rem;line-height:1.2;margin:0 0 6px}
.kid-explainer p{font-size:0.75rem;line-height:1.55;margin:0 0 6px}
.kid-explainer p.kid-try{font-weight:700;margin:0}

