/* Escenarios interactivos limitados al bloque 19–24. */
.mission-practice{min-width:0}.mission-practice .mission-request,.mission-practice .mission-message{border:1px solid var(--border,#d9e2e5);border-left:4px solid #6e929a;border-radius:16px;padding:18px 22px;margin:20px 0;background:var(--surface,#fff)}.mission-practice h2{font-size:1.25em}.mission-practice .mission-request p{margin:12px 0}.mission-practice .mission-inventory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.mission-practice .mission-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:70px;text-align:center;padding:14px;white-space:normal}.mission-practice .mission-object{width:65px;height:68px;max-width:100%;flex-shrink:0}.mission-practice .mission-picked{background:#e3f0f2;border-color:#467887;color:#193d48;box-shadow:inset 0 0 0 1px #467887}.mission-practice .mission-workspace{margin:20px 0;border:2px solid #b7c9cd;border-radius:22px;padding:20px;background:var(--surface,#fff)}.mission-practice .mission-plan-heading{font-weight:600;margin-bottom:14px}.mission-practice .mission-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mission-practice .mission-slot{min-height:110px;display:flex;flex-direction:column;justify-content:center;gap:10px;border-style:dashed;white-space:normal}.mission-practice .mission-slot span{font-size:.85em}.mission-practice .mission-slot strong{font-weight:500}.mission-drinks .mission-workspace{border-radius:36px;box-shadow:inset 0 0 0 6px var(--surface,#fff),inset 0 0 0 7px #c8d6da}.mission-furniture .mission-workspace{position:relative;border-radius:3px;background:repeating-linear-gradient(0deg,transparent 0 38px,#a7bec615 39px 40px),var(--surface,#fff)}.mission-furniture .mission-slots{grid-template-columns:1fr;max-width:520px;margin:auto}.mission-furniture .mission-slot:first-child{border-top:5px double #8ba9b3}.mission-furniture .mission-slot:last-child{border-bottom:5px double #8ba9b3}.mission-practice .mission-plan-key{font-size:.85em}.mission-practice .mission-ticket-strip{min-height:80px;display:flex;flex-wrap:wrap;gap:20px;padding:20px 40px;border:1px dashed #8ba9b3;border-radius:14px}.mission-practice .mission-ticket-strip li{padding:12px}.mission-transport .mission-workspace{border-style:dashed;border-radius:12px}.mission-practice .mission-map-wrap{display:grid;grid-template-columns:minmax(0,460px) minmax(150px,1fr);gap:24px;align-items:center;margin:24px 0;max-width:820px}.mission-practice .mission-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0;aspect-ratio:1}.mission-practice .mission-cell{font:inherit;min-width:0;min-height:44px;border:1px solid #b8cbd0;border-radius:8px;background:var(--surface,#fff);color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-wrap:anywhere;padding:4px;cursor:pointer}.mission-practice .mission-cell span{font-size:.75em}.mission-practice .mission-cell small{font-size:.6em;line-height:1.1}.mission-practice .mission-cell strong{line-height:1.1}.mission-practice .mission-here{background:#d1e8ec;color:#163f4c;border:2px solid #386d7c}.mission-practice .mission-landmark{box-shadow:inset 0 0 0 2px #b8cbd0}.mission-practice .mission-compass{text-align:center;display:grid;gap:8px}.mission-practice .mission-compass>div{display:flex;justify-content:center;gap:8px}.mission-practice .mission-compass .btn{min-height:48px;padding:10px 14px}.mission-practice .mission-town-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.9em}.mission-practice .mission-town-key span{padding:10px;border:1px solid var(--border,#d9e2e5);border-radius:10px}.mission-practice .mission-town-key strong{padding-right:8px}.mission-practice .mission-town-map{border:1px solid #b7c9cd;border-radius:16px;padding:16px}.mission-practice .mission-buildings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mission-practice .mission-building{display:flex;flex-direction:column;gap:8px;align-items:center;white-space:normal}.mission-practice .mission-building svg{max-height:80px}.mission-practice .mission-address{font-size:.7em}.mission-practice .mission-sign{border:2px solid #8ba9b3;border-radius:8px;padding:16px;display:inline-block;font-weight:600}.mission-practice .mission-good{color:#186139;background:#e7f4eb;padding:12px;border-radius:12px}.mission-practice .mission-bad{color:#a12626;background:#fde9e9;padding:12px;border-radius:12px}.mission-practice .mission-score{font-size:1.5em;font-weight:600}.mission-practice button:focus-visible{outline:3px solid #406e7d;outline-offset:3px}.mission-practice button:disabled{cursor:default}.mission-practice .mission-selection{font-size:.9em}
@media(max-width:650px){.mission-practice .mission-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-practice .mission-map-wrap{grid-template-columns:minmax(0,1fr);max-width:460px;gap:16px}.mission-practice .mission-compass{justify-self:center}.mission-practice .mission-request,.mission-practice .mission-message{padding:14px}.mission-practice .mission-slots{grid-template-columns:1fr}.mission-practice .mission-buildings{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-practice .mission-workspace{padding:14px}.mission-practice .mission-town-key{font-size:.8em}.mission-practice .mission-cell{font-size:.9em}.mission-practice .mission-item{padding:10px}.mission-practice .mission-ticket-strip{padding:12px 30px}}@media(prefers-reduced-motion:reduce){.mission-practice *{scroll-behavior:auto;transition:none}}
.mission-practice .mission-house-file{border:1px solid #b7c9cd;padding:18px;border-radius:18px;background:var(--surface,#fff);margin:20px 0}.mission-practice .mission-house-file>svg{max-height:140px}.mission-practice .mission-house-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mission-practice .mission-room{border-radius:2px;min-height:80px;white-space:normal}.mission-practice .mission-cancelled{padding:12px;border-left:3px solid #899da4}.mission-practice .mission-cancelled s{margin:0 5px}
.mission-practice .mission-road-cell{background:repeating-linear-gradient(90deg,#e0e6e8 0 12px,#edf1f2 12px 15px);color:#203b45}.mission-practice .mission-road-cell.mission-here{background:#d1e8ec}
/* Taller de barista: los controles modifican el estado de la preparación, no colocan tarjetas. */
.mission-practice .barista-workbench{display:grid;grid-template-columns:minmax(140px,240px) minmax(0,1fr);gap:24px;align-items:start;margin:24px 0}.mission-practice .barista-cup{margin:0;position:sticky;top:80px}.mission-practice .barista-cup svg{width:100%;height:auto}.mission-practice .barista-cup figcaption{text-align:center}.mission-practice .barista-controls{display:grid;gap:16px}.mission-practice .barista-controls fieldset{min-width:0;border:1px solid var(--border,#d9e2e5);border-radius:14px;padding:14px}.mission-practice .barista-controls legend{font-weight:600;padding:0 6px}.mission-practice .barista-controls fieldset>div{display:flex;flex-wrap:wrap;gap:8px}.mission-practice .barista-order{font-size:1.4em;font-weight:600}.mission-practice .barista-menu{padding:16px;border:1px solid var(--border,#d9e2e5);border-radius:14px;background:var(--surface,#fff)}.mission-practice .barista-menu summary{cursor:pointer;font-weight:600}@media(max-width:600px){.mission-practice .barista-workbench{grid-template-columns:1fr}.mission-practice .barista-cup{position:static;max-width:150px;justify-self:center}.mission-practice .barista-controls .btn{flex:1 1 120px}}
