/* AGM Bâtiment — Tweaks panel (index only) */
.tw{
  position:fixed; right:16px; bottom:16px; z-index:2000;
  width:300px; max-width:calc(100vw - 32px);
  background:#0f1f44; color:#fff;
  border:1px solid #2a3d6b; border-radius:16px;
  box-shadow:0 30px 70px -25px rgba(0,0,0,.7);
  font-family:"Hanken Grotesk", system-ui, sans-serif;
  overflow:hidden; animation:twIn .28s cubic-bezier(.22,.61,.36,1);
}
.tw[hidden]{ display:none; }
@keyframes twIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }

.tw-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #2a3d6b; cursor:grab;
  background:#0b1838;
}
.tw-head:active{ cursor:grabbing; }
.tw-title{ font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#F5A800; }
.tw-x{ width:30px; height:30px; border-radius:8px; border:1px solid #2a3d6b; background:transparent; color:#fff; display:grid; place-items:center; transition:.2s; }
.tw-x:hover{ background:#2a3d6b; }
.tw-x svg{ width:16px; height:16px; }

.tw-body{ padding:6px 16px 18px; }
.tw-sec{ padding:16px 0; border-top:1px solid rgba(255,255,255,.08); }
.tw-sec:first-child{ border-top:0; }
.tw-label{ font-size:12.5px; font-weight:700; letter-spacing:.04em; color:rgba(255,255,255,.78); margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; }
.tw-readout{ font-weight:700; color:#F5A800; font-size:12.5px; }

/* swatches */
.tw-swatches{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.tw-swatches button{
  display:flex; flex-direction:column; align-items:center; gap:7px;
  padding:11px 6px 9px; border-radius:11px; border:1.5px solid #2a3d6b; background:#0b1838;
  color:rgba(255,255,255,.78); font-size:12px; font-weight:600; font-family:inherit; transition:.18s;
}
.tw-swatches button i{ width:100%; height:26px; border-radius:7px; display:block; }
.tw-swatches button:hover{ border-color:#3d5288; }
.tw-swatches button.active{ border-color:#F5A800; color:#fff; box-shadow:0 0 0 3px rgba(245,168,0,.16); }

/* segmented */
.tw-seg{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; background:#0b1838; padding:5px; border-radius:11px; border:1px solid #2a3d6b; }
.tw-seg button{
  padding:9px 6px; border-radius:8px; border:0; background:transparent;
  color:rgba(255,255,255,.7); font-size:12.5px; font-weight:600; font-family:inherit; transition:.18s; white-space:nowrap;
}
.tw-seg button:hover{ color:#fff; }
.tw-seg button.active{ background:#F5A800; color:#0E1E42; }

/* range */
.tw-range{ -webkit-appearance:none; appearance:none; width:100%; height:5px; border-radius:5px; background:#2a3d6b; outline:none; }
.tw-range::-webkit-slider-thumb{ -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#F5A800; cursor:pointer; border:2px solid #0f1f44; box-shadow:0 2px 6px rgba(0,0,0,.4); }
.tw-range::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:#F5A800; cursor:pointer; border:2px solid #0f1f44; }
.tw-ends{ display:flex; justify-content:space-between; margin-top:9px; font-size:11px; color:rgba(255,255,255,.5); font-weight:500; }
