/* Color Palette Generator — tool-specific styles */
.cp-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.cp-hex { width: 120px; background: var(--bg-soft); border: 1px solid var(--line); color: var(--text); padding: 9px 11px;
  border-radius: var(--radius-sm); font-family: ui-monospace, Menlo, Consolas, monospace; text-transform: uppercase; }
.cp-hex:focus { outline: none; border-color: var(--accent); }
.cp-bar .spacer { flex: 1; }
.cp-h { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted-2); margin: 22px 0 10px; }
.cp-section { display: flex; gap: 0; border-radius: var(--radius-sm); overflow: hidden; height: 96px; }
.cp-row { display: flex; gap: 0; border-radius: var(--radius-sm); overflow: hidden; height: 64px; }
.cp-hgroup { margin-bottom: 16px; }
.cp-hgroup .cp-name { font-size: .82rem; color: var(--muted); margin-bottom: 6px; }
.cp-sw { flex: 1; cursor: pointer; position: relative; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 8px; transition: flex .15s; }
.cp-sw:hover { flex: 1.4; }
.cp-sw span { font-size: .68rem; font-weight: 700; font-family: ui-monospace, monospace; opacity: 0; transition: opacity .15s; padding: 2px 5px; border-radius: 4px; background: rgba(0,0,0,.35); color: #fff; }
.cp-sw:hover span, .cp-section .cp-sw span { opacity: 1; }
.cp-sw.copied span::after { content: " ✓"; }
