.environment-controls{margin:12px 0;padding:12px 0;border-bottom:1px solid #ccd9e3}.environment-controls[hidden],.environment-caption[hidden],.environment-choices[hidden]{display:none}.environment-controls p{font-size:12px;color:#59738a}.environment-controls>button{background:#dfebe3;color:#315f4a;font-weight:600}.environment-choices{margin-top:8px}.environment-caption{position:absolute;left:20px;top:72px;font-size:11px;color:#385346;background:#f5f7efdd;border:1px solid #d2decd;border-radius:20px;padding:6px 10px;pointer-events:none}.study-controls{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid #ccd9e3;margin-bottom:16px;font-size:12px}
.study-controls label{display:grid;gap:5px}.study-controls label:first-child{display:flex;align-items:center}
.environment-caption{top:auto;bottom:113px}
.equipment-chooser{display:grid;gap:2px;min-width:142px;color:#d7e5ef;font-size:9px;font-weight:700;text-transform:uppercase}.equipment-chooser select{width:100%;padding:7px 9px;border:1px solid #77a8be;border-radius:16px;background:#234e65;color:#fff;font-size:12px;font-weight:700;text-transform:none;cursor:pointer}.modes select{padding:8px;border:1px solid #9db6c8;border-radius:6px;background:#f5fafc;color:#173a61}.tripod-labels{position:absolute;inset:0;pointer-events:none}.scene-label{position:absolute;pointer-events:auto;border:1px solid #9bb4c4;border-radius:5px;background:#f7fcfff0;color:#173a61;font:11px Segoe UI;padding:5px 8px;cursor:pointer}.info-box{border:1px solid #cbd9e4;border-radius:8px;padding:10px;margin:8px 0;background:white;font-size:13px;line-height:1.5}.info-box b{color:#0871c3}.info-box p{margin:5px 0}.info-sub,.selected-badge{font-size:12px;color:#59738a}.info-actions button{padding:8px;border:1px solid #b8ccda;border-radius:6px;background:#edf7fc;color:#173a61;cursor:pointer}.part-btn.active{background:#1383cb!important;color:white!important}
.modes{z-index:5;width:max-content;max-width:calc(100% - 20px);justify-content:center;flex-wrap:wrap;gap:3px;overflow:visible}.modes button{border:0!important;border-radius:5px!important;padding:9px 8px}.modes .mechanical-action{background:#426b65}.modes #labels{order:-1}.modes .dock-status{order:3;width:100%;text-align:center;font-size:10px;color:#526c7c;padding:2px 6px}.modes #mechanic-card{display:none}.practicing .modes .mechanical-action,.practicing .modes #labels,.practicing .modes .dock-status{display:none}.model-labels{position:absolute;inset:0;pointer-events:none;z-index:4}.model-labels[hidden],.model-labels button[hidden]{display:none}.model-labels button{position:absolute;pointer-events:auto;background:#f8fcfff2;border:1px solid #7f9fac;border-left:3px solid #1687a2;border-radius:5px;color:#173d53;padding:5px 8px;font:600 11px Segoe UI,Arial;box-shadow:0 2px 7px #102d4020;cursor:pointer}.model-labels button:hover,.model-labels button:focus-visible{background:#d9f1fa;outline:2px solid #1687a2}.selection-badge,.environment-caption{display:none}
.study-controls small,.study-note{font-size:11px;line-height:1.5;color:#59738a}
.study-controls select,.part-filter{width:100%;min-width:0;padding:8px;border:1px solid #aac4d6;border-radius:6px;background:white;color:#173a61}
.part-filter{margin-bottom:10px}#parts summary{cursor:pointer;font-size:12px;font-weight:700;padding:10px 0;color:#35617d}
#parts button[hidden],#parts details[hidden]{display:none}#parts details{border-bottom:1px solid #e0eaf0}
.selection-badge{position:absolute;bottom:75px;left:16px;max-width:calc(100% - 32px);padding:7px 12px;border-radius:7px;background:#f7fbfef2;color:#174762;font-size:12px;pointer-events:none;box-shadow:0 2px 8px #16395220}
.related{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.related b{width:100%;font-size:12px}.related button,.focus-part{border:1px solid #b8ccda;border-radius:6px;padding:8px;background:#edf7fc;color:#17669a;cursor:pointer}.focus-part{width:100%;margin-top:14px;background:#087fce;color:white}
.modes{max-width:calc(100% - 20px);overflow-x:auto}.modes button{flex-shrink:0;font-size:11px;padding:11px 9px}
@media(max-width:1100px){header h1{font-size:19px}header nav{display:none}main{grid-template-columns:200px minmax(0,1fr) 260px}.right{display:block;padding:10px}.right h2{font-size:20px}.mechanics{width:180px}.box{font-size:12px}}
@media(max-width:850px){body{overflow:auto}header{height:auto;min-height:82px;padding:12px;gap:12px;flex-wrap:wrap}header .brand{font-size:16px}header h1{font-size:16px}main{height:auto;min-height:calc(100vh - 82px);grid-template-columns:185px minmax(0,1fr);align-items:start}.left{display:block;max-height:720px}.stage{height:720px}.right{grid-column:1/-1}.mechanics{top:68px}.scene-title{font-size:18px}.selection-badge{bottom:73px}}
@media(max-width:580px){main{grid-template-columns:minmax(0,1fr)}.left{max-height:220px}.stage{height:620px}.right{grid-column:auto}.mechanics{grid-template-columns:repeat(2,1fr)}.mechanics button{font-size:10px}.selection-badge{font-size:11px}.study-controls{grid-template-columns:1fr 1fr}.study-controls small{grid-column:1/-1}}
.environment-caption{display:block;z-index:4;box-shadow:0 2px 8px #17354d24;font-weight:600}

/* V2.10 · estabilidad, accesibilidad y respuesta en pantallas angostas. */
html,body{max-width:100%;overflow-x:hidden}body{min-width:320px}header>div,main>*,.stage,.left,.right{min-width:0}
#status.loading{background:#e8f3f944;color:#dff4ff}#status.error{background:#a52d304d;color:#ffe2e2;border-color:#ffb9b966}
.scene-state{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:24px;text-align:center;background:#d9e7f0e8;color:#173a61;font-size:14px;font-weight:700;pointer-events:none}.scene-state[hidden]{display:none}.scene-state.error{background:#f7e9e9ed;color:#8a2929}
button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #55bde8;outline-offset:2px}

@media(max-width:850px){
 .modes{left:8px;transform:none;width:calc(100% - 16px);max-width:none;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
 .modes .dock-status{order:initial;width:auto;flex:0 0 auto;align-self:center;white-space:nowrap}
 .environment-caption{left:12px;bottom:72px;max-width:calc(100% - 24px)}
}

@media(max-width:580px){
 header{align-items:flex-start}header .brand{border-right:0;padding-right:0}header>div:nth-child(2){flex:1 1 190px}header #status{margin-left:auto}
 main{padding:7px;gap:8px}.stage{order:1;height:clamp(480px,68svh,620px)}.left{order:2;display:block;max-height:none}.right{order:3}
 .scene-title{left:14px;top:14px;max-width:calc(100% - 28px)}.scene-title small{max-width:260px}
 .modes button,.modes select{min-height:40px}.selection-badge{left:10px;bottom:66px;max-width:calc(100% - 20px)}
 .environment-caption{bottom:66px;font-size:10px}
}

@media(max-width:380px){header h1{font-size:14px}header p{font-size:10px}.equipment-chooser{min-width:126px}.stage{height:500px}}

/* V2.11 · información pública sin alterar el visor ni sus mecánicas. */
.header-help{flex:0 0 auto;padding:8px 12px;border:1px solid #77a8be;border-radius:18px;background:#234e65;color:#fff;font:700 11px Segoe UI,Arial;cursor:pointer}.header-help:hover{background:#2d657e}
.public-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #9fb8c9;border-radius:14px;background:#f7fbfe;color:#173a61;box-shadow:0 18px 60px #0c243966;overflow:auto}.public-dialog::backdrop{background:#102a40a8;backdrop-filter:blur(3px)}.public-dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;background:#f7fbfef2;border-bottom:1px solid #ccd9e3;backdrop-filter:blur(8px)}.public-dialog-head small{font-size:10px;letter-spacing:.9px;color:#46728f;font-weight:800}.public-dialog-head h2{margin:3px 0 0;color:#0876c9;font-size:24px}.public-dialog-head button{width:38px;height:38px;border:1px solid #a9c1d1;border-radius:50%;background:#fff;color:#173a61;font-size:24px;line-height:1;cursor:pointer}.public-dialog section{margin:14px 20px;padding:13px 15px;border:1px solid #cfdee8;border-radius:9px;background:#fff;font-size:13px;line-height:1.55}.public-dialog section h3{margin:0 0 7px;color:#0b71b8;font-size:15px}.public-dialog ul{margin:0;padding-left:20px}.public-dialog li+li{margin-top:5px}.public-dialog p{margin:0}.public-dialog .public-legal{margin-top:8px;color:#5f7585;font-size:11px}.public-dialog footer{padding:2px 20px 20px;color:#60798c;font-size:11px;text-align:center}

@media(max-width:580px){.equipment-chooser{order:3}.header-help{order:4}.header #status,header #status{order:5;margin-left:0}.public-dialog-head{padding:15px}.public-dialog-head h2{font-size:20px}.public-dialog section{margin:10px 14px}}
