/* ============================================================
   Tweaks — floating personalization panel (production impl).
   ============================================================ */
.tw { position: fixed; right: calc(18px + env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 1200; }

.tw-fab {
  width: 46px; height: 46px; border-radius: var(--r-pill);
  border: 1px solid var(--card-bd); cursor: pointer;
  background: linear-gradient(135deg, var(--accent), var(--accent-deep));
  color: #fff; font-size: 18px; line-height: 1;
  box-shadow: var(--shadow-pop);
  transition: transform .2s var(--ease-out);
}
.tw-fab:hover { transform: scale(1.06); }

.tw-panel {
  position: absolute; right: 0; bottom: 58px; width: 300px;
  border-radius: var(--r-lg); padding: 14px 16px;
  background: var(--bg-1); border: 1px solid var(--card-bd);
  box-shadow: var(--shadow-pop); color: var(--ink);
  font-family: var(--font-sans);
}
.tw-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-serif); font-size: 1.15rem; margin-bottom: 6px;
}
.tw-close {
  background: none; border: none; color: var(--ink-faint);
  font-size: 22px; line-height: 1; cursor: pointer;
}
.tw-close:hover { color: var(--ink); }

.tw-section {
  margin: 14px 0 6px; font-size: .72rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-faint);
}
.tw-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 6px 0;
}
.tw-label { font-size: .9rem; color: var(--ink-dim); }

.tw-swatches { display: flex; gap: 7px; }
.tw-swatch {
  width: 24px; height: 24px; border-radius: var(--r-pill);
  border: 2px solid transparent; cursor: pointer; padding: 0;
}
.tw-swatch.on { border-color: var(--ink); }

.tw-seg {
  display: inline-flex; border: 1px solid var(--line);
  border-radius: var(--r-pill); overflow: hidden;
}
.tw-seg-btn {
  background: none; border: none; cursor: pointer;
  color: var(--ink-faint); font-size: .8rem; padding: 5px 10px;
}
.tw-seg-btn.on { background: var(--accent); color: #fff; }

.tw-toggle {
  width: 40px; height: 22px; border-radius: var(--r-pill);
  border: 1px solid var(--line); background: var(--card-2);
  cursor: pointer; position: relative; transition: background .2s var(--ease);
}
.tw-toggle.on { background: var(--accent); }
.tw-toggle-knob {
  position: absolute; top: 2px; left: 2px;
  width: 16px; height: 16px; border-radius: var(--r-pill);
  background: #fff; transition: transform .2s var(--spring);
}
.tw-toggle.on .tw-toggle-knob { transform: translateX(18px); }
