#room-theme-panel {
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  background: rgba(14,26,21,.88); border: 1px solid rgba(107,231,210,.35);
  border-radius: 14px; padding: 10px 8px 12px; display: none; flex-direction: column;
  align-items: stretch; gap: 5px; z-index: 30; min-width: 144px; max-height: 90vh;
  overflow-y: auto; box-shadow: 0 8px 32px rgba(0,0,0,.65); backdrop-filter: blur(10px); user-select: none;
}
#room-theme-panel.visible { display: flex; }
.rtp-title { font-size: .63rem; font-weight: 700; color: #b3d2c2; text-transform: uppercase; letter-spacing: .1em; text-align: center; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 1px; }
.rtp-section-label { font-size: .58rem; font-weight: 600; color: #6d9c83; text-transform: uppercase; letter-spacing: .08em; padding: 3px 0 1px; }
#rtp-presets { display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; padding: 2px 0; }
.rtp-swatch { width: 22px; height: 22px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; transition: transform .12s, border-color .12s; box-shadow: 0 1px 3px rgba(0,0,0,.5); padding: 0; }
.rtp-swatch:hover { transform: scale(1.2); }
.rtp-swatch.active { border-color: #b3d2c2; transform: scale(1.1); }
.rtp-sep { height: 1px; background: rgba(255,255,255,.07); margin: 2px 0; }
.rtp-color-row { display: flex; align-items: center; gap: 8px; }
.rtp-color-label { font-size: .65rem; color: #94b8a5; min-width: 46px; }
.rtp-color-input { width: 36px; height: 22px; border-radius: 5px; border: 1px solid rgba(255,255,255,.12); cursor: pointer; padding: 1px 2px; background: rgba(255,255,255,.04); }
#rtp-apply { padding: 7px 10px; border-radius: 8px; border: 1px solid rgba(107,231,210,.4); cursor: pointer; font-size: .72rem; font-weight: 600; color: #d0e3d9; background: rgba(107,231,210,.16); transition: background .14s; margin-top: 2px; }
#rtp-apply:hover { background: rgba(107,231,210,.3); }
#rtp-reset { padding: 6px 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,.07); cursor: pointer; font-size: .66rem; color: #6d9c83; background: transparent; transition: color .14s; }
#rtp-reset:hover { color: #94b8a5; }
