/* Mode réglages — chargé partout, styles utiles seulement si html.rg-actif */
html.rg-actif{scroll-behavior:auto}
html.rg-actif.rg-selecting,html.rg-actif.rg-selecting *{cursor:crosshair!important}
html.rg-actif.rg-selecting a{pointer-events:auto}
.rg-halo{outline:2px solid #e8a87c!important;outline-offset:2px;box-shadow:0 0 0 4px rgba(232,168,124,.35)!important}
.rg-hover{outline:2px dashed rgba(232,168,124,.7)!important;outline-offset:2px}

#rg-panneau{
  position:fixed;top:12px;bottom:12px;width:min(360px,92vw);z-index:2147483000;
  background:#1f2d2d;color:#f2ece4;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.45);
  display:flex;flex-direction:column;font:400 13px/1.4 "Nunito Sans",system-ui,sans-serif;
  overflow:hidden;touch-action:none;
}
#rg-panneau.rg-gauche{left:12px;right:auto}
#rg-panneau.rg-droite{right:12px;left:auto}
#rg-panneau.rg-reduit{height:48px;bottom:auto;width:220px}
#rg-panneau.rg-reduit .rg-corps{display:none}
#rg-panneau *{box-sizing:border-box}
.rg-tete{
  display:flex;align-items:center;gap:8px;padding:10px 12px;background:#2e5252;
  cursor:grab;user-select:none;flex-shrink:0;
}
.rg-tete:active{cursor:grabbing}
.rg-tete h1{font:400 15px/1.2 "Ephesis",cursive;margin:0;flex:1;color:#f3d9c2}
.rg-tete button{
  background:transparent;border:1px solid rgba(242,236,228,.35);color:#f2ece4;
  border-radius:4px;padding:4px 8px;font:400 12px/1 system-ui;cursor:pointer;
}
.rg-tete button:hover{background:rgba(255,255,255,.08)}
.rg-corps{flex:1;overflow:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:12px}
.rg-barre{display:flex;flex-wrap:wrap;gap:6px}
.rg-barre button,.rg-bloc button,.rg-actions button{
  background:#395b5b;border:0;color:#f2ece4;border-radius:4px;padding:7px 10px;
  font:500 12px/1.2 system-ui;cursor:pointer;
}
.rg-barre button.rg-on{background:#a88a65;color:#1f2d2d}
.rg-barre button:hover,.rg-bloc button:hover,.rg-actions button:hover{filter:brightness(1.08)}
.rg-cible{background:#2a3c3c;border-radius:6px;padding:8px 10px;min-height:40px}
.rg-cible strong{display:block;font-size:13px;color:#f3d9c2;margin-bottom:2px}
.rg-cible code{font-size:10px;opacity:.7;word-break:break-all}
.rg-bloc{background:#243636;border-radius:6px;padding:10px}
.rg-bloc h2{margin:0 0 8px;font:600 12px/1.2 system-ui;letter-spacing:.04em;text-transform:uppercase;color:#d4bba1}
.rg-grille{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rg-champ{display:flex;flex-direction:column;gap:3px}
.rg-champ.rg-full{grid-column:1/-1}
.rg-champ label{font-size:11px;opacity:.85}
.rg-champ input[type=text],.rg-champ input[type=number],.rg-champ select,.rg-champ textarea{
  width:100%;background:#1a2828;border:1px solid rgba(242,236,228,.2);color:#f2ece4;
  border-radius:4px;padding:6px 8px;font:400 12px/1.3 system-ui;
}
.rg-champ input[type=color]{width:100%;height:30px;padding:0;border:0;background:transparent;cursor:pointer}
.rg-champ input[type=range]{width:100%}
.rg-actions{display:flex;flex-wrap:wrap;gap:6px}
.rg-actions .rg-primaire{background:#a88a65;color:#1f2d2d;font-weight:600}
.rg-aide{font-size:11px;opacity:.75;margin:0}
.rg-export{width:100%;min-height:90px;font:400 11px/1.35 ui-monospace,monospace;resize:vertical}
.rg-palette{display:grid;grid-template-columns:1fr;gap:6px;max-height:320px;overflow:auto}
.rg-swatch{display:grid;grid-template-columns:22px 1fr 70px;gap:6px;align-items:center}
.rg-swatch span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rg-swatch input[type=color]{width:22px;height:22px;padding:0;border:0;background:transparent}
.rg-toast{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2147483001;
  background:#2e5252;color:#f2ece4;padding:10px 16px;border-radius:6px;font:500 13px system-ui;
  box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s;
}
.rg-toast.rg-show{opacity:1}
@media (max-width:700px){
  #rg-panneau{width:min(100vw - 16px,380px);top:8px;bottom:8px}
}

/* Aperçu appareil (tablette / mobile) dans une iframe */
html.rg-apercu-actif{overflow:hidden}
html.rg-apercu-actif body{overflow:hidden}
#rg-apercu{
  position:fixed;inset:0;z-index:2147482000;
  background:#101a1a;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;padding:12px 12px 24px;overflow:auto;
}
#rg-apercu-chrome{
  flex:none;width:100%;max-width:920px;text-align:center;
  color:#d4bba1;font:500 12px/1.3 system-ui;padding:4px 8px 10px;
  pointer-events:none;
}
#rg-apercu iframe{
  flex:none;border:2px solid #395b5b;border-radius:10px;background:#fff;
  box-shadow:0 16px 48px rgba(0,0,0,.55);max-width:100%;
}
.rg-appareils .rg-barre{margin-bottom:4px}
.rg-appareils .rg-barre button{flex:1;min-width:0}
