diff --git a/static/style.css b/static/style.css index 930f00bd..a158bbc6 100644 --- a/static/style.css +++ b/static/style.css @@ -690,11 +690,19 @@ body.builderBody > main.content{ flex:1 1 auto; min-height:0; overflow:hidden; d .collisionRuleCard:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(0,0,0,.28); } .collisionRuleCardHeader{ display:flex; align-items:center; gap:10px; margin-bottom:12px; } .collisionRuleCardThumb{ - width:40px; height:40px; border-radius:10px; overflow:hidden; background:var(--panel2); + position:relative; width:40px; height:40px; border-radius:10px; overflow:hidden; background:var(--panel2); display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid var(--border); box-shadow:inset 0 0 0 2px rgba(255,255,255,.03); } -.collisionRuleCardThumb img{ max-width:100%; max-height:100%; object-fit:contain; } +/* obj["rendered_html"] (render_scene_object.py) porte un positionnement en + PIXELS ABSOLUS pensé pour le canevas de scène (position:absolute, + left/top/width/height en dur) — réinjecté tel quel ici comme simple + miniature, donc écrasé en !important pour rester DANS le cadre 40×40 + plutôt que de s'échapper à ses coordonnées de scène d'origine. */ +.collisionRuleCardThumb img{ + position:static !important; left:auto !important; top:auto !important; + width:100% !important; height:100% !important; max-width:100%; max-height:100%; object-fit:contain; +} .collisionRuleCardTitle{ margin:0; font-size:15px; font-weight:700; } .collisionRuleCardRules{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }