.ld-palette-trigger:not(.ld-palette-trigger-hosted),
.ld-palette-dialog button {
  min-width:44px;
  min-height:44px;
  border:1px solid var(--linha-forte);
  border-radius:8px;
  color:var(--txt);
  background:var(--bg-2);
  font:600 14px/1.3 var(--body);
  cursor:pointer;
}
.ld-palette-trigger:not(.ld-palette-trigger-hosted) { padding:12px 16px; letter-spacing:.04em; }
.ld-palette-trigger:not(.ld-palette-trigger-hosted):hover,
.ld-palette-dialog button:hover { border-color:var(--pink); }
.ld-palette-trigger:not(.ld-palette-trigger-hosted):focus-visible,
.ld-palette-dialog button:focus-visible { outline:2px solid var(--pink); outline-offset:3px; }
.ld-palette-overlay[hidden],
.ld-palette-trigger[hidden],
.ld-palette-feedback[hidden] { display:none; }
.ld-palette-overlay {
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:12px 12px max(12px,env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--ink) 75%,transparent);
}
.ld-palette-dialog {
  width:min(100%,420px);
  max-height:calc(100dvh - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:16px;
  border:1px solid var(--linha-forte);
  border-radius:12px;
  background:var(--bg-2);
  color:var(--txt);
  font-family:var(--body);
  box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 70%,transparent);
}
.ld-palette-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ld-palette-title { margin:0; font-size:20px; line-height:1.35; }
.ld-palette-close { padding:8px 12px; flex-shrink:0; }
.ld-palette-hint { margin:12px 0 16px; color:var(--txt-dim); font-size:14px; line-height:1.5; }
.ld-palette-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ld-palette-option { display:flex; flex-direction:column; align-items:stretch; gap:8px; padding:12px; text-align:left; }
.ld-palette-option[aria-pressed="true"] { border-color:var(--pink); box-shadow:inset 0 0 0 1px var(--pink); }
.ld-palette-label { color:var(--txt); font-weight:600; }
.ld-palette-samples { display:flex; height:22px; overflow:hidden; border:1px solid var(--linha-forte); border-radius:4px; }
.ld-palette-sample { flex:1; background:var(--ld-palette-sample); }
.ld-palette-status { min-height:1.5em; margin:12px 0 0; color:var(--txt); font-size:14px; line-height:1.5; }
.ld-palette-backgrounds { margin:8px 0 16px; color:var(--txt-dim); font-size:14px; line-height:1.5; }
.ld-palette-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ld-palette-actions button { flex:1 1 120px; padding:12px 12px; }
.ld-palette-dialog .ld-palette-apply { background:var(--bg-3); border-color:var(--pink); }
@media (prefers-reduced-motion:no-preference) {
  .ld-palette-overlay[data-motion="on"] .ld-palette-dialog { animation:ld-palette-enter 120ms ease-out; }
}
:where(:root[data-movimento="on"]) .ld-palette-overlay[data-motion="on"] .ld-palette-dialog { animation:ld-palette-enter 120ms ease-out; }
@keyframes ld-palette-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
.ld-palette-overlay[data-motion="off"] * { animation:none; transition:none; }
@media (min-width:768px) {
  .ld-palette-overlay { padding-bottom:24px; }
}
.ld-palette-feedback { display:block; margin-top:8px; color:var(--txt-dim); font:14px/1.5 var(--body); }
