.cute-bubble {
  position: relative;
  isolation: isolate;
  min-width: var(--cute-min-width, 86px);
  min-height: var(--cute-min-height, 58px);
  margin-top: 2px !important;
  padding: var(--cute-pad-top) var(--cute-pad-right) var(--cute-pad-bottom) var(--cute-pad-left) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.msg .bubble.cute-bubble::after { content: none !important; }
.msg .bubble.cute-bubble::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  aspect-ratio: auto !important;
  box-sizing: border-box;
  border-style: solid;
  border-color: transparent;
  border-width: var(--cute-cap-top) var(--cute-cap-right) var(--cute-cap-bottom) var(--cute-cap-left);
  border-image-source: var(--cute-image);
  border-image-slice: var(--cute-slice) fill;
  border-image-width: var(--cute-cap-top) var(--cute-cap-right) var(--cute-cap-bottom) var(--cute-cap-left);
  border-image-repeat: stretch;
  border-radius: 0;
  background: transparent;
  transform: scaleX(var(--cute-direction, 1));
  transform-origin: center;
  pointer-events: none;
}

.msg .bubble.default-cat-bubble {
  margin-top: 9px !important;
  filter: drop-shadow(0 1px 1px rgba(95, 70, 78, .04));
}

.bubble-skin-panel { display: grid; gap: 14px; }
.bubble-skin-side { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.bubble-skin-side button { height: 40px; border: 1px solid var(--border); border-radius: 9px; background: #f4f0ef; color: var(--muted); font: inherit; }
.bubble-skin-side button.active { border-color: #d5aab4; background: var(--selected); color: var(--text); font-weight: 650; }
.bubble-skin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.bubble-skin-option { min-width: 0; min-height: 92px; display: grid; grid-template-rows: 58px auto; align-items: center; gap: 4px; padding: 6px; border: 1px solid rgba(130,105,112,.16); border-radius: 11px; background: #fff; color: var(--text); font: inherit; font-size: 12px; }
.bubble-skin-option img { display: block; width: 100%; height: 54px; object-fit: contain; }
.bubble-skin-option.active { border: 2px solid #d29aaa; padding: 5px; background: #fff7f9; box-shadow: 0 2px 10px rgba(159,103,119,.14); }
.bubble-skin-default-preview { display: block; width: 100%; height: 54px; object-fit: contain; }
.bubble-skin-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.bubble-skin-note a { color: var(--accent2); }
@media (max-width: 380px) { .bubble-skin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
