    .canvas-area {
      text-align: center;
      padding: 16px;
      background: repeating-conic-gradient(#e2e8f0 0% 25%, #fff 0% 50%) 50% / 16px 16px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--color-border);
      min-height: 200px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }
    .canvas-area canvas {
      max-width: 100%;
      max-height: 500px;
      cursor: crosshair;
    }
    .mode-bar {
      display: flex;
      gap: 4px;
      background: var(--color-bg);
      padding: 4px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--color-border);
    }
    .mode-btn {
      flex: 1;
      padding: 10px 16px;
      border: none;
      background: transparent;
      border-radius: 6px;
      cursor: pointer;
      font-family: var(--font-body);
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--color-text-secondary);
      transition: all var(--transition-fast);
      white-space: nowrap;
    }
    .mode-btn:hover {
      color: var(--color-text);
      background: var(--color-surface-hover);
    }
    .mode-btn.active {
      background: var(--color-surface);
      color: var(--color-primary);
      box-shadow: var(--shadow-sm);
      font-weight: 600;
    }
    .color-pick-row {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .picked-swatch {
      width: 36px;
      height: 36px;
      border-radius: var(--radius-sm);
      border: 2px solid var(--color-border);
      flex-shrink: 0;
    }
    .picked-label {
      font-family: var(--font-mono);
      font-size: 0.85rem;
      color: var(--color-text-secondary);
    }
    .hint-text {
      font-size: 0.8rem;
      color: var(--color-text-muted);
      margin-top: 8px;
      font-style: italic;
    }
