    /* Color Picker — Custom Styles */

    /* Layout: two-column on desktop */
    .picker-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      align-items: start;
    }

    /* Color preview swatch */
    .color-preview {
      width: 100%;
      aspect-ratio: 1;
      max-height: 220px;
      border-radius: var(--radius-md);
      border: 2px solid var(--color-border);
      background: #3b5bdb;
      transition: background 0.15s ease;
      box-shadow: var(--shadow-md);
    }

    /* Format fields */
    .format-fields {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .format-row {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .format-row label {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--color-text-secondary);
      text-transform: uppercase;
      letter-spacing: 0.06em;
      min-width: 36px;
      flex-shrink: 0;
    }

    .format-row .field-group {
      display: flex;
      align-items: center;
      gap: 6px;
      flex: 1;
    }

    .format-row input[type="text"],
    .format-row input[type="number"] {
      padding: 9px 12px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      font-family: var(--font-mono);
      font-size: 0.85rem;
      color: var(--color-text);
      background: var(--color-surface);
      outline: none;
      transition: border-color var(--transition-fast);
      width: 100%;
      min-width: 0;
    }

    .format-row input:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px var(--color-primary-light);
    }

    .format-row input[type="number"] {
      width: 68px;
      text-align: center;
      -moz-appearance: textfield;
    }

    .format-row input[type="number"]::-webkit-inner-spin-button,
    .format-row input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

    .copy-btn {
      width: 36px;
      height: 36px;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      background: var(--color-bg);
      cursor: pointer;
      color: var(--color-text-muted);
      transition: all var(--transition-fast);
      flex-shrink: 0;
    }

    .copy-btn:hover {
      border-color: var(--color-primary-subtle);
      background: var(--color-primary-light);
      color: var(--color-primary);
    }

    .copy-btn.copied {
      border-color: var(--color-success);
      background: var(--color-success-bg);
      color: var(--color-success);
    }

    .native-color-input {
      width: 36px;
      height: 36px;
      padding: 0;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      cursor: pointer;
      background: transparent;
      flex-shrink: 0;
      overflow: hidden;
    }

    .native-color-input::-webkit-color-swatch-wrapper {
      padding: 2px;
    }

    .native-color-input::-webkit-color-swatch {
      border: none;
      border-radius: 4px;
    }

    .native-color-input::-moz-color-swatch {
      border: none;
      border-radius: 4px;
    }

    /* Section dividers inside workspace */
    .picker-section {
      margin-top: 28px;
      padding-top: 24px;
      border-top: 1px solid var(--color-border-light);
    }

    .picker-section-title {
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--color-text-muted);
      margin-bottom: 16px;
    }

    /* Image eyedropper canvas area */
    .eyedropper-area {
      position: relative;
      border-radius: var(--radius-md);
      overflow: hidden;
      border: 1px solid var(--color-border);
      background: repeating-conic-gradient(#f1f5f9 0% 25%, transparent 0% 50%) 50% / 16px 16px;
    }

    .eyedropper-area canvas {
      display: block;
      width: 100%;
      cursor: crosshair;
    }

    .magnifier {
      position: absolute;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      border: 3px solid #fff;
      box-shadow: 0 2px 12px rgba(0,0,0,0.25), inset 0 0 0 1px rgba(0,0,0,0.1);
      pointer-events: none;
      display: none;
      overflow: hidden;
      z-index: 10;
      image-rendering: pixelated;
    }

    .magnifier canvas {
      width: 100%;
      height: 100%;
      border-radius: 50%;
    }

    .magnifier-crosshair {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .magnifier-crosshair::before,
    .magnifier-crosshair::after {
      content: '';
      position: absolute;
      background: rgba(0,0,0,0.3);
    }

    .magnifier-crosshair::before {
      width: 1px;
      height: 100%;
      left: 50%;
      transform: translateX(-0.5px);
    }

    .magnifier-crosshair::after {
      height: 1px;
      width: 100%;
      top: 50%;
      transform: translateY(-0.5px);
    }

    .picked-color-bar {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 14px;
      background: var(--color-bg);
      border: 1px solid var(--color-border-light);
      border-radius: 0 0 var(--radius-md) var(--radius-md);
      border-top: none;
      font-size: 0.85rem;
      font-family: var(--font-mono);
      color: var(--color-text-secondary);
    }

    .picked-color-dot {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 2px solid var(--color-border);
      flex-shrink: 0;
    }

    /* Palette */
    .palette-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .palette-swatch {
      width: 40px;
      height: 40px;
      border-radius: var(--radius-sm);
      border: 2px solid var(--color-border);
      cursor: pointer;
      transition: all var(--transition-fast);
      position: relative;
    }

    .palette-swatch:hover {
      transform: scale(1.15);
      box-shadow: var(--shadow-md);
      z-index: 2;
    }

    .palette-swatch.active {
      border-color: var(--color-text);
      box-shadow: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-text);
    }

    .palette-actions {
      display: flex;
      gap: 8px;
      margin-top: 12px;
    }

    .palette-empty {
      font-size: 0.85rem;
      color: var(--color-text-muted);
      font-style: italic;
    }

    /* Harmonies */
    .harmony-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 16px;
    }

    .harmony-card {
      padding: 14px;
      background: var(--color-bg);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-sm);
    }

    .harmony-card-title {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--color-text-muted);
      margin-bottom: 10px;
    }

    .harmony-swatches {
      display: flex;
      gap: 6px;
    }

    .harmony-swatch {
      flex: 1;
      height: 36px;
      border-radius: 6px;
      border: 1px solid rgba(0,0,0,0.08);
      cursor: pointer;
      transition: transform var(--transition-fast);
      position: relative;
    }

    .harmony-swatch:hover {
      transform: scale(1.08);
      z-index: 2;
    }

    .harmony-swatch-label {
      position: absolute;
      bottom: -18px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 0.6rem;
      font-family: var(--font-mono);
      color: var(--color-text-muted);
      white-space: nowrap;
    }

    .harmony-swatches-wrapper {
      padding-bottom: 20px;
    }

    /* Toast notification */
    .toast {
      position: fixed;
      bottom: 24px;
      left: 50%;
      transform: translateX(-50%) translateY(80px);
      background: var(--color-text);
      color: #fff;
      padding: 10px 24px;
      border-radius: var(--radius-sm);
      font-size: 0.85rem;
      font-weight: 500;
      z-index: 1000;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      pointer-events: none;
    }

    .toast.visible {
      transform: translateX(-50%) translateY(0);
    }

    /* Responsive */
    @media (max-width: 768px) {
      .picker-layout {
        grid-template-columns: 1fr;
      }

      .color-preview {
        max-height: 160px;
        aspect-ratio: 2;
      }

      .harmony-grid {
        grid-template-columns: 1fr;
      }
    }
