
.rumbo-activity{box-sizing:border-box;max-width:1100px;margin:24px auto;padding:clamp(18px,3vw,36px);border:1px solid #d7e2ee;border-radius:24px;background:#f6f8fc;color:#17243a;font-family:inherit}.rumbo-activity *{box-sizing:border-box}.rumbo-heading{text-align:center}.rumbo-eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;color:#2764a6}.rumbo-heading h2{font-size:clamp(26px,4vw,42px);line-height:1.15;margin:14px 0}.rumbo-heading p{font-size:clamp(15px,2vw,18px);color:#52645b;max-width:720px;margin:0 auto 22px}.rumbo-viewer-frame{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#e1edfa,#f5f8fc);border:1px solid #d3deec}.rumbo-model{display:block;width:100%;height:clamp(340px,52vw,610px);--progress-bar-color:#1a65b7}.rumbo-load{padding:20px;text-align:center;color:#375476}.rumbo-viewer-tip{position:absolute;bottom:12px;left:12px;background:#ffffffdb;color:#183d64;border-radius:30px;padding:6px 12px;font-size:12px;pointer-events:none}.rumbo-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}.rumbo-choices button{border:1px solid #aebfce;border-radius:28px;padding:11px 18px;background:#fff;color:#27412f;font:inherit;font-weight:700;cursor:pointer}.rumbo-choices button:hover,.rumbo-choices button.is-active{background:#155db1;color:#fff;border-color:#155db1}.rumbo-info{border-left:5px solid #1769c8;background:#fff;border-radius:15px;padding:24px 26px;min-height:165px}.rumbo-info-label{font-size:12px;font-weight:750;letter-spacing:.14em;color:#2764a6}.rumbo-info h3{margin:12px 0;font-size:27px;color:#152136}.rumbo-info p{margin:0;color:#42544a;font-size:17px;line-height:1.65}.rumbo-progress{text-align:center;color:#47634d;font-weight:650;margin:20px 0 8px}.rumbo-progress[data-complete=true]{color:#167244}.rumbo-attribution{font-size:12px;color:#697487;text-align:center;line-height:1.5;margin:15px 0 0}.rumbo-attribution a{color:#205e9b}@media(max-width:600px){.rumbo-activity{padding:14px;border-radius:14px}.rumbo-model{height:380px}.rumbo-info{padding:18px}.rumbo-info h3{font-size:23px}.rumbo-choices button{flex:1 1 42%;padding:10px 8px;font-size:14px}}

/* Hotspots are projected by model-viewer onto the 3D geometry. */
.rumbo-hotspot{display:flex;align-items:center;gap:5px;background:#1265b8;color:#fff;border:2px solid #fff;border-radius:999px;padding:7px 10px;font:700 14px/1.1 inherit;box-shadow:0 2px 9px #163c6970;cursor:pointer;white-space:nowrap}
.rumbo-hotspot span{font-size:12px}
.rumbo-hotspot:hover,.rumbo-hotspot.is-active{background:#0a3e77;transform:scale(1.04)}
.rumbo-hotspot:not([data-visible]){display:none}
@media(max-width:600px){.rumbo-hotspot{padding:6px 8px;font-size:13px}.rumbo-hotspot span{font-size:10px}}

/* V4.1: visual locator anchored to the 3D hotspot. This is an approximate
   region marker, not a recoloring of the underlying mesh. */
.rumbo-hotspot{position:relative;isolation:isolate;transition:background .2s,transform .2s}
.rumbo-hotspot.is-active{background:#074a99;transform:scale(1.08);box-shadow:0 0 0 5px #2285ff40,0 0 25px 9px #177cfb80;z-index:2}
.rumbo-hotspot.is-active::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:var(--rumbo-highlight-width,115px);height:var(--rumbo-highlight-height,85px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#1989ff66 0%,#1989ff35 45%,#1989ff00 75%);border:2px solid #258bff90;box-shadow:0 0 24px #2788ff80;pointer-events:none}
.rumbo-hotspot[data-part=wing]{--rumbo-highlight-width:205px;--rumbo-highlight-height:90px}
.rumbo-hotspot[data-part=fuselage]{--rumbo-highlight-width:170px;--rumbo-highlight-height:95px}
.rumbo-hotspot[data-part=tail]{--rumbo-highlight-width:145px;--rumbo-highlight-height:115px}
.rumbo-hotspot[data-part=propeller]{--rumbo-highlight-width:100px;--rumbo-highlight-height:125px}
@media(max-width:600px){.rumbo-hotspot.is-active::before{max-width:150px;max-height:110px}}

/* Componentes detallados, versión 7 */
.rumbo-subparts[hidden]{display:none!important}
.rumbo-subparts{margin:18px auto 20px;padding:18px;border:1px solid #b8cde2;border-radius:18px;background:#fff;max-width:900px}
.rumbo-subparts-title{font-weight:750;color:#193b62;margin-bottom:12px}
.rumbo-subparts-title span{font-size:.84em;font-weight:400;color:#54705b;display:block;margin-top:3px}
.rumbo-subparts-buttons{display:flex;flex-wrap:wrap;gap:10px}
.rumbo-subparts-buttons button{border:1px solid #4d9c70;border-radius:25px;padding:10px 16px;background:#f5fcf7;color:#215c37;cursor:pointer;font:inherit;font-weight:600}
.rumbo-subparts-buttons button.is-active,.rumbo-subparts-buttons button:hover{background:#159b50;color:white;border-color:#159b50}
.rumbo-subparts-buttons button:focus-visible{outline:3px solid #134ea0;outline-offset:3px}
/* v8 educational control-surface movement demonstration */
.rumbo-motion{margin:18px 0;padding:18px;border:1px solid #c8d7e5;border-radius:18px;background:#f5f9fc;color:#173b5f}.rumbo-motion[hidden]{display:none}.rumbo-motion h4{margin:0 0 8px;font-size:1.2rem}.rumbo-motion p{margin:8px 0}.rumbo-motion input[type=range]{width:100%;accent-color:#179b62}.rumbo-motion svg{width:100%;height:auto;max-height:210px}.rumbo-motion .rumbo-motion-readout{font-weight:700;color:#117747}.rumbo-motion button{padding:8px 16px;border-radius:24px;border:1px solid #a5b9cb;background:white;color:#173b5f;cursor:pointer}.rumbo-motion-note{font-size:.82rem;color:#536979}

/* v9: individual, directionally accurate conceptual schematics */
.rumbo-motion-diagram{width:100%;margin:12px 0 6px}
.rumbo-motion-diagram svg{display:block;width:100%;max-height:260px}
.rumbo-svg-label{fill:#24445a;font-size:13px;font-family:system-ui,sans-serif}
.rumbo-choices button{flex:0 1 auto}
@media(max-width:600px){.rumbo-choices button{flex:1 1 45%}.rumbo-svg-label{font-size:12px}}


/* Misión 01: práctica guiada */
.rumbo-challenge{margin:24px 0;padding:22px;border:1px solid #bfd4e0;border-radius:16px;background:#f5fafc;color:#18384c}
.rumbo-challenge h3{margin:6px 0 10px;font-size:1.3rem}
.rumbo-challenge p{margin:8px 0 14px;line-height:1.55}
.rumbo-challenge button{background:#0e6b8b;color:white;border:0;border-radius:9px;padding:11px 17px;cursor:pointer;font-weight:650}
.rumbo-challenge button:hover{background:#07536e}
.rumbo-challenge-feedback{padding:12px;border-radius:9px;background:#e6f0f5}
.rumbo-challenge-feedback.is-correct{background:#ddf7e7;color:#125331}
.rumbo-challenge-feedback.is-hint{background:#fff1d9;color:#674600}
.rumbo-challenge [hidden]{display:none!important}
