#app[data-bridge-mission] .app-header,#app[data-bridge-mission] .app-footer,
#app[data-bridge-mission] .canvas-workspace > :not(.build-stage):not(.bridge-mission),
#app[data-bridge-mission] .build-stage > :not(#world){visibility:hidden!important;pointer-events:none!important}
.bridge-mission{position:absolute;inset:0;z-index:86;pointer-events:none;color:#294c49}
.bridge-mission[hidden]{display:none}
.bridge-top{position:absolute;top:18px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.bridge-kicker{font-size:10px;letter-spacing:.15em;color:#66877a}.bridge-top h2{font-size:23px;line-height:1.3;margin:4px 0;font-weight:650}
.bridge-exit{pointer-events:auto;width:44px;height:44px;border-radius:50%;background:#fbfdf9e8;border:1px solid #d0e1d8;font-size:26px;color:#496a5f}
.bridge-coach{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);text-align:center}
.bridge-message{display:table;margin:0 auto 12px;padding:8px 15px;border-radius:20px;background:#f8fcf6ef;font-size:15px;line-height:1.4;box-shadow:0 2px 12px #284f480c}
.bridge-actions{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:10px;background:#fafdf9f5;border:1px solid #d5e7df;border-radius:22px;box-shadow:0 8px 30px #284f4814}
.bridge-materials{display:flex;gap:5px}.bridge-actions button{min-width:55px;min-height:55px;border:0;border-radius:14px;color:#37675d;background:transparent;touch-action:none;font:inherit}
.bridge-materials button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 12px;font-size:12px;border:1px solid transparent}
.bridge-materials button svg{width:35px;height:28px}.bridge-materials button[aria-pressed=true]{background:#e1f2eb;border-color:#80bda5}
.bridge-actions button:disabled{opacity:.4}.bridge-actions .bridge-undo{font-size:27px;background:#f0f4ee}
.bridge-actions .bridge-test{padding:12px 21px;min-width:112px;background:#307d6e;color:white;font-weight:600;white-space:nowrap}
.bridge-slot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:grid;place-content:center;width:44px;height:44px;border:1.5px solid #fff;background:#f9fff4df;border-radius:50%;font-size:25px;line-height:1;color:#357f71;box-shadow:0 2px 8px #32594d26;touch-action:manipulation}
.bridge-slot[hidden]{display:none}.bridge-slot.is-filled{opacity:0}.bridge-slot.is-filled:hover,.bridge-slot.is-filled:focus-visible{opacity:1;background:#fff5e5;color:#9e692d}
.bridge-mission button:focus-visible{outline:3px solid #9d7fd8;outline-offset:3px}
.bridge-mission[data-phase=success] .bridge-message{background:#e5f4d5;color:#416b29}
.bridge-mission[data-phase=failed] .bridge-message{background:#fff2d8;color:#8b642d}
.bridge-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 12px;border:1px solid #b7d8c9;border-radius:14px;background:#e7f3df;color:#38695b;text-align:left;margin:10px 0 4px;font-size:15px;font-weight:600}
.bridge-entry svg{width:36px;height:24px;flex:none}.bridge-entry span{flex:1}
@media(max-width:600px){.bridge-top{top:10px;left:16px;right:16px}.bridge-top h2{font-size:20px}.bridge-coach{bottom:16px}.bridge-actions{gap:7px;padding:8px;border-radius:18px}.bridge-actions .bridge-test{padding:10px 13px;min-width:94px}.bridge-materials button{padding:4px 8px}.bridge-message{font-size:14px}.bridge-actions .bridge-undo{min-width:44px}}
@media(max-height:500px){.bridge-top{top:4px}.bridge-coach{bottom:4px}.bridge-message{margin-bottom:4px;padding:4px 12px}.bridge-actions{padding:4px}.bridge-kicker{display:none}.bridge-top h2{font-size:18px}}

/* Quiet lesson entries live inside the existing plan shelf. */
